Small simplification of MergeTreeDataWriter#17943
Merged
Conversation
alesapin
commented
Dec 15, 2020
akuzm
reviewed
Dec 15, 2020
| using SerializationState = IDataType::SerializeBinaryBulkStatePtr; | ||
| using SerializationStates = std::unordered_map<String, SerializationState>; | ||
| /// Count index_granularity for block and store in `index_granularity` | ||
| size_t computeIndexGranularity(const Block & block) const; |
Contributor
There was a problem hiding this comment.
By the way, index granularity was somewhat confusing to me now that we have secondary indexes. Maybe order_by_granularity or something would be better...
Member
Author
There was a problem hiding this comment.
Actually, order_by_granularity is more confusing because of not all columns from ORDER BY expression stored in primary.idx on disk. Secondary indices granularity calculated in primary index granules. I agree that these interchangeable words like mark, granule, granularity, rows in mark, index granularity and so on are very confusing at first glance.
Member
Author
Known error. |
azat
added a commit
to azat/ClickHouse
that referenced
this pull request
Jan 5, 2021
In ClickHouse#17120 (that was reverted in ClickHouse#17918 already) marks adjustemnt was introduced, but it may lead to corruption of marks files, that may cause two things: 1) Incorrect marks files, which lead to reading more rows than there are (can be reproduced with `max_threads`>1 or/and `PREWHERE`, and `optimize_move_to_prewhere`) 2) Can't adjust last granule because it has X rows, but try to subtract Y rows (ClickHouse#9260) And 1) is pretty hard to diagnosis, since it does not throw any error, it just may return wrong result. Fortunately both problems can be fixed with `OPTIMIZE TABLE ... [ FINAL]`. Cc: @alesapin Refs: ClickHouse#17943 Refs: ClickHouse#18223
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.
I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en
Changelog category (leave one):