-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Remote vtables #4375
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
base: trunk
Are you sure you want to change the base?
Remote vtables #4375
Conversation
c343bb8
to
4029df8
Compare
4ac0487
to
0b20128
Compare
To support recovering a node that has lost some of its local transaction log, introduce rebootstrap and unsafe bootstrap modes, where Accord ensures no responses are produced for transactions the node cannot be certain it had not previously answered. patch by Benedict and Alex Petrov for CASSANDRA-20908
Also Improve: - Searchable system_accord_debug.txn patch by Benedict; reviewed by Aleksey Yeschenko for CASSANDRA-20899
- Integrate txn_blocked_by deadline and depth filter with execution logic, to ensure we terminate promptly and get a best effort reply
…irtual tables from any node in the cluster patch by Benedict; reviewed by Alex Petrov for CASSANDRA-20900
4029df8
to
03d5e79
Compare
/** | ||
* Rebinds matching columns into a new filter; ignores any missing but fails if any are a different type | ||
*/ | ||
public abstract ColumnFilter rebind(TableMetadata newTable); |
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.
Seems like a dangerous feature to generally expose. Could we add an assert that this is for virtual tables only, and add a comment that this is not for general use?
RegularAndStaticColumns fetched = this.queried == this.fetched ? queried : ColumnFilter.rebind(newTable, this.fetched); | ||
SortedSetMultimap<ColumnIdentifier, ColumnSubselection> subSelections = this.subSelections; | ||
if (subSelections != null) | ||
subSelections = TreeMultimap.create(subSelections); |
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.
Could you elaborate, why we need to re-wrap this? I thought this should be effectively immutable.
// we don't add static columns as they can't be modelled correctly with the insertion of a prefix partition column | ||
for (ColumnMetadata cm : local.regularColumns()) | ||
{ | ||
if (!cm.isComplex()) |
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.
Should e maybe throw in case of complex columns? I know we're not using them anywhere, but maybe worth to throw in case we have intention for this to be used elsewhere.
I've also pushed a test; please feel free to remove on commit. |
Thanks for sending a pull request! Here are some tips if you're new here:
Commit messages should follow the following format:
The Cassandra Jira