Store exception generated when we tried to update the queue last time#26843
Merged
alesapin merged 5 commits intoClickHouse:masterfrom Aug 20, 2021
Merged
Conversation
The use case is to alert when queue contains broken entries. Especially important when ClickHouse breaks backwards compatibility between versions and log entries written by newer versions aren't parseable by old versions. ``` Code: 27, e.displayText() = DB::Exception: Cannot parse input: expected 'quorum: ' before: 'merge_type: 2\n' ```
alesapin
reviewed
Jul 28, 2021
| catch (const Coordination::Exception & e) | ||
| catch (...) | ||
| { | ||
| last_queue_update_exception.set(std::make_unique<String>(getCurrentExceptionMessage(false))); |
Member
There was a problem hiding this comment.
Just leave old logic and copy this line to the catch (...).
| { | ||
| restarting_thread.wakeup(); | ||
| return; | ||
| throw; |
| ReplicatedMergeTreeQueue queue; | ||
| std::atomic<time_t> last_queue_update_start_time{0}; | ||
| std::atomic<time_t> last_queue_update_finish_time{0}; | ||
| MultiVersion<String> last_queue_update_exception; |
Member
There was a problem hiding this comment.
MultiVersion is not intended to be something like std::atomic<AnyClass>. Why not just string with mutex (or even reuse some mutex...) + two methods?
alesapin
approved these changes
Aug 18, 2021
Member
|
@Mergifyio update |
Contributor
|
Command
|
Member
|
@Mergifyio update |
Contributor
|
Command
|
Member
|
Performance failures are not related to changes. |
Contributor
|
Internal documentation ticket: DOCSUP-13565 |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The use case is to alert when queue contains broken entries. Especially
important when ClickHouse breaks backwards compatibility between
versions and log entries written by newer versions aren't parseable by
old versions.
I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Add new column
last_queue_update_exceptiontosystem.replicastable.