forked from cockroachdb/cockroach
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
90520: clisqlshell: make the input to `\set` more flexible r=rafiss a=knz Fixes cockroachdb#88270. Prior to this change, `\set a = b` would report an error; also `\set a =b` did not work, and it was not possible to add spaces to the prompt with e.g. `\set prompt1 "a b"`. Release note (cli change): The input syntax of `\set` is now more flexible: it is now more accepting of space characters in various positions of the syntax, and it supports quoted values, e.g. via `\set prompt1 "a b c"`. 90767: changefeedccl: Correctly shutdown changefeed r=miretskiy a=miretskiy When one of the aggregators exits with a terminal error, ensure that coordinator notices this and shuts down other aggregators in the flow. Normally, changefeeds run for a very long time. There are few cases when changefeed must exit: for example, an explicit user initiated termination, or perhaps due to explicit user configuration -- such as `schema_change_policy='stop'`. When such explicit events occur, all coordinators will detect the event, and all coordinators will exit -- thus ensuring that the changefeed shuts down appropriately. However, what happens if only 1 coordinator notices an error? Perhaps that coordinator has a localized error condition -- for example, the node is being drained/decomissioned. In those cases, there could be any number of errors generated -- all of which will be propagated up the flow to the changefeed coordinator. Coordinator notices this error, and then proceeds to drain all remaining aggregators. But the remaining aggregators never experienced any errors -- and thus, this drain may take long time. The drain time may be variable -- theoretically, as soon as remaining aggregators attempts to emit anything in the flow, they should notice the error. However, aggregators emit only checkpoint records to the coordinator, and only when their local frontier advances, and only if this advance is slower than some threshold (default 30 seconds, but it is user controlled). Thus it is preferable to shutdown the flow as soon as we know we should This PR fixes the above issue by ensuring that changefeed shuts down correctly, when one of the aggregators exits with a non-retryable error. Informs CRDB-7581 Release Notes (enterprise change): Ensure changefeeds shut down when one of the aggretator nodes returns an error. Co-authored-by: Raphael 'kena' Poss <[email protected]> Co-authored-by: Yevgeniy Miretskiy <[email protected]>
- Loading branch information
Showing
8 changed files
with
412 additions
and
132 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.