fix: throw errors instead of ignoring#5792
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
|
Did we discuss the solution carefully, or was it just another attempt? @fengjiachun @evenyag @v0y4g3r |
* fix: throw errors instead of ignoring * fix: fix unit tests * refactor: remove schema version check * fix: fix clippy * chore: remove unused error * refactor: remove schema version check * feat: handle mutliple results * feat: introduce consistency guard * fix: release consistency guard on datanode operation completion * test: add tests * chore: remove schema version * refactor: rename * test: add more tests * chore: print all error * tests: query table after alteration * log ignored request * refine fuzz test * chore: fix clippy and log mailbox message * chore: close prepared statement after execution * chore: add comment * chore: remove log * chore: rename to `ConsistencyPoison` * chore: remove unused error * fix: fix unit tests * chore: apply suggestions from CR
* fix: mysql prepare bool value (#5732) * fix: mysql prepare limit&offset param (#5734) * fix: prepare limit&offset param * test: sqlness * chore: per review * chore: per review * fix: wrap table name with `` (#5748) * fix: wrap table name with quotes * fix: minor fix * fix: handle nullable default value (#5747) * fix: handle nullable default value * chore: update sqlness * fix: properly give placeholder types (#5760) * fix: properly give placeholder types * chore: update sqlness * fix: support __name__ matcher in label values (#5773) * fix: typo variadic (#5800) Signed-off-by: Ruihang Xia <waynestxia@gmail.com> * fix: close issue #3902 since upstream fixed (#5801) Signed-off-by: yihong0618 <zouzou0208@gmail.com> * fix: correct error status code (#5802) * fix: interval cast expression can't work in range query, #5805 (#5813) * fix: interval cast expression can't work in range query, #5805 * fix: nested cast * test: make vector test stable * feat: introduce poison mechanism for procedure (#5822) * feat: introduce poison for procedure * tests: add unit tests * refactor: minor refactor * fix: unit tests * chore: fix unit tests * chore: apply suggestions from CR * chore: apply suggestions from CR * chore: update comments * chore: introduce `ProcedureStatus::Poisoned` * chore: upgrade greptime-proto to `2be0f` * chore: apply suggestions from CR * fix: throw errors instead of ignoring (#5792) * fix: throw errors instead of ignoring * fix: fix unit tests * refactor: remove schema version check * fix: fix clippy * chore: remove unused error * refactor: remove schema version check * feat: handle mutliple results * feat: introduce consistency guard * fix: release consistency guard on datanode operation completion * test: add tests * chore: remove schema version * refactor: rename * test: add more tests * chore: print all error * tests: query table after alteration * log ignored request * refine fuzz test * chore: fix clippy and log mailbox message * chore: close prepared statement after execution * chore: add comment * chore: remove log * chore: rename to `ConsistencyPoison` * chore: remove unused error * fix: fix unit tests * chore: apply suggestions from CR --------- Signed-off-by: Ruihang Xia <waynestxia@gmail.com> Signed-off-by: yihong0618 <zouzou0208@gmail.com> Co-authored-by: discord9 <55937128+discord9@users.noreply.github.com> Co-authored-by: Yohan Wal <profsyb@gmail.com> Co-authored-by: Yingwen <realevenyag@gmail.com> Co-authored-by: Ruihang Xia <waynestxia@gmail.com> Co-authored-by: yihong <zouzou0208@gmail.com> Co-authored-by: dennis zhuang <killme2008@gmail.com>
I hereby agree to the terms of the GreptimeDB CLA.
Refer to a related PR or issue link (optional)
fixes #5796
#5798
What's changed and what's your intention?
This PR addresses issue #5796, which was caused by discrepancies in version handling between the datanode and metasrv. When a user first invokes the
ALTER TABLE ... OPTIONSstatement, the datanode does not increment the schema version, whereas the metasrv does. This results in a version mismatch between the metadata in metasrv and the datanode. During the processing of an alter request, the datanode checks the schema version from metasrv, and if they are inconsistent, it throws an "outdated request" error. However, the previous procedure implementation ignored the schema version mismatch error from the datanode (outdated request), leading to a situation where metasrv assumes the datanode has successfully updated the schema. Consequently, this results in a schema inconsistency between the datanode and metasrv.This PR enhances the alter table procedure by
PR Checklist
Please convert it to a draft if some of the following conditions are not met.