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.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CNDB-12425: A few reproduction tests and a preliminary patch, WIP #1529
base: main
Are you sure you want to change the base?
CNDB-12425: A few reproduction tests and a preliminary patch, WIP #1529
Changes from 1 commit
15aa4a3
3bd67f7
3e5d0ba
273b51f
8d18cb1
5ed5baf
a54967a
a086490
66331ce
6202b6d
8c95eb6
9dbd6ae
5abaa29
e2ea9dc
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have to think about it more thoroughly, but this looks like a good place to place the client warnings that are currently thrown on the replica side. We might have a warning message per index-building replica, so clients can know what nodes are still initializing their indexes and are going to use filtering.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added:
which led to multiple warnings for the same node in tests.
I decided to just bring on single node C* and try single query on index build:
cqlsh:k> CREATE CUSTOM INDEX ON t(k) USING 'StorageAttachedIndex';
cqlsh:k> SELECT * FROM t WHERE k=200 ALLOW FILTERING;
I have to dig into this tomorrow.... no more energy today
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suspect that's because of virtual nodes, with 16 tokens per node. Rather than throwing the client warning immediately, the endpoints can be collected in a set:
and then throw a single warning after the loop with the unique addresses. For example:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was wondering whether
fell back to ALLOW FILTERING
will be clear enough for users, considering that they have just writtenALLOW FILTERING
in the query and, strictly,ALLOW FILTERING
is a permission to filter and not the action of filtering. Perhaps the message would be a bit clearer this way:Feel free to ignore if you don't agree; I'm just giving ideas.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is long and ugly, but covers all cases. I will refactor it soon. It wasn't a priority for now