-
Notifications
You must be signed in to change notification settings - Fork 3.9k
CEP-45: Incremental repair for mutation tracking #4696
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: cep-45-mutation-tracking
Are you sure you want to change the base?
Changes from all commits
a249e80
9e750e4
5f51ed1
4aced30
42b465e
30cf06f
92ab440
6d68ef0
3ab3b55
f0f68c3
44a3bd3
3c457fc
17095cd
65996e4
f99c9d5
4774648
d591087
42e23c2
65a366e
886e4bd
2e27603
d42314e
94cf54b
9cf77b9
adf3638
b4b06b3
3f6f640
20c464c
04c49ba
15a98da
b4b931d
8e9a6a7
c2c5f2b
76a6aac
5ac9e2f
4ab0f2b
c787044
3331b66
0d18d4b
2ebab7e
294c024
aa78ecf
46ab151
04d75e7
069a449
0739dce
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -63,6 +63,7 @@ | |
| import org.apache.cassandra.notifications.TablePreScrubNotification; | ||
| import org.apache.cassandra.notifications.TruncationNotification; | ||
| import org.apache.cassandra.replication.ImmutableCoordinatorLogOffsets; | ||
| import org.apache.cassandra.tcm.ClusterMetadata; | ||
| import org.apache.cassandra.utils.Pair; | ||
| import org.apache.cassandra.utils.Throwables; | ||
| import org.apache.cassandra.utils.TimeUUID; | ||
|
|
@@ -272,7 +273,10 @@ public void updateInitialSSTableSize(Iterable<SSTableReader> sstables) | |
|
|
||
| public void addSSTables(Collection<SSTableReader> sstables) | ||
| { | ||
| Preconditions.checkState(!cfstore.metadata().replicationType().isTracked()); | ||
| // Tracked tables may legitimately use this path during migration from untracked to tracked, | ||
| // when incremental repair streams SSTables that were written before tracking was enabled. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Does this mean that during migration to tracked, we'd expect these SSTables to have no coordinator log offsets then? Is that worth asserting?
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It shouldn't matter for imports, since the keyspace being currently tracked means we'll avoid this method.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No we will actually hit this method during migration. The sstables might actually have offsets in them since tracked writes have already started and the incremental repair starts after. |
||
| Preconditions.checkState(!cfstore.metadata().replicationType().isTracked() | ||
| || ClusterMetadata.current().mutationTrackingMigrationState.isMigrating(cfstore.metadata().keyspace)); | ||
| addSSTablesInternal(sstables, false, true, true); | ||
| } | ||
|
|
||
|
|
||
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.
nit: I guess the other option would be something like a
handlesReadRepair()method that onlyReadRepairVerbHandleroverrides, but it's literally calledReadRepairVerbHandler, and we probably won't have something else handle RR mutations.In any case, I'm remembering blocking RR is going to be reworked for migration anyway, so ignore me :D