This is an automated email from the ASF dual-hosted git repository. bdeggleston pushed a change to branch trunk in repository https://gitbox.apache.org/repos/asf/cassandra-accord.git
from aec91ad Instance refactor new b71481c Add support for topology reconfigurations new fb1187b Initial Cassandra integration new c04ea34 Topology reconfiguration fixes The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .gitignore | 1 + accord-core/build.gradle | 34 +- .../main/java/accord/api/ConfigurationService.java | 90 +++ accord-core/src/main/java/accord/api/Key.java | 5 + accord-core/src/main/java/accord/api/KeyRange.java | 11 +- .../src/main/java/accord/api/MessageSink.java | 3 +- accord-core/src/main/java/accord/api/Read.java | 4 +- accord-core/src/main/java/accord/api/Write.java | 3 +- .../main/java/accord/coordinate/AcceptPhase.java | 26 +- .../src/main/java/accord/coordinate/Agree.java | 139 +++- .../src/main/java/accord/coordinate/Agreed.java | 8 +- .../main/java/accord/coordinate/Coordinate.java | 280 +------- .../src/main/java/accord/coordinate/Execute.java | 68 +- .../src/main/java/accord/coordinate/Recover.java | 106 +-- .../coordinate/tracking/AbstractQuorumTracker.java | 12 +- .../tracking/AbstractResponseTracker.java | 98 ++- .../coordinate/tracking/FastPathTracker.java | 6 +- .../accord/coordinate/tracking/QuorumTracker.java | 9 +- .../accord/coordinate/tracking/ReadTracker.java | 10 +- .../src/main/java/accord/local/Command.java | 4 +- .../src/main/java/accord/local/CommandStore.java | 320 ++++----- .../src/main/java/accord/local/CommandStores.java | 396 ++++++++--- .../src/main/java/accord/local/CommandsForKey.java | 18 +- accord-core/src/main/java/accord/local/Node.java | 268 ++++--- .../src/main/java/accord/messages/Accept.java | 55 +- .../src/main/java/accord/messages/Apply.java | 34 +- .../main/java/accord/messages/BeginRecovery.java | 103 ++- .../src/main/java/accord/messages/Commit.java | 35 +- .../src/main/java/accord/messages/Message.java | 1 + .../src/main/java/accord/messages/MessageType.java | 20 + .../src/main/java/accord/messages/PreAccept.java | 45 +- .../src/main/java/accord/messages/ReadData.java | 72 +- .../messages/{Message.java => ReplyContext.java} | 2 +- .../src/main/java/accord/messages/Request.java | 2 +- .../src/main/java/accord/messages/TxnRequest.java | 104 +++ .../main/java/accord/messages/WaitOnCommit.java | 94 ++- .../src/main/java/accord/topology/KeyRanges.java | 145 ++++ .../src/main/java/accord/topology/Shard.java | 84 ++- .../src/main/java/accord/topology/Shards.java | 32 - .../src/main/java/accord/topology/Topologies.java | 272 +++++++ .../src/main/java/accord/topology/Topology.java | 135 +++- .../main/java/accord/topology/TopologyManager.java | 325 +++++++++ accord-core/src/main/java/accord/txn/Ballot.java | 4 +- accord-core/src/main/java/accord/txn/Keys.java | 245 +++++++ .../src/main/java/accord/txn/Timestamp.java | 33 +- accord-core/src/main/java/accord/txn/Txn.java | 38 +- accord-core/src/main/java/accord/txn/TxnId.java | 4 +- accord-core/src/main/java/accord/txn/Writes.java | 10 +- .../accord/utils/DeterministicIdentitySet.java | 8 +- .../main/java/accord/utils/IndexedBiFunction.java | 6 + .../java/accord/utils/ThreadPoolScheduler.java | 3 +- .../cassandra/concurrent/ExecutionFailure.java | 180 +++++ .../apache/cassandra/concurrent/ExecutorPlus.java | 185 +++++ .../cassandra/concurrent/ImmediateExecutor.java | 44 ++ .../java/org/apache/cassandra/utils/Clock.java | 124 ++++ .../java/org/apache/cassandra/utils/Intercept.java | 31 + .../java/org/apache/cassandra/utils/Shared.java | 45 ++ .../cassandra/utils/concurrent/AbstractFuture.java | 508 +++++++++++++ .../cassandra/utils/concurrent/AsyncFuture.java | 162 +++++ .../cassandra/utils/concurrent/AsyncPromise.java | 268 +++++++ .../cassandra/utils/concurrent/Awaitable.java | 404 +++++++++++ .../cassandra/utils/concurrent/Condition.java | 104 +++ .../apache/cassandra/utils/concurrent/Future.java | 191 +++++ .../utils/concurrent/ImmediateFuture.java | 52 ++ .../apache/cassandra/utils/concurrent/Inline.java | 5 + .../cassandra/utils/concurrent/IntrusiveStack.java | 156 ++++ .../cassandra/utils/concurrent/ListenerList.java | 376 ++++++++++ .../apache/cassandra/utils/concurrent/Promise.java | 128 ++++ .../concurrent/UncheckedInterruptedException.java | 38 + .../cassandra/utils/concurrent/WaitQueue.java | 437 ++++++++++++ accord-core/src/test/java/accord/KeysTest.java | 98 +++ accord-core/src/test/java/accord/Utils.java | 44 +- .../accord/api/TestableConfigurationService.java | 8 + .../src/test/java/accord/burn/BurnTest.java | 150 ++-- .../accord/burn/BurnTestConfigurationService.java | 279 ++++++++ .../test/java/accord/burn/ReconcilingLogger.java | 111 +++ .../java/accord/burn/ReconcilingLoggerTest.java | 50 ++ .../java/accord/burn/ReconcilingOutputStreams.java | 73 -- .../src/test/java/accord/burn/TopologyUpdate.java | 238 +++++++ .../java/accord/coordinate/CoordinateTest.java | 12 +- .../accord/coordinate/PreacceptTrackerTest.java | 38 +- .../test/java/accord/coordinate/RecoverTest.java | 14 +- .../java/accord/coordinate/TopologyChangeTest.java | 147 ++++ .../coordinate/tracking/QuorumTrackerTest.java | 73 +- .../coordinate/tracking/ReadTrackerTest.java | 27 +- .../src/test/java/accord/impl/IntHashKey.java | 35 +- accord-core/src/test/java/accord/impl/IntKey.java | 42 +- .../src/test/java/accord/impl/TopologyFactory.java | 12 +- .../src/test/java/accord/impl/TopologyUtils.java | 8 +- .../src/test/java/accord/impl/basic/Cluster.java | 51 +- .../src/test/java/accord/impl/basic/NodeSink.java | 5 +- .../src/test/java/accord/impl/basic/Packet.java | 11 +- .../accord/impl/basic/PropagatingPendingQueue.java | 62 ++ .../src/test/java/accord/impl/list/ListAgent.java | 5 +- .../src/test/java/accord/impl/list/ListData.java | 14 +- .../src/test/java/accord/impl/list/ListRead.java | 23 +- .../test/java/accord/impl/list/ListRequest.java | 16 +- .../src/test/java/accord/impl/list/ListResult.java | 9 +- .../src/test/java/accord/impl/list/ListStore.java | 9 + .../src/test/java/accord/impl/list/ListWrite.java | 31 +- .../src/test/java/accord/impl/mock/EpochSync.java | 187 +++++ .../test/java/accord/impl/mock/MockCluster.java | 133 +++- .../accord/impl/mock/MockConfigurationService.java | 84 +++ .../src/test/java/accord/impl/mock/MockStore.java | 4 +- .../src/test/java/accord/impl/mock/Network.java | 21 + .../accord/impl/mock/RecordingMessageSink.java | 5 +- .../java/accord/impl/mock/SimpleMessageSink.java | 5 +- .../test/java/accord/local/CommandStoreTest.java | 92 --- .../src/test/java/accord/local/CommandTest.java | 102 +++ .../src/test/java/accord/local/NodeTest.java | 82 +++ .../test/java/accord/messages/PreAcceptTest.java | 131 +++- .../java/accord/messages/TxnRequestScopeTest.java | 63 ++ .../src/test/java/accord/topology/ShardTest.java | 46 +- .../java/accord/topology/TopologyManagerTest.java | 180 +++++ .../java/accord/topology/TopologyRandomizer.java | 234 ++++++ .../test/java/accord/topology/TopologyTest.java | 6 +- .../src/test/java/accord/utils/EpochFunction.java | 11 + .../src/test/java/accord/utils/KeyRangeTest.java | 12 - .../src/test/java/accord/utils/KeyRangesTest.java | 28 + .../src/test/java/accord/utils/MessageTask.java | 177 +++++ .../accord/verify/SerializabilityVerifier.java | 1 + .../verify/StrictSerializabilityVerifier.java | 787 +++++++++++++++++++++ .../verify/StrictSerializabilityVerifierTest.java | 152 ++++ accord-core/src/test/resources/burn-logback.xml | 24 + accord-maelstrom/build.gradle | 1 + .../src/main/java/accord/maelstrom/Cluster.java | 21 +- .../src/main/java/accord/maelstrom/Datum.java | 8 +- .../src/main/java/accord/maelstrom/Error.java | 7 + .../src/main/java/accord/maelstrom/Json.java | 10 +- .../main/java/accord/maelstrom/MaelstromAgent.java | 2 +- .../main/java/accord/maelstrom/MaelstromData.java | 3 +- .../main/java/accord/maelstrom/MaelstromKey.java | 33 +- .../main/java/accord/maelstrom/MaelstromRead.java | 17 +- .../main/java/accord/maelstrom/MaelstromReply.java | 7 + .../accord/maelstrom/MaelstromReplyContext.java | 25 + .../java/accord/maelstrom/MaelstromRequest.java | 16 +- .../main/java/accord/maelstrom/MaelstromWrite.java | 19 +- .../src/main/java/accord/maelstrom/Main.java | 19 +- .../src/main/java/accord/maelstrom/Packet.java | 8 +- .../java/accord/maelstrom/SimpleConfigService.java | 49 ++ .../java/accord/maelstrom/TopologyFactory.java | 6 +- build.gradle | 1 + 142 files changed, 10216 insertions(+), 1566 deletions(-) create mode 100644 accord-core/src/main/java/accord/api/ConfigurationService.java create mode 100644 accord-core/src/main/java/accord/messages/MessageType.java copy accord-core/src/main/java/accord/messages/{Message.java => ReplyContext.java} (50%) create mode 100644 accord-core/src/main/java/accord/messages/TxnRequest.java delete mode 100644 accord-core/src/main/java/accord/topology/Shards.java create mode 100644 accord-core/src/main/java/accord/topology/Topologies.java create mode 100644 accord-core/src/main/java/accord/topology/TopologyManager.java create mode 100644 accord-core/src/main/java/accord/utils/IndexedBiFunction.java create mode 100644 accord-core/src/main/java/org/apache/cassandra/concurrent/ExecutionFailure.java create mode 100644 accord-core/src/main/java/org/apache/cassandra/concurrent/ExecutorPlus.java create mode 100644 accord-core/src/main/java/org/apache/cassandra/concurrent/ImmediateExecutor.java create mode 100644 accord-core/src/main/java/org/apache/cassandra/utils/Clock.java create mode 100644 accord-core/src/main/java/org/apache/cassandra/utils/Intercept.java create mode 100644 accord-core/src/main/java/org/apache/cassandra/utils/Shared.java create mode 100644 accord-core/src/main/java/org/apache/cassandra/utils/concurrent/AbstractFuture.java create mode 100644 accord-core/src/main/java/org/apache/cassandra/utils/concurrent/AsyncFuture.java create mode 100644 accord-core/src/main/java/org/apache/cassandra/utils/concurrent/AsyncPromise.java create mode 100644 accord-core/src/main/java/org/apache/cassandra/utils/concurrent/Awaitable.java create mode 100644 accord-core/src/main/java/org/apache/cassandra/utils/concurrent/Condition.java create mode 100644 accord-core/src/main/java/org/apache/cassandra/utils/concurrent/Future.java create mode 100644 accord-core/src/main/java/org/apache/cassandra/utils/concurrent/ImmediateFuture.java create mode 100644 accord-core/src/main/java/org/apache/cassandra/utils/concurrent/Inline.java create mode 100644 accord-core/src/main/java/org/apache/cassandra/utils/concurrent/IntrusiveStack.java create mode 100644 accord-core/src/main/java/org/apache/cassandra/utils/concurrent/ListenerList.java create mode 100644 accord-core/src/main/java/org/apache/cassandra/utils/concurrent/Promise.java create mode 100644 accord-core/src/main/java/org/apache/cassandra/utils/concurrent/UncheckedInterruptedException.java create mode 100644 accord-core/src/main/java/org/apache/cassandra/utils/concurrent/WaitQueue.java create mode 100644 accord-core/src/test/java/accord/KeysTest.java create mode 100644 accord-core/src/test/java/accord/api/TestableConfigurationService.java create mode 100644 accord-core/src/test/java/accord/burn/BurnTestConfigurationService.java create mode 100644 accord-core/src/test/java/accord/burn/ReconcilingLogger.java create mode 100644 accord-core/src/test/java/accord/burn/ReconcilingLoggerTest.java delete mode 100644 accord-core/src/test/java/accord/burn/ReconcilingOutputStreams.java create mode 100644 accord-core/src/test/java/accord/burn/TopologyUpdate.java create mode 100644 accord-core/src/test/java/accord/coordinate/TopologyChangeTest.java create mode 100644 accord-core/src/test/java/accord/impl/basic/PropagatingPendingQueue.java create mode 100644 accord-core/src/test/java/accord/impl/mock/EpochSync.java create mode 100644 accord-core/src/test/java/accord/impl/mock/MockConfigurationService.java delete mode 100644 accord-core/src/test/java/accord/local/CommandStoreTest.java create mode 100644 accord-core/src/test/java/accord/local/CommandTest.java create mode 100644 accord-core/src/test/java/accord/local/NodeTest.java create mode 100644 accord-core/src/test/java/accord/messages/TxnRequestScopeTest.java create mode 100644 accord-core/src/test/java/accord/topology/TopologyManagerTest.java create mode 100644 accord-core/src/test/java/accord/topology/TopologyRandomizer.java create mode 100644 accord-core/src/test/java/accord/utils/EpochFunction.java create mode 100644 accord-core/src/test/java/accord/utils/MessageTask.java create mode 100644 accord-core/src/test/java/accord/verify/StrictSerializabilityVerifier.java create mode 100644 accord-core/src/test/java/accord/verify/StrictSerializabilityVerifierTest.java create mode 100644 accord-core/src/test/resources/burn-logback.xml create mode 100644 accord-maelstrom/src/main/java/accord/maelstrom/MaelstromReplyContext.java create mode 100644 accord-maelstrom/src/main/java/accord/maelstrom/SimpleConfigService.java --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org