This is an automated email from the ASF dual-hosted git repository.
benedict pushed a change to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra-accord.git
from 2b9e5400 Accord fixes: - Bad ArrayBuffers recycling logic - RX must
ensure dependencies TRANSITIVE_VISIBLE - Permit constructing "antiRange" that
spans multiple prefixes - Not computing range CommandSummary IsDep correctly
- Truncated commands that aren't shard durable could not repopulate CFK on
replay, permitting recovery of another command to make an incorrect decision -
NPE on async persist of RX (i.e. supplying no callback) - NPE in
Builder.shouldCleanup when durabili [...]
add f9dc83e4 Integrate RX with Cassandra Repair, so that repair safely
flushes pending topology and other durability requirements. Also improve: -
Introduce DurabilityService - Retire SyncPoint, replace Barrier with Write and
RX - MessageType -> enum, restore GetMaxConflict - Standardise backoff logic
with WaitStrategy - Forbid KX, remove directKeyDeps - Introduce
UniqueTimeService, permitting hlc reservations for sync points avoid delay when
min TxnId is sufficiently in the pa [...]
No new revisions were added by this update.
Summary of changes:
accord-core/src/main/java/accord/api/Agent.java | 40 +-
.../main/java/accord/api/ConfigurationService.java | 2 +-
.../{EventsListener.java => EventListener.java} | 5 +-
.../src/main/java/accord/api/LocalConfig.java | 38 --
.../src/main/java/accord/api/MessageSink.java | 6 +-
.../src/main/java/accord/api/ProgressLog.java | 7 +-
.../src/main/java/accord/api/Scheduler.java | 4 +-
.../coordinate/AbstractCoordinatePreAccept.java | 6 +-
.../src/main/java/accord/coordinate/Barrier.java | 332 ----------
.../coordinate/CoordinateGloballyDurable.java | 88 ---
.../accord/coordinate/CoordinateMaxConflict.java | 114 ++++
.../accord/coordinate/CoordinatePreAccept.java | 2 +-
.../accord/coordinate/CoordinateShardDurable.java | 83 ---
.../accord/coordinate/CoordinateSyncPoint.java | 38 +-
.../accord/coordinate/CoordinateTransaction.java | 24 +-
.../accord/coordinate/CoordinationAdapter.java | 136 +----
.../java/accord/coordinate/ExecuteSyncPoint.java | 318 ++++------
.../main/java/accord/coordinate/ExecuteTxn.java | 4 +-
.../src/main/java/accord/coordinate/Exhausted.java | 40 +-
.../java/accord/coordinate/FailureAccumulator.java | 10 +-
.../main/java/accord/coordinate/Invalidate.java | 2 +-
.../main/java/accord/coordinate/KeyBarriers.java | 193 ++++++
.../src/main/java/accord/coordinate/Recover.java | 15 +-
.../java/accord/coordinate/SynchronousAwait.java | 97 +++
.../coordinate/tracking/AbstractTracker.java | 10 +-
.../coordinate/tracking/DurabilityTracker.java | 194 ++++++
.../coordinate/tracking/FastPathTracker.java | 17 +-
.../coordinate/tracking/InvalidationTracker.java | 10 +-
.../coordinate/tracking/PreAcceptTracker.java | 4 +-
.../accord/coordinate/tracking/SimpleTracker.java | 5 +
.../java/accord/impl/AbstractFetchCoordinator.java | 14 +-
.../main/java/accord/impl/AbstractTimeouts.java | 16 +-
.../java/accord/impl/DurabilityScheduling.java | 669 ---------------------
.../java/accord/impl/InMemoryCommandStore.java | 27 +-
.../main/java/accord/impl/RequestCallbacks.java | 4 +-
.../impl/progresslog/DefaultProgressLog.java | 6 +-
.../java/accord/impl/progresslog/TxnState.java | 6 +-
.../src/main/java/accord/local/Bootstrap.java | 20 +-
.../src/main/java/accord/local/Cleanup.java | 1 +
.../src/main/java/accord/local/Command.java | 109 +---
.../src/main/java/accord/local/CommandStore.java | 43 +-
.../src/main/java/accord/local/CommandStores.java | 13 +
.../main/java/accord/local/CommandSummaries.java | 9 +-
.../src/main/java/accord/local/Commands.java | 8 +-
.../src/main/java/accord/local/DepsCalculator.java | 4 +-
accord-core/src/main/java/accord/local/Node.java | 161 +++--
.../java/accord/local/NodeCommandStoreService.java | 30 +-
.../main/java/accord/local/RedundantBefore.java | 80 +--
.../src/main/java/accord/local/RejectBefore.java | 2 +-
.../main/java/accord/local/SafeCommandStore.java | 9 +
.../main/java/accord/local/ShardDistributor.java | 44 +-
.../main/java/accord/local/UniqueTimeService.java | 127 ++++
.../main/java/accord/local/cfk/CommandsForKey.java | 63 +-
.../src/main/java/accord/local/cfk/Serialize.java | 8 +-
.../src/main/java/accord/local/cfk/Updating.java | 2 +-
.../local/durability/ConcurrencyControl.java | 90 +++
.../accord/local/durability/DurabilityQueue.java | 360 +++++++++++
.../accord/local/durability/DurabilityRequest.java | 205 +++++++
.../accord/local/durability/DurabilityResult.java | 75 +++
.../accord/local/durability/DurabilityService.java | 194 ++++++
.../accord/local/durability/GlobalDurability.java | 237 ++++++++
.../accord/local/durability/ShardDurability.java | 666 ++++++++++++++++++++
.../src/main/java/accord/messages/Accept.java | 9 +-
.../src/main/java/accord/messages/Apply.java | 11 +-
.../accord/messages/ApplyThenWaitUntilApplied.java | 3 +-
.../src/main/java/accord/messages/Await.java | 20 +-
.../java/accord/messages/BeginInvalidation.java | 6 +-
.../main/java/accord/messages/BeginRecovery.java | 18 +-
.../src/main/java/accord/messages/Callback.java | 2 +-
.../src/main/java/accord/messages/CheckStatus.java | 12 +-
.../src/main/java/accord/messages/Commit.java | 14 +-
...eryDurableBefore.java => GetDurableBefore.java} | 21 +-
.../java/accord/messages/GetEphemeralReadDeps.java | 4 +-
.../main/java/accord/messages/GetLatestDeps.java | 9 +-
.../main/java/accord/messages/GetMaxConflict.java | 136 +++++
.../main/java/accord/messages/InformDurable.java | 3 +-
.../src/main/java/accord/messages/MessageType.java | 149 ++---
.../src/main/java/accord/messages/PreAccept.java | 78 +--
.../src/main/java/accord/messages/ReadData.java | 2 +-
.../java/accord/messages/ReadEphemeralTxnData.java | 3 +-
.../src/main/java/accord/messages/ReadTxnData.java | 3 +-
.../main/java/accord/messages/RecoverAwait.java | 6 +-
.../src/main/java/accord/messages/Reply.java | 2 +-
.../src/main/java/accord/messages/Request.java | 2 +
.../java/accord/messages/SetGloballyDurable.java | 3 +-
.../main/java/accord/messages/SetShardDurable.java | 3 +-
.../src/main/java/accord/messages/SimpleReply.java | 2 +-
.../main/java/accord/messages/StableThenRead.java | 3 +-
.../java/accord/messages/WaitUntilApplied.java | 3 +-
.../java/accord/primitives/AbstractRanges.java | 157 ++---
.../src/main/java/accord/primitives/Ballot.java | 4 +-
.../src/main/java/accord/primitives/Deps.java | 94 +--
.../main/java/accord/primitives/LatestDeps.java | 14 +-
.../main/java/accord/primitives/PartialDeps.java | 20 +-
.../src/main/java/accord/primitives/Ranges.java | 3 +
.../src/main/java/accord/primitives/Timestamp.java | 5 +
.../src/main/java/accord/primitives/Txn.java | 40 +-
.../src/main/java/accord/primitives/TxnId.java | 13 +-
.../src/main/java/accord/topology/Topologies.java | 31 +
.../src/main/java/accord/topology/Topology.java | 37 ++
.../main/java/accord/topology/TopologyManager.java | 251 ++++----
.../src/main/java/accord/utils/SortedArrays.java | 19 +-
.../src/main/java/accord/utils/SortedListSet.java | 254 ++++++++
.../java/accord/utils/ThreadPoolScheduler.java | 1 +
.../main/java/accord/utils/async/AsyncResults.java | 122 ++--
accord-core/src/test/java/accord/Utils.java | 13 +-
.../src/test/java/accord/burn/BurnTestBase.java | 4 +
.../accord/burn/BurnTestConfigurationService.java | 9 +-
.../src/test/java/accord/burn/TopologyUpdates.java | 2 +-
.../accord/coordinate/CoordinateSyncPointTest.java | 13 +-
.../coordinate/CoordinateTransactionTest.java | 183 +-----
.../java/accord/coordinate/TopologyChangeTest.java | 2 +-
.../impl/AbstractConfigurationServiceTest.java | 2 +-
.../src/test/java/accord/impl/TestAgent.java | 52 +-
.../src/test/java/accord/impl/basic/Cluster.java | 106 +---
.../src/test/java/accord/impl/basic/NodeSink.java | 4 +-
.../src/test/java/accord/impl/list/ListAgent.java | 56 +-
.../src/test/java/accord/impl/list/ListStore.java | 176 ++----
.../test/java/accord/impl/mock/MockCluster.java | 9 +-
.../accord/impl/mock/MockConfigurationService.java | 2 +-
.../accord/impl/mock/RecordingMessageSink.java | 2 +-
.../java/accord/impl/mock/SimpleMessageSink.java | 2 +-
.../java/accord/local/ImmutableCommandTest.java | 11 +-
.../src/test/java/accord/local/NodeTest.java | 16 +-
.../src/test/java/accord/local/WaitingOnTest.java | 14 +-
.../java/accord/local/cfk/CommandsForKeyTest.java | 62 +-
.../test/java/accord/messages/PreAcceptTest.java | 8 +-
.../src/test/java/accord/primitives/DepsTest.java | 14 +-
.../src/test/java/accord/utils/AccordGens.java | 24 +-
.../src/test/java/accord/utils/RangesTest.java | 90 ++-
.../test/java/accord/utils/SortedListSetTest.java | 75 +++
accord-core/src/test/resources/burn-logback.xml | 5 +-
.../src/main/java/accord/maelstrom/Cluster.java | 10 +-
.../src/main/java/accord/maelstrom/Json.java | 12 +-
.../main/java/accord/maelstrom/MaelstromAgent.java | 58 +-
.../src/main/java/accord/maelstrom/Main.java | 10 +-
.../java/accord/maelstrom/SimpleConfigService.java | 2 +-
.../src/test/java/accord/maelstrom/JsonTest.java | 3 +-
138 files changed, 4603 insertions(+), 3186 deletions(-)
rename accord-core/src/main/java/accord/api/{EventsListener.java =>
EventListener.java} (92%)
delete mode 100644 accord-core/src/main/java/accord/api/LocalConfig.java
delete mode 100644 accord-core/src/main/java/accord/coordinate/Barrier.java
delete mode 100644
accord-core/src/main/java/accord/coordinate/CoordinateGloballyDurable.java
create mode 100644
accord-core/src/main/java/accord/coordinate/CoordinateMaxConflict.java
delete mode 100644
accord-core/src/main/java/accord/coordinate/CoordinateShardDurable.java
create mode 100644 accord-core/src/main/java/accord/coordinate/KeyBarriers.java
create mode 100644
accord-core/src/main/java/accord/coordinate/SynchronousAwait.java
create mode 100644
accord-core/src/main/java/accord/coordinate/tracking/DurabilityTracker.java
delete mode 100644
accord-core/src/main/java/accord/impl/DurabilityScheduling.java
create mode 100644
accord-core/src/main/java/accord/local/UniqueTimeService.java
create mode 100644
accord-core/src/main/java/accord/local/durability/ConcurrencyControl.java
create mode 100644
accord-core/src/main/java/accord/local/durability/DurabilityQueue.java
create mode 100644
accord-core/src/main/java/accord/local/durability/DurabilityRequest.java
create mode 100644
accord-core/src/main/java/accord/local/durability/DurabilityResult.java
create mode 100644
accord-core/src/main/java/accord/local/durability/DurabilityService.java
create mode 100644
accord-core/src/main/java/accord/local/durability/GlobalDurability.java
create mode 100644
accord-core/src/main/java/accord/local/durability/ShardDurability.java
rename accord-core/src/main/java/accord/messages/{QueryDurableBefore.java =>
GetDurableBefore.java} (81%)
create mode 100644
accord-core/src/main/java/accord/messages/GetMaxConflict.java
create mode 100644 accord-core/src/main/java/accord/utils/SortedListSet.java
create mode 100644
accord-core/src/test/java/accord/utils/SortedListSetTest.java
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]