This is an automated email from the ASF dual-hosted git repository. ifesdjeen pushed a commit to branch cep-15-accord in repository https://gitbox.apache.org/repos/asf/cassandra.git
commit 38497568688c5e2a16b03127619aea07dd071196 Author: Alex Petrov <[email protected]> AuthorDate: Tue Nov 26 15:26:54 2024 +0100 Implement field saving/loading in AccordJournal Patch by Alex Petrov; reviewed by Benedict Elliott Smith for CASSANDRA-20114 --- modules/accord | 2 +- .../service/accord/AccordCommandStore.java | 4 +- .../cassandra/service/accord/AccordJournal.java | 4 +- .../accord/AccordJournalValueSerializers.java | 45 +++++---- .../service/accord/AccordSafeCommandStore.java | 110 +++------------------ .../serializers/CommandStoreSerializers.java | 7 +- .../accord/AccordJournalCompactionTest.java | 4 +- .../compaction/CompactionAccordIteratorsTest.java | 6 +- .../cassandra/service/accord/AccordTestUtils.java | 8 +- .../accord/SimulatedAccordCommandStore.java | 2 +- .../service/accord/SimulatedDepsTest.java | 4 +- .../accord/SimulatedMultiKeyAndRangeTest.java | 2 +- .../SimulatedRandomKeysWithRangeConflictTest.java | 2 +- .../apache/cassandra/utils/AccordGenerators.java | 4 +- 14 files changed, 61 insertions(+), 143 deletions(-) diff --git a/modules/accord b/modules/accord index 1401e93490..5785d86dda 160000 --- a/modules/accord +++ b/modules/accord @@ -1 +1 @@ -Subproject commit 1401e93490de57c65a12020d85830fbba8ef8c26 +Subproject commit 5785d86ddad62932e21eb427deede09c77352213 diff --git a/src/java/org/apache/cassandra/service/accord/AccordCommandStore.java b/src/java/org/apache/cassandra/service/accord/AccordCommandStore.java index 0fbfea91c0..58a7af0f7a 100644 --- a/src/java/org/apache/cassandra/service/accord/AccordCommandStore.java +++ b/src/java/org/apache/cassandra/service/accord/AccordCommandStore.java @@ -611,9 +611,9 @@ public class AccordCommandStore extends CommandStore unsafeSetSafeToRead(safeToRead); } - void loadRangesForEpoch(CommandStores.RangesForEpoch.Snapshot rangesForEpoch) + void loadRangesForEpoch(CommandStores.RangesForEpoch rangesForEpoch) { if (rangesForEpoch != null) - unsafeSetRangesForEpoch(new CommandStores.RangesForEpoch(rangesForEpoch.epochs, rangesForEpoch.ranges, this)); + unsafeSetRangesForEpoch(rangesForEpoch); } } diff --git a/src/java/org/apache/cassandra/service/accord/AccordJournal.java b/src/java/org/apache/cassandra/service/accord/AccordJournal.java index 331ad04ab3..6e2e57fc40 100644 --- a/src/java/org/apache/cassandra/service/accord/AccordJournal.java +++ b/src/java/org/apache/cassandra/service/accord/AccordJournal.java @@ -241,9 +241,9 @@ public class AccordJournal implements IJournal, Shutdownable } @Override - public CommandStores.RangesForEpoch.Snapshot loadRangesForEpoch(int store) + public CommandStores.RangesForEpoch loadRangesForEpoch(int store) { - IdentityAccumulator<RangesForEpoch.Snapshot> accumulator = readAll(new JournalKey(TxnId.NONE, JournalKey.Type.RANGES_FOR_EPOCH, store)); + IdentityAccumulator<RangesForEpoch> accumulator = readAll(new JournalKey(TxnId.NONE, JournalKey.Type.RANGES_FOR_EPOCH, store)); return accumulator.get(); } diff --git a/src/java/org/apache/cassandra/service/accord/AccordJournalValueSerializers.java b/src/java/org/apache/cassandra/service/accord/AccordJournalValueSerializers.java index 54af375f17..ad8d2594dd 100644 --- a/src/java/org/apache/cassandra/service/accord/AccordJournalValueSerializers.java +++ b/src/java/org/apache/cassandra/service/accord/AccordJournalValueSerializers.java @@ -28,6 +28,7 @@ import accord.local.RedundantBefore; import accord.primitives.Ranges; import accord.primitives.Timestamp; import accord.primitives.TxnId; +import accord.utils.Invariants; import org.apache.cassandra.io.util.DataInputPlus; import org.apache.cassandra.io.util.DataOutputPlus; import org.apache.cassandra.net.MessagingService; @@ -280,44 +281,50 @@ public class AccordJournalValueSerializers } public static class RangesForEpochSerializer - implements FlyweightSerializer<RangesForEpoch.Snapshot, IdentityAccumulator<RangesForEpoch.Snapshot>> + implements FlyweightSerializer<RangesForEpoch, IdentityAccumulator<RangesForEpoch>> { - public IdentityAccumulator<RangesForEpoch.Snapshot> mergerFor(JournalKey key) + public IdentityAccumulator<RangesForEpoch> mergerFor(JournalKey key) { return new IdentityAccumulator<>(null); } @Override - public void serialize(JournalKey key, RangesForEpoch.Snapshot from, DataOutputPlus out, int userVersion) throws IOException + public void serialize(JournalKey key, RangesForEpoch from, DataOutputPlus out, int userVersion) throws IOException { - out.writeUnsignedVInt32(from.ranges.length); - for (Ranges ranges : from.ranges) - KeySerializers.ranges.serialize(ranges, out, messagingVersion); - - out.writeUnsignedVInt32(from.epochs.length); - for (long epoch : from.epochs) - out.writeLong(epoch); + out.writeUnsignedVInt32(from.size()); + from.forEach((epoch, ranges) -> { + try + { + out.writeLong(epoch); + KeySerializers.ranges.serialize(ranges, out, messagingVersion); + } + catch (Throwable t) + { + throw new IllegalStateException("Serialization error", t); + } + }); } @Override - public void reserialize(JournalKey key, IdentityAccumulator<RangesForEpoch.Snapshot> from, DataOutputPlus out, int userVersion) throws IOException + public void reserialize(JournalKey key, IdentityAccumulator<RangesForEpoch> from, DataOutputPlus out, int userVersion) throws IOException { serialize(key, from.get(), out, messagingVersion); } @Override - public void deserialize(JournalKey key, IdentityAccumulator<RangesForEpoch.Snapshot> into, DataInputPlus in, int userVersion) throws IOException + public void deserialize(JournalKey key, IdentityAccumulator<RangesForEpoch> into, DataInputPlus in, int userVersion) throws IOException { - Ranges[] ranges = new Ranges[in.readUnsignedVInt32()]; + int size = in.readUnsignedVInt32(); + Ranges[] ranges = new Ranges[size]; + long[] epochs = new long[size]; for (int i = 0; i < ranges.length; i++) + { ranges[i] = KeySerializers.ranges.deserialize(in, messagingVersion); - - long[] epochs = new long[in.readUnsignedVInt32()]; - for (int i = 0; i < epochs.length; i++) - epochs[i] = in.readLong(); // TODO: assert lengths equal? - - into.update(new RangesForEpoch.Snapshot(epochs, ranges)); + epochs[i] = in.readLong(); + } + Invariants.checkState(ranges.length == epochs.length); + into.update(new RangesForEpoch(epochs, ranges)); } } } \ No newline at end of file diff --git a/src/java/org/apache/cassandra/service/accord/AccordSafeCommandStore.java b/src/java/org/apache/cassandra/service/accord/AccordSafeCommandStore.java index c33279e925..a05a3c7929 100644 --- a/src/java/org/apache/cassandra/service/accord/AccordSafeCommandStore.java +++ b/src/java/org/apache/cassandra/service/accord/AccordSafeCommandStore.java @@ -20,7 +20,6 @@ package org.apache.cassandra.service.accord; import java.util.Collections; import java.util.Map; -import java.util.NavigableMap; import java.util.Set; import java.util.function.BiFunction; import javax.annotation.Nullable; @@ -34,12 +33,9 @@ import accord.api.RoutingKey; import accord.impl.AbstractSafeCommandStore; import accord.impl.CommandsSummary; import accord.local.CommandStores; -import accord.local.CommandStores.RangesForEpoch; import accord.local.NodeCommandStoreService; -import accord.local.RedundantBefore; import accord.local.cfk.CommandsForKey; import accord.primitives.AbstractKeys; -import accord.primitives.Ranges; import accord.primitives.Routables; import accord.primitives.Timestamp; import accord.primitives.Txn; @@ -48,7 +44,6 @@ import accord.primitives.Unseekables; import accord.utils.Invariants; import org.apache.cassandra.service.accord.AccordCommandStore.ExclusiveCaches; -import static accord.api.Journal.*; import static accord.utils.Invariants.illegalState; public class AccordSafeCommandStore extends AbstractSafeCommandStore<AccordSafeCommand, AccordSafeTimestampsForKey, AccordSafeCommandsForKey, AccordCommandStore.ExclusiveCaches> @@ -56,20 +51,26 @@ public class AccordSafeCommandStore extends AbstractSafeCommandStore<AccordSafeC final AccordTask<?> task; private final @Nullable CommandsForRanges commandsForRanges; private final AccordCommandStore commandStore; - private RangesForEpoch ranges; - private FieldUpdates fieldUpdates; private AccordSafeCommandStore(AccordTask<?> task, @Nullable CommandsForRanges commandsForRanges, AccordCommandStore commandStore) { - super(task.preLoadContext()); + super(task.preLoadContext(), commandStore); this.task = task; this.commandsForRanges = commandsForRanges; this.commandStore = commandStore; commandStore.updateRangesForEpoch(this); - if (this.ranges == null) - this.ranges = Invariants.nonNull(commandStore.unsafeRangesForEpoch()); + } + + @Override + public CommandStores.RangesForEpoch ranges() + { + CommandStores.RangesForEpoch ranges = super.ranges(); + if (ranges != null) + return ranges; + + return commandStore.unsafeGetRangesForEpoch(); } public static AccordSafeCommandStore create(AccordTask<?> operation, @@ -196,12 +197,6 @@ public class AccordSafeCommandStore extends AbstractSafeCommandStore<AccordSafeC return commandStore.node(); } - @Override - public RangesForEpoch ranges() - { - return ranges; - } - private <O> O mapReduce(Routables<?> keysOrRanges, BiFunction<CommandsSummary, O, O> map, O accumulate) { Invariants.checkState(context.keys().containsAll(keysOrRanges), "Attempted to access keysOrRanges outside of what was asked for; asked for %s, accessed %s", context.keys(), keysOrRanges); @@ -278,87 +273,4 @@ public class AccordSafeCommandStore extends AbstractSafeCommandStore<AccordSafeC { return "AccordSafeCommandStore(id=" + commandStore().id() + ")"; } - - @Override - public void upsertRedundantBefore(RedundantBefore addRedundantBefore) - { - // TODO (required): this is a temporary measure, see comment on AccordJournalValueSerializers; upsert instead - // when modifying, only modify together with AccordJournalValueSerializers - ensureFieldUpdates().newRedundantBefore = RedundantBefore.merge(redundantBefore(), addRedundantBefore); - } - - @Override - public void setBootstrapBeganAt(NavigableMap<TxnId, Ranges> newBootstrapBeganAt) - { - ensureFieldUpdates().newBootstrapBeganAt = newBootstrapBeganAt; - } - - @Override - public void setSafeToRead(NavigableMap<Timestamp, Ranges> newSafeToRead) - { - ensureFieldUpdates().newSafeToRead = newSafeToRead; - } - - @Override - public void setRangesForEpoch(CommandStores.RangesForEpoch rangesForEpoch) - { - ensureFieldUpdates().newRangesForEpoch = rangesForEpoch.snapshot(); - ranges = rangesForEpoch; - } - - @Override - public NavigableMap<TxnId, Ranges> bootstrapBeganAt() - { - if (fieldUpdates != null && fieldUpdates.newBootstrapBeganAt != null) - return fieldUpdates.newBootstrapBeganAt; - - return super.bootstrapBeganAt(); - } - - @Override - public NavigableMap<Timestamp, Ranges> safeToReadAt() - { - if (fieldUpdates != null && fieldUpdates.newSafeToRead != null) - return fieldUpdates.newSafeToRead; - - return super.safeToReadAt(); - } - - @Override - public RedundantBefore redundantBefore() - { - if (fieldUpdates != null && fieldUpdates.newRedundantBefore != null) - return fieldUpdates.newRedundantBefore; - - return super.redundantBefore(); - } - - private FieldUpdates ensureFieldUpdates() - { - if (fieldUpdates == null) fieldUpdates = new FieldUpdates(); - return fieldUpdates; - } - - public FieldUpdates fieldUpdates() - { - return fieldUpdates; - } - - public void postExecute() - { - if (fieldUpdates == null) - return; - - if (fieldUpdates.newRedundantBefore != null) - super.unsafeSetRedundantBefore(fieldUpdates.newRedundantBefore); - - if (fieldUpdates.newBootstrapBeganAt != null) - super.setBootstrapBeganAt(fieldUpdates.newBootstrapBeganAt); - - if (fieldUpdates.newSafeToRead != null) - super.setSafeToRead(fieldUpdates.newSafeToRead); - - if (fieldUpdates.newRangesForEpoch != null) - super.setRangesForEpoch(ranges); - } } \ No newline at end of file diff --git a/src/java/org/apache/cassandra/service/accord/serializers/CommandStoreSerializers.java b/src/java/org/apache/cassandra/service/accord/serializers/CommandStoreSerializers.java index 4e40531033..10433feaf4 100644 --- a/src/java/org/apache/cassandra/service/accord/serializers/CommandStoreSerializers.java +++ b/src/java/org/apache/cassandra/service/accord/serializers/CommandStoreSerializers.java @@ -38,7 +38,6 @@ import org.apache.cassandra.db.TypeSizes; import org.apache.cassandra.io.IVersionedSerializer; import org.apache.cassandra.io.util.DataInputPlus; import org.apache.cassandra.io.util.DataOutputPlus; -import org.apache.cassandra.service.accord.TokenRange; import org.apache.cassandra.utils.CollectionSerializers; import org.apache.cassandra.utils.NullableSerializer; @@ -138,7 +137,7 @@ public class CommandStoreSerializers @Override public void serialize(RedundantBefore.Entry t, DataOutputPlus out, int version) throws IOException { - TokenRange.serializer.serialize((TokenRange) t.range, out, version); + KeySerializers.range.serialize(t.range, out, version); Invariants.checkState(t.startOwnershipEpoch <= t.endOwnershipEpoch); out.writeUnsignedVInt(t.startOwnershipEpoch); if (t.endOwnershipEpoch == Long.MAX_VALUE) out.writeUnsignedVInt(0L); @@ -156,7 +155,7 @@ public class CommandStoreSerializers @Override public RedundantBefore.Entry deserialize(DataInputPlus in, int version) throws IOException { - Range range = TokenRange.serializer.deserialize(in, version); + Range range = KeySerializers.range.deserialize(in, version); long startEpoch = in.readUnsignedVInt(); long endEpoch = in.readUnsignedVInt(); if (endEpoch == 0) endEpoch = Long.MAX_VALUE; @@ -175,7 +174,7 @@ public class CommandStoreSerializers @Override public long serializedSize(RedundantBefore.Entry t, int version) { - long size = TokenRange.serializer.serializedSize((TokenRange) t.range, version); + long size = KeySerializers.range.serializedSize(t.range, version); size += TypeSizes.sizeofUnsignedVInt(t.startOwnershipEpoch); size += TypeSizes.sizeofUnsignedVInt(t.endOwnershipEpoch == Long.MAX_VALUE ? 0 : 1 + t.endOwnershipEpoch - t.startOwnershipEpoch); size += CommandSerializers.txnId.serializedSize(t.locallyWitnessedOrInvalidatedBefore, version); diff --git a/test/distributed/org/apache/cassandra/service/accord/AccordJournalCompactionTest.java b/test/distributed/org/apache/cassandra/service/accord/AccordJournalCompactionTest.java index 1a790eece5..647ba1c814 100644 --- a/test/distributed/org/apache/cassandra/service/accord/AccordJournalCompactionTest.java +++ b/test/distributed/org/apache/cassandra/service/accord/AccordJournalCompactionTest.java @@ -90,12 +90,12 @@ public class AccordJournalCompactionTest DurableBeforeAccumulator durableBeforeAccumulator = new DurableBeforeAccumulator(); NavigableMap<Timestamp, Ranges> safeToReadAtAccumulator = ImmutableSortedMap.of(Timestamp.NONE, Ranges.EMPTY); NavigableMap<TxnId, Ranges> bootstrapBeganAtAccumulator = ImmutableSortedMap.of(TxnId.NONE, Ranges.EMPTY); - RangesForEpoch.Snapshot rangesForEpochAccumulator = null; + RangesForEpoch rangesForEpochAccumulator = null; Gen<RedundantBefore> redundantBeforeGen = AccordGenerators.redundantBefore(DatabaseDescriptor.getPartitioner()); Gen<DurableBefore> durableBeforeGen = AccordGenerators.durableBeforeGen(DatabaseDescriptor.getPartitioner()); Gen<NavigableMap<Timestamp, Ranges>> safeToReadGen = AccordGenerators.safeToReadGen(DatabaseDescriptor.getPartitioner()); - Gen<RangesForEpoch.Snapshot> rangesForEpochGen = AccordGenerators.rangesForEpoch(DatabaseDescriptor.getPartitioner()); + Gen<RangesForEpoch> rangesForEpochGen = AccordGenerators.rangesForEpoch(DatabaseDescriptor.getPartitioner()); Gen<Range> rangeGen = AccordGenerators.range(DatabaseDescriptor.getPartitioner()); Gen<Deps> historicalTransactionsGen = depsGen(); diff --git a/test/unit/org/apache/cassandra/db/compaction/CompactionAccordIteratorsTest.java b/test/unit/org/apache/cassandra/db/compaction/CompactionAccordIteratorsTest.java index fbcfee12f3..b6ecc52140 100644 --- a/test/unit/org/apache/cassandra/db/compaction/CompactionAccordIteratorsTest.java +++ b/test/unit/org/apache/cassandra/db/compaction/CompactionAccordIteratorsTest.java @@ -440,7 +440,7 @@ public class CompactionAccordIteratorsTest if (durableBefore != null) durableBefores.put(commandStore.id(), durableBefore); Int2ObjectHashMap<CommandStores.RangesForEpoch> rangesForEpochs = new Int2ObjectHashMap<>(); - rangesForEpochs.put(commandStore.id(), commandStore.unsafeRangesForEpoch()); + rangesForEpochs.put(commandStore.id(), commandStore.unsafeGetRangesForEpoch()); when(mockAccordService.getCompactionInfo()).thenReturn(new IAccordService.CompactionInfo(redundantBefores, rangesForEpochs, durableBefores)); return mockAccordService; } @@ -491,8 +491,8 @@ public class CompactionAccordIteratorsTest { Txn txn = txnId.kind().isWrite() ? writeTxn : readTxn; PartialDeps partialDeps = Deps.NONE.intersecting(AccordTestUtils.fullRange(txn)); - PartialTxn partialTxn = txn.slice(commandStore.unsafeRangesForEpoch().currentRanges(), true); - Route<?> partialRoute = route.slice(commandStore.unsafeRangesForEpoch().currentRanges()); + PartialTxn partialTxn = txn.slice(commandStore.unsafeGetRangesForEpoch().currentRanges(), true); + Route<?> partialRoute = route.slice(commandStore.unsafeGetRangesForEpoch().currentRanges()); getUninterruptibly(commandStore.execute(contextFor(txnId, route, SYNC), safe -> { CheckedCommands.preaccept(safe, txnId, partialTxn, route, appendDiffToKeyspace(commandStore)); }).beginAsResult()); diff --git a/test/unit/org/apache/cassandra/service/accord/AccordTestUtils.java b/test/unit/org/apache/cassandra/service/accord/AccordTestUtils.java index c3ac81e1a9..2a10715c8b 100644 --- a/test/unit/org/apache/cassandra/service/accord/AccordTestUtils.java +++ b/test/unit/org/apache/cassandra/service/accord/AccordTestUtils.java @@ -350,9 +350,9 @@ public class AccordTestUtils this.ranges = ranges; } - private void set(CommandStore store) + private void set() { - add(1, new CommandStores.RangesForEpoch(1, ranges, store), ranges); + add(1, new CommandStores.RangesForEpoch(1, ranges), ranges); } } @@ -378,7 +378,7 @@ public class AccordTestUtils SingleEpochRanges holder = new SingleEpochRanges(Ranges.of(range)); InMemoryCommandStore.Synchronized result = new InMemoryCommandStore.Synchronized(0, time, new AccordAgent(), null, null, cs -> null, holder); - holder.set(result); + holder.set(); return result; } @@ -421,7 +421,7 @@ public class AccordTestUtils cs -> new NoOpProgressLog(), cs -> new DefaultLocalListeners(new NoOpRemoteListeners(), new NoOpNotifySink()), holder, journal, executor); - holder.set(result); + holder.set(); result.unsafeUpdateRangesForEpoch(); return result; } diff --git a/test/unit/org/apache/cassandra/service/accord/SimulatedAccordCommandStore.java b/test/unit/org/apache/cassandra/service/accord/SimulatedAccordCommandStore.java index 5c5285f1d0..fe82e3b009 100644 --- a/test/unit/org/apache/cassandra/service/accord/SimulatedAccordCommandStore.java +++ b/test/unit/org/apache/cassandra/service/accord/SimulatedAccordCommandStore.java @@ -220,7 +220,7 @@ public class SimulatedAccordCommandStore implements AutoCloseable }); this.topology = AccordTopology.createAccordTopology(ClusterMetadata.current()); this.topologies = new Topologies.Single(SizeOfIntersectionSorter.SUPPLIER, topology); - var rangesForEpoch = new CommandStores.RangesForEpoch(topology.epoch(), topology.ranges(), commandStore); + CommandStores.RangesForEpoch rangesForEpoch = new CommandStores.RangesForEpoch(topology.epoch(), topology.ranges()); updateHolder.add(topology.epoch(), rangesForEpoch, topology.ranges()); updateHolder.updateGlobal(topology.ranges()); commandStore.unsafeUpdateRangesForEpoch(); diff --git a/test/unit/org/apache/cassandra/service/accord/SimulatedDepsTest.java b/test/unit/org/apache/cassandra/service/accord/SimulatedDepsTest.java index 770af5b314..5de604aff9 100644 --- a/test/unit/org/apache/cassandra/service/accord/SimulatedDepsTest.java +++ b/test/unit/org/apache/cassandra/service/accord/SimulatedDepsTest.java @@ -186,7 +186,7 @@ public class SimulatedDepsTest extends SimulatedAccordCommandStoreTestBase FullRangeRoute rangeRoute = ranges.toRoute(pk.toUnseekable()); Txn rangeTxn = createTxn(Txn.Kind.ExclusiveSyncPoint, ranges); - DepsModel model = new DepsModel(instance.commandStore.unsafeRangesForEpoch().currentRanges()); + DepsModel model = new DepsModel(instance.commandStore.unsafeGetRangesForEpoch().currentRanges()); for (int i = 0; i < numSamples; i++) { instance.maybeCacheEvict(keyRoute, ranges); @@ -258,7 +258,7 @@ public class SimulatedDepsTest extends SimulatedAccordCommandStoreTestBase Range left = tokenRange(tbl.id, token - 10, token + 5); Range right = tokenRange(tbl.id, token - 5, token + 10); - DepsModel model = new DepsModel(instance.commandStore.unsafeRangesForEpoch().currentRanges()); + DepsModel model = new DepsModel(instance.commandStore.unsafeGetRangesForEpoch().currentRanges()); for (int i = 0; i < numSamples; i++) { Ranges partialRange = Ranges.of(rs.nextBoolean() ? left : right); diff --git a/test/unit/org/apache/cassandra/service/accord/SimulatedMultiKeyAndRangeTest.java b/test/unit/org/apache/cassandra/service/accord/SimulatedMultiKeyAndRangeTest.java index cf09d8eab8..485f7d98b9 100644 --- a/test/unit/org/apache/cassandra/service/accord/SimulatedMultiKeyAndRangeTest.java +++ b/test/unit/org/apache/cassandra/service/accord/SimulatedMultiKeyAndRangeTest.java @@ -71,7 +71,7 @@ public class SimulatedMultiKeyAndRangeTest extends SimulatedAccordCommandStoreTe Gen.IntGen keyCountGen = keyDistribution.next(rs); Gen.IntGen rangeCountGen = rangeDistribution.next(rs); - DepsModel model = new DepsModel(instance.commandStore.unsafeRangesForEpoch().currentRanges()); + DepsModel model = new DepsModel(instance.commandStore.unsafeGetRangesForEpoch().currentRanges()); for (int i = 0; i < numSamples; i++) { diff --git a/test/unit/org/apache/cassandra/service/accord/SimulatedRandomKeysWithRangeConflictTest.java b/test/unit/org/apache/cassandra/service/accord/SimulatedRandomKeysWithRangeConflictTest.java index 68a2b3cef3..d91b0fe013 100644 --- a/test/unit/org/apache/cassandra/service/accord/SimulatedRandomKeysWithRangeConflictTest.java +++ b/test/unit/org/apache/cassandra/service/accord/SimulatedRandomKeysWithRangeConflictTest.java @@ -88,7 +88,7 @@ public class SimulatedRandomKeysWithRangeConflictTest extends SimulatedAccordCom AccordKeyspace.unsafeClear(); this.instance = new SimulatedAccordCommandStore(rs); this.instance.commandStore.executor().cacheUnsafe().setShrinkingOn(false); - this.model = new DepsModel(instance.commandStore.unsafeRangesForEpoch().currentRanges()); + this.model = new DepsModel(instance.commandStore.unsafeGetRangesForEpoch().currentRanges()); } @Override diff --git a/test/unit/org/apache/cassandra/utils/AccordGenerators.java b/test/unit/org/apache/cassandra/utils/AccordGenerators.java index e4e08ac180..93ad3b9232 100644 --- a/test/unit/org/apache/cassandra/utils/AccordGenerators.java +++ b/test/unit/org/apache/cassandra/utils/AccordGenerators.java @@ -517,7 +517,7 @@ public class AccordGenerators }; } - public static Gen<RangesForEpoch.Snapshot> rangesForEpoch(IPartitioner partitioner) + public static Gen<RangesForEpoch> rangesForEpoch(IPartitioner partitioner) { Gen<Ranges> rangesGen = ranges(partitioner); @@ -529,7 +529,7 @@ public class AccordGenerators Ranges[] ranges = new Ranges[size]; for (int i = 0; i < size; i++) ranges[i] = rangesGen.next(rs); - return new RangesForEpoch.Snapshot(epochs, ranges); + return new RangesForEpoch(epochs, ranges); }; } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
