This is an automated email from the ASF dual-hosted git repository.

benedict pushed a change to branch trunk-tmp
in repository https://gitbox.apache.org/repos/asf/cassandra-accord.git


 discard 7e5c8118 Test out 8.1
     add 3825403c Get accord compiling on JDK 21 (#188)
     add 7f95490b Enhacned the stateful property test API to have accept a list 
of commands rather than force a builder (#189)
     add 0f9f201f Accord: On restart, while replying the journal the 
linearizability check logic found incorrect ordering and rejected startup
     add 4918bd61 Fix durableBefore check on replay
     add 0980e52b Fix medium path decisions when fast path is delayed
     add 7242cb20 Follow-up to CASSANDRA-20641; propagate forceUpdate further
     add 56102d8e Initialise CommandStores.nextId on restart
     add c5a984cf Fixes:  - cfk pruning+prebootstrap=invalid future dependency  
- exclude retired ranges when filtering RX stillTouches  - propagate uses 
incorrect lowEpoch when fetch finds additional owned/touched ranges  - 
node.withEpoch should callback with TopologyRetiredException, not throw  - 
Recovery can race with durable-applied pruning; must not send durable unless 
latest ballot on apply  - removeRedundantDependencies was not slicing 
pre-bootstrap range calculation to participati [...]
     add f9827e73 Mark min epoch - 1 as truncated, i.e. restore previous 
truncated state
     add 7205f68a Add documentation for Accord's property testing (#196)
     add 21733d0d Ninja for CASSANDRA-20684: Ignore markdown files in rat check
     add 7f0040d0 Ninja for CASSANDRA-20684: Gens.select didnt allow access at 
generating a list of size=0 after adding invarients check, fixed that to return 
an empty list
     add 774d5c82 Account for truncated epoch when computing the low bound
     add fd608bc7 Make durability service listen to topology changes
     add b22b935e Fix StackOverflow exception on topology replay with a large 
number of active epochs/topologies
     add bf85660d Fixes  - Don't assume stillExecutes applies to remote request 
- must mark unavailable any keys we don't have the txn definition for  - Don't 
exit notifyManagedPreBootstrap notify loop early, as could have later 
transactions with lower txnId  - CoordinateEphemeralRead must retry if 
insufficient responses from replicas that still own the range  - Burn test 
terminates while non-recurring tasks pending on command store queues  - 
Infinite recovery due to not sending InformDur [...]
     add c2ef0643 Fix:  - Do not query local topology when deciding what keys 
to fetch to avoid TopologyRetiredException  - Ensure we propagate information 
back to the requesting CommandStore by using the store id to ensure it is 
included  - BurnTest topology fetching was broken by earlier patch  - Topology 
callbacks were not being invoked as we were not calling .begin()  - Topology 
mismatch failure during notAccept phase was not being reported due to 
CoordinatePreAccept already having is [...]
     add 1ce7122e Fixes:  - AccordJournal should not attempt to construct 
expunged commands  - ready/notReady logic can break if we receive a partial 
Route that does not cover the local store  - Invariant.require -> 
TopologyRetiredException  - validate min/max in TopologyManager.preciseEpochs 
Improve:  - ExecuteSyncPoint should send Apply
     add 2eb6677e Add debug string to configuration service to output epochs we 
could not find
     add 2b80b023 Erase should consistently erase all content associated with a 
transaction Also Fix:  - Erased SaveStatus can be reported for all queried 
owned participants on a replica (the saved participants have been erased)
     add 07ba9c85 Avoid re-serializing all-equivalent topologies
     add 154c05f5 Improve:  - Introduce SequentialAgentExecutor  - 
ExecuteEphemeralRead.LocalExecute (matching ExecuteTxn.LocalExecute)  - remove 
AgentExecutor (agent() only used as implementation detail)  - Skip 
CommandStore/CommandsForKey on read or apply, when safe to do so Fix:  - 
Marking vestigial without knowing all covering keys  - Incorrect size in 
WaitingOn.none  - Cleanup RX that are not known but are no longer needed, due 
to being defunct  - Home should not abort because of loc [...]
     add 756f2a1f (Accord) Fix:  - Attempt to fix CommandsForKey 
StackOverflowError (presumed to be reachable via SaveStatus->InternalStatus map 
returning null)  - Bound recursion with SafeCommandStore.tryRecurse()  - 
IndexOutOfBoundsException in CINTIA checkpoint list encoding bounds logic  - 
Maintain MaxDecidedRX to save majority of work when deciding RX that are newer 
than those we have previously agreed  - Introduce IntervalBTree and use in 
CommandsForRanges to limit time spent in cri [...]
     add aa08b04e Follow-up to CASSANDRA-20726:  - Fix shouldCleanup handling 
of erase/expunge  - Fix CommandChange handling of minUniqueHlc being cleared  - 
Don't clear minUniqueHlc when fast applying; instead simply validate !isWaiting
     add cfde59da Add separator to pretty-print command changes
     add 555337a7 Fix:  - EphemeralReads should retry in a later epoch if 
replication factor changes  - Fix no local epoch for NotAccept  - Invalidate a 
command with no route but for which we know we own some key that has applied 
locally  - Don't pre-merge existing DurableBefore, to reduce 
duplicate/redundant persistence  - Misc purging bugs and improve testing of 
purging
     add 68778350 Fix:  - Lock inversion when restarting durability for erased 
sync point  - Initialise durability cycle start time Improve:  - Improve 
durability reporting  - Timeout durability requests  - DurabilityQueue 
concurrency should limit only until quorum is achieved  - Some exceptions that 
may be thrown when starting coordination may not be propagated
     add 71d235d5 Improve:
     add bfc12f6f Improve command diff output for debug output
     add e587fc4c Standardise Replay logic to ensure SafeCommandStore.update is 
called Also Fix:  - Initialise home state when calling waiting() if not already 
initialised  - Don't reportClosed/reportRetired for epochs that are already 
closed/retired
     add 3c9b3077 Accord: Topology serializer has a lot of repeated data, can 
dedup to shrink the cost
     add 0d6157fc Fix:  - Replay should notify listeners  - TopologyManager can 
report the actually updated epochs for use by callers (TODO use this to filter 
redundant notifications)  - No-op read validation
     add 3aba47c2 Accord Fixes:  - Not updating CommandsForKey in all cases on 
restart Also Improve:  - Tracing coverage of FetchRoute  - LatestDeps.equals  - 
Route toString methods
     add ad26bb9d Add testing of consensus live migration to simulator
     add 1c203efd Fix minDecidedId calculation Also fix:  - Bad cast of 
Truncated during replay  - Don't throw IllegalStateException in 
Invariants.expect if accord.testing == false Also improve:  - Support tracing 
of recovery and home progress
     add a1c1ed91 PreLoadContext descriptions Also:  - Introduce LoadKeysFor so 
we can avoid loading range transactions except where necessary
     add 42b55d70 Move durability service startup
     add 51f36f78 Limit replay to those records not durably persisted to both 
command store and data store Also improve:  - Limit truncation to 
TruncatedApplyWithOutcome until data is persisted durably to local store  - 
start/stop progress log explicitly  - limit progress log concurrency  - clear 
heavy fields in some messages once processed Also fix:  - relax paranoid CFK 
validation during restart
     add e66a30cd Missed feedback for move durability service startup patch
     add f40826db Accord Query Tracing Also improve:  - Metric listeners
     add 090cb49b Fix DurableBefore updates:  - DurableBefore.fullyContainedIn 
should compare txnId Also fix:  - Messages with nullable state should check if 
they are cancelled after reading the state but before using it  - Don't 
snapshot during replay  - CFK.updateRedundantBefore incorrectly updating 
mayExecute and sharing byId in some cases  - Refine GC with global durability 
bound
     add 2f287b6c Journal.TopologyUpdate should not store the local topology as 
it can be inferred from the global on (#229)
     add 05b2f241 Fix CFK restore after replay:  - Remove from CFK any 
unapplied transactions we know cannot apply  - Force notification of waiting 
commands in CFK on replay Also fix:  - Don't truncateWithOutcome if pre 
bootstrap or stale  - Fix RangeDeps.without(RangeDeps)  - Fix 
InMemoryCommandStore replay bug with clearing DefaultLocalListeners  - Ensure 
SaveStatus and executeAt are updated together to prevent corruption via expunge 
Improve:  - Inform home shard that command is decided [...]
     add 20df7e5e Improve ProgressLog:  - Schedule a fallback timeout for 
active requests to ensure progress with lost callbacks  - Clear active task for 
a txnId when new RunInvoker is registered  - Consult DurableBefore prior to 
invoking recovery  - Support user invoked reset of a command, clearing any 
active work and requeueing it  - (Testing): Treat progress log for RX as 
recurring tasks for burn test termination Also fix:  - Handle another 
truncateWithOutcome edge case
     add d5de79b5 Bootstrap must first wait for a quorum to apply the sync 
point to ensure the DurableBefore Majority condition holds transitively, since 
later quorums may include the bootstrapping node which does not participate in 
the durability of preceding transactions Also Improve:  - Apply MaxDecidedRX 
filtering to CommandsForKey RX dependencies  - Optimise 
AbstractRanges.sliceMinimal (burn test hotspot)  - Don't start shard schedulers 
on topology changes if not already started  - O [...]
     add 12da4693 ConcurrentModificationException with 
CommandStore.waitingOnSync
     add 0c3c7bf7 Minor tracing and progress log improvements: Fix  - FetchData 
tracing parameter was not being propagated  - Progress log waiting state could 
infinite loop without making progress Improve:  - Progress log waiting state 
tracing  - Simplify progress log run counters
     add b268e9a7 Accord: fix durability scheduling order, initialize them 
_after_ nodes are created
     add b86550c1 Enrich Durability with each phase, so we can both prune 
unapplied dependencies to mitigate replicas that are behind causing Deps 
growth, and more reliably avoid initialising recovery progress log state of 
transactions that cannot yet make progress Also fix:  - Infer invalid in 
MaybeRecover and FetchData  - MaybeRecover sometimes aborts before home shard 
knows outcome  - Epoch sync with VisibilitySyncPoint  - Retired implies synced 
Also improve:  - Add Topology.removedNod [...]
     add a8916a18 Startup sequence improvements
     add 5cbe8d62 Accord fixes:  - Fix erroneous call to registerWithDelay with 
absolute deadline  - ExecuteSyncPoint should discount votes from unbootstrapped 
replicas  - Bootstrap no longer needs to first ensure durability (now 
ExecuteSyncPoint discounts votes from unbootstrapped replicas)  - Progress 
stall with home shard stopping before Stable is propagated to all shards  - 
Only upgrade Durability.HasPhase if we have queried all shards  - Incorrectly 
inferring Durability in CheckStatu [...]
     add 48061a52 Improve Observability:  - Track all active Coordinations  - 
Refactor Replica/Coordinator metrics and report Coordinator 
exhausted/preempted/timeout  - DurabilityQueue metrics and visibility Also Fix: 
 - WaitingState can get cause distributed stall when asked to wait for CanApply 
if not yet PreCommitted; track separate querying state and advance this to the 
next achievable state rather than the desired final state  - Stalled 
coordinators should not prevent recovery  - Edg [...]
     add c3a62d77 All pending topology notifications must be propagated to a 
newly published epoch, not only the pending notification for that epoch Also 
Fix:  - removeRedundantMissing could erroneously remove missing dependencies 
occurring after the new appliedBeforeIndex  - Invariant failure for some 
propagate calls supplying 'wrong' addRoute  - Disambiguate nextTxnId and 
nextTxnIdWithDefaultFlags  - Journal.replayTopologies to return List for 
consistency of integration and semi-integra [...]
     add 875937c8 CASSANDRA-20883: bitset changes to support cassandra 
serializers
     add 9c7f856c RegisteredCallback should remove itself from callback map 
when cancelled Also Fix:  - Do not throw CancellationException when processing 
requests that have been aborted, as may be caused by a successful meaningful 
reply that can be overridden Also Improve:  - Violation information reported  - 
Sort CommandStore shards by id
     add 27aec780 Strict Serializability Verifier may incorrectly handle blind 
writes when witnessed before the writing operation ACKs
     add 78b84b08 Split AsyncChain and AsyncResult; normalise AsyncResult with 
C* Future
     add 520818a0 Follow-up to CASSANDRA-20906: Fix Simulator
     add 5b35a301 Rebootstrap Also Refine:  - Introduce 
MapReduceConsumeCommandStore for enforcing message refusal comprehensively  - 
Refactor to RedundantStatus:    - use int rather than short to prepare to 
support more statuses    - merge PreBootstrap and Unready (into Unready) Also 
Fix:  - Propagate Erase to no longer participating replica  - RecoverAwait to 
original coordinator was not correctly notifying  - Cancel messages if we 
encounter an exception so we do not attempt to process  [...]
     add f2e71a3d Improve tracing:  - Support pattern trace table  - Add basic 
tracing to all coordinations

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (7e5c8118)
            \
             N -- N -- N   refs/heads/trunk-tmp (f2e71a3d)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .gitignore                                         |   7 +
 accord-core/src/main/java/accord/api/Agent.java    |  56 +-
 .../accord/{utils/async => api}/AsyncExecutor.java |  28 +-
 .../java/accord/api/AsyncExecutorFactory.java}     |   7 +-
 .../src/main/java/accord/api/BarrierType.java      |  21 +-
 .../main/java/accord/api/ConfigurationService.java |  13 +-
 .../java/accord/api/CoordinatorEventListener.java  |  62 ++
 accord-core/src/main/java/accord/api/Data.java     |  20 +-
 .../src/main/java/accord/api/DataStore.java        |  15 +-
 .../src/main/java/accord/api/EventListener.java    |  84 --
 accord-core/src/main/java/accord/api/Journal.java  |  70 +-
 .../src/main/java/accord/api/LocalListeners.java   |   5 +
 .../src/main/java/accord/api/MessageSink.java      |   8 +-
 .../{Update.java => OwnershipEventListener.java}   |  27 +-
 .../src/main/java/accord/api/ProgressLog.java      |  82 +-
 .../main/java/accord/api/ProtocolModifiers.java    |  41 +-
 accord-core/src/main/java/accord/api/Query.java    |   2 +
 accord-core/src/main/java/accord/api/Read.java     |  19 +-
 .../src/main/java/accord/api/RemoteListeners.java  |   6 +-
 .../main/java/accord/api/ReplicaEventListener.java |  53 ++
 .../src/main/java/accord/api/Scheduler.java        |   1 +
 accord-core/src/main/java/accord/api/Timeouts.java |   2 +-
 accord-core/src/main/java/accord/api/Tracing.java  |  96 +++
 accord-core/src/main/java/accord/api/Update.java   |   6 +-
 .../src/main/java/accord/api/ViolationHandler.java |  79 ++
 accord-core/src/main/java/accord/api/Write.java    |  16 +-
 .../coordinate/{Preempted.java => Aborted.java}    |  23 +-
 .../coordinate/AbstractCoordinatePreAccept.java    | 103 +--
 .../accord/coordinate/AbstractCoordination.java    | 368 +++++++++
 .../coordinate/AbstractSimpleCoordination.java     | 122 +++
 .../java/accord/coordinate/AsynchronousAwait.java  |  68 +-
 .../main/java/accord/coordinate/CheckShards.java   |  57 +-
 .../java/accord/coordinate/CollectLatestDeps.java  |  91 +--
 .../accord/coordinate/CoordinateEphemeralRead.java | 120 ++-
 .../accord/coordinate/CoordinateMaxConflict.java   |  78 +-
 .../accord/coordinate/CoordinatePreAccept.java     |  66 +-
 .../accord/coordinate/CoordinateSyncPoint.java     | 110 ++-
 .../accord/coordinate/CoordinateTransaction.java   | 168 ++--
 .../main/java/accord/coordinate/Coordination.java  |  86 +++
 .../accord/coordinate/CoordinationAdapter.java     | 191 +++--
 .../java/accord/coordinate/CoordinationFailed.java |  11 +-
 .../main/java/accord/coordinate/Coordinations.java | 157 ++++
 .../main/java/accord/coordinate/EpochTimeout.java  |   9 +-
 .../accord/coordinate/ExecuteEphemeralRead.java    | 159 +++-
 .../main/java/accord/coordinate/ExecuteFlag.java   | 115 ++-
 .../java/accord/coordinate/ExecuteSyncPoint.java   | 225 ++++--
 .../main/java/accord/coordinate/ExecuteTxn.java    | 397 ++++++++--
 .../src/main/java/accord/coordinate/Exhausted.java |  13 +-
 .../java/accord/coordinate/FailureAccumulator.java |  50 +-
 .../java/accord/coordinate/FetchCoordinator.java   |  67 +-
 .../src/main/java/accord/coordinate/FetchData.java | 261 ++-----
 .../main/java/accord/coordinate/FetchRoute.java    | 180 +++++
 .../src/main/java/accord/coordinate/FindRoute.java |  81 --
 .../main/java/accord/coordinate/FindSomeRoute.java |  85 ---
 .../src/main/java/accord/coordinate/Infer.java     |  76 +-
 .../main/java/accord/coordinate/Invalidate.java    | 217 +++---
 .../main/java/accord/coordinate/Invalidated.java   |   9 +-
 .../main/java/accord/coordinate/KeyBarriers.java   |  86 ++-
 .../main/java/accord/coordinate/MaybeRecover.java  | 116 ++-
 .../src/main/java/accord/coordinate/Persist.java   |  97 ++-
 .../java/accord/coordinate/PersistSyncPoint.java   |  29 +-
 .../main/java/accord/coordinate/PersistTxn.java    |   8 +-
 .../src/main/java/accord/coordinate/Preempted.java |  11 +-
 ...{RecoverWithRoute.java => PrepareRecovery.java} | 176 +++--
 .../src/main/java/accord/coordinate/Propose.java   | 254 +++----
 .../main/java/accord/coordinate/ProposeOnly.java   |   7 +-
 .../java/accord/coordinate/ProposeSyncPoint.java   |   5 +-
 .../main/java/accord/coordinate/ProposeTxn.java    |   5 +-
 .../java/accord/coordinate/ReadCoordinator.java    | 236 ++++--
 .../src/main/java/accord/coordinate/Recover.java   | 429 ++++++-----
 .../src/main/java/accord/coordinate/Redundant.java |   2 +-
 .../src/main/java/accord/coordinate/Stabilise.java | 122 +--
 .../main/java/accord/coordinate/StabiliseOnly.java |   7 +-
 .../java/accord/coordinate/StabiliseSyncPoint.java |   5 +-
 .../main/java/accord/coordinate/StabiliseTxn.java  |   5 +-
 .../java/accord/coordinate/SynchronousAwait.java   |  62 +-
 .../accord/coordinate/SynchronousRecoverAwait.java |  67 +-
 .../src/main/java/accord/coordinate/Timeout.java   |  16 +-
 .../java/accord/coordinate/TopologyMismatch.java   |  24 +-
 .../coordinate/tracking/AbstractTracker.java       |  30 +-
 .../accord/coordinate/tracking/AllTracker.java     |   6 +
 .../accord/coordinate/tracking/AwaitTracker.java   |   6 +
 .../coordinate/tracking/DurabilityTracker.java     |  23 +-
 .../coordinate/tracking/FastPathTracker.java       |  18 +-
 .../coordinate/tracking/InvalidationTracker.java   |   6 +
 .../coordinate/tracking/QuorumIdTracker.java       |  17 +-
 .../accord/coordinate/tracking/QuorumTracker.java  |   6 +
 .../accord/coordinate/tracking/ReadTracker.java    |  22 +-
 .../accord/coordinate/tracking/ShardTracker.java   |   2 +
 .../AbstractAsyncExecutor.java}                    |  36 +-
 .../accord/impl/AbstractConfigurationService.java  | 160 ++--
 .../java/accord/impl/AbstractFetchCoordinator.java |  33 +-
 .../src/main/java/accord/impl/AbstractLoader.java  |  63 --
 .../main/java/accord/impl/AbstractReplayer.java    |  94 +++
 .../java/accord/impl/AbstractSafeCommandStore.java |  20 +-
 .../main/java/accord/impl/AbstractTimeouts.java    |  58 +-
 .../src/main/java/accord/impl/CommandChange.java   | 319 ++++++--
 .../java/accord/impl/DefaultLocalListeners.java    |  48 +-
 .../java/accord/impl/DefaultRemoteListeners.java   |  19 +-
 .../impl/{SafeState.java => InMemoryAgent.java}    |  15 +-
 .../java/accord/impl/InMemoryCommandStore.java     | 529 +++++++------
 .../main/java/accord/impl/RequestCallbacks.java    |  65 +-
 .../accord/impl/progresslog/CallbackInvoker.java   |  64 +-
 .../accord/impl/progresslog/CoordinatePhase.java   |   5 +
 .../impl/progresslog/DefaultProgressLog.java       | 555 +++++++++-----
 .../impl/progresslog/DefaultProgressLogs.java      |  43 +-
 .../java/accord/impl/progresslog/HomeState.java    | 119 ++-
 .../accord/impl/progresslog/PackedKeyTracker.java  |   5 +-
 .../impl/progresslog/SavedProgressToken.java       |   2 +-
 .../java/accord/impl/progresslog/TxnState.java     |  33 +-
 .../java/accord/impl/progresslog/WaitingState.java | 522 ++++++++-----
 .../src/main/java/accord/local/Bootstrap.java      |  86 ++-
 .../src/main/java/accord/local/Cleanup.java        | 121 +--
 .../src/main/java/accord/local/Command.java        | 222 +++---
 .../src/main/java/accord/local/CommandStore.java   | 660 ++++++++++------
 .../src/main/java/accord/local/CommandStores.java  | 596 +++++++++------
 .../main/java/accord/local/CommandSummaries.java   | 512 +++++++++----
 .../src/main/java/accord/local/Commands.java       | 445 +++++++----
 .../src/main/java/accord/local/DepsCalculator.java |  65 +-
 .../src/main/java/accord/local/DurableBefore.java  |  90 +--
 .../local/{KeyHistory.java => LoadKeys.java}       |  21 +-
 .../src/main/java/accord/local/LoadKeysFor.java    |  48 ++
 ...tExecutor.java => LogUnavailableException.java} |  19 +-
 .../java/accord/local/MapReduceCommandStores.java  |  68 ++
 .../local/MapReduceConsumeCommandStores.java       |  95 +++
 .../src/main/java/accord/local/MaxDecidedRX.java   | 211 +++++
 accord-core/src/main/java/accord/local/Node.java   | 461 ++++++-----
 .../java/accord/local/NodeCommandStoreService.java |   9 +-
 .../src/main/java/accord/local/PreLoadContext.java | 158 ++--
 .../main/java/accord/local/RedundantBefore.java    | 388 +++++-----
 .../main/java/accord/local/RedundantStatus.java    | 240 +++---
 .../src/main/java/accord/local/SafeCommand.java    |  56 +-
 .../main/java/accord/local/SafeCommandStore.java   | 180 +++--
 .../SequentialAsyncExecutor.java}                  |   9 +-
 .../main/java/accord/local/StoreParticipants.java  | 154 +++-
 .../main/java/accord/local/cfk/CommandsForKey.java | 562 ++++++++------
 .../accord/local/cfk/CommandsForKeyUpdate.java     |   6 +-
 .../src/main/java/accord/local/cfk/NotifySink.java |  27 +-
 .../main/java/accord/local/cfk/PostProcess.java    |  95 +--
 .../src/main/java/accord/local/cfk/Pruning.java    |  98 ++-
 .../java/accord/local/cfk/SafeCommandsForKey.java  |  35 +-
 .../src/main/java/accord/local/cfk/Serialize.java  | 157 ++--
 .../src/main/java/accord/local/cfk/Updating.java   |  93 +--
 .../src/main/java/accord/local/cfk/Utils.java      |  98 ++-
 .../local/durability/ConcurrencyControl.java       |   2 +-
 .../accord/local/durability/DurabilityQueue.java   | 146 ++--
 .../accord/local/durability/DurabilityRequest.java |  39 +-
 .../accord/local/durability/DurabilityService.java | 100 ++-
 .../accord/local/durability/GlobalDurability.java  |  18 +-
 .../accord/local/durability/ShardDurability.java   | 231 ++++--
 .../src/main/java/accord/messages/Accept.java      |  64 +-
 .../src/main/java/accord/messages/Apply.java       | 224 ++++--
 .../accord/messages/ApplyThenWaitUntilApplied.java |  63 +-
 .../src/main/java/accord/messages/Await.java       | 263 ++++++-
 .../java/accord/messages/BeginInvalidation.java    |  64 +-
 .../main/java/accord/messages/BeginRecovery.java   |  58 +-
 .../src/main/java/accord/messages/Callback.java    |   5 +-
 .../src/main/java/accord/messages/CheckStatus.java | 165 ++--
 .../src/main/java/accord/messages/Commit.java      | 184 ++---
 .../java/accord/messages/GetDurableBefore.java     |   6 +
 .../java/accord/messages/GetEphemeralReadDeps.java |  48 +-
 .../main/java/accord/messages/GetLatestDeps.java   |  19 +-
 .../main/java/accord/messages/GetMaxConflict.java  |  18 +-
 .../main/java/accord/messages/InformDurable.java   |  55 +-
 .../{AbstractRequest.java => NoWaitRequest.java}   |  56 +-
 .../{TxnRequest.java => ParticipantsRequest.java}  |  74 +-
 .../src/main/java/accord/messages/PreAccept.java   |  19 +-
 .../src/main/java/accord/messages/Propagate.java   | 220 ++++--
 .../src/main/java/accord/messages/ReadData.java    | 450 ++++++++---
 .../java/accord/messages/ReadEphemeralTxnData.java |  74 +-
 .../src/main/java/accord/messages/ReadTxnData.java |  40 +-
 .../main/java/accord/messages/RecoverAwait.java    |  22 +-
 .../src/main/java/accord/messages/Reply.java       |   6 +
 .../main/java/accord/messages/RouteRequest.java    |  78 ++
 .../main/java/accord/messages/SafeCallback.java    |  39 +-
 .../java/accord/messages/SetGloballyDurable.java   |   6 +
 .../main/java/accord/messages/SetShardDurable.java |  32 +-
 .../main/java/accord/messages/StableThenRead.java  |  51 +-
 .../java/accord/messages/WaitUntilApplied.java     |  25 +-
 .../main/java/accord/primitives/AbstractKeys.java  |  90 ++-
 .../java/accord/primitives/AbstractRanges.java     | 118 ++-
 .../accord/primitives/AbstractUnseekableKeys.java  |   4 +-
 .../src/main/java/accord/primitives/Deps.java      |  16 +-
 .../main/java/accord/primitives/FullKeyRoute.java  |   6 -
 .../java/accord/primitives/FullRangeRoute.java     |   7 -
 .../src/main/java/accord/primitives/KeyDeps.java   | 207 +++--
 .../src/main/java/accord/primitives/KeyRoute.java  |   6 +
 .../src/main/java/accord/primitives/Known.java     |  14 +-
 .../src/main/java/accord/primitives/KnownMap.java  | 163 ++--
 .../main/java/accord/primitives/LatestDeps.java    |  47 +-
 .../main/java/accord/primitives/ProgressToken.java |  49 +-
 .../src/main/java/accord/primitives/Range.java     |   1 -
 .../src/main/java/accord/primitives/RangeDeps.java | 268 +++++--
 .../main/java/accord/primitives/RangeRoute.java    |   5 +
 .../src/main/java/accord/primitives/Ranges.java    |  20 +-
 .../src/main/java/accord/primitives/Routable.java  |   2 +-
 .../src/main/java/accord/primitives/Routables.java |   7 +
 .../main/java/accord/primitives/SaveStatus.java    |  27 +-
 .../src/main/java/accord/primitives/Status.java    | 478 ++++++++++--
 .../src/main/java/accord/primitives/Timestamp.java |  43 +-
 .../src/main/java/accord/primitives/Txn.java       | 137 ++--
 .../src/main/java/accord/primitives/TxnId.java     |  50 +-
 .../main/java/accord/primitives/Unseekables.java   |   3 +-
 .../src/main/java/accord/primitives/Writes.java    |  46 +-
 .../src/main/java/accord/topology/Shard.java       |   5 +
 .../src/main/java/accord/topology/Topologies.java  |  11 +-
 .../src/main/java/accord/topology/Topology.java    | 101 ++-
 .../main/java/accord/topology/TopologyManager.java | 306 +++++---
 .../src/main/java/accord/utils/ArrayBuffers.java   |   9 +-
 .../src/main/java/accord/utils/BitUtils.java       |  13 +-
 .../java/accord/utils/CheckpointIntervalArray.java |  15 +-
 .../utils/CheckpointIntervalArrayBuilder.java      |  19 +-
 .../utils/{UnhandledEnum.java => DebugMap.java}    |  29 +-
 .../main/java/accord/utils/DeterministicSet.java   |   6 +
 .../main/java/accord/utils/ImmutableBitSet.java    |   6 +-
 .../java/accord/utils/IntrusiveLinkedList.java     |   3 +-
 .../java/accord/utils/IntrusivePriorityHeap.java   |   6 +
 .../src/main/java/accord/utils/Invariants.java     |  98 ++-
 .../utils/{SimpleBitSet.java => LargeBitSet.java}  |  49 +-
 .../src/main/java/accord/utils/MapReduce.java      |   2 +-
 .../main/java/accord/utils/MapReduceConsume.java   |  11 +-
 .../main/java/accord/utils/PersistentField.java    |   4 +-
 .../utils/{BiFoldToLong.java => Reduce.java}       |   5 +-
 .../java/accord/utils/ReducingIntervalMap.java     |  21 +-
 .../main/java/accord/utils/ReducingRangeMap.java   |   8 +-
 .../main/java/accord/utils/RelationMultiMap.java   |  19 +-
 .../src/main/java/accord/utils/SimpleBitSet.java   | 478 +-----------
 .../{DefaultRandom.java => SimpleBitSets.java}     |  22 +-
 .../src/main/java/accord/utils/SmallBitSet.java    |  97 +++
 .../src/main/java/accord/utils/SortedArrays.java   | 302 ++++++++
 .../src/main/java/accord/utils/SortedList.java     |  12 +-
 .../src/main/java/accord/utils/SortedListMap.java  | 105 +--
 .../src/main/java/accord/utils/SortedListSet.java  |  50 +-
 .../src/main/java/accord/utils/TinyEnumSet.java    |  96 +++
 accord-core/src/main/java/accord/utils/Utils.java  |   6 +-
 .../main/java/accord/utils/WrappableException.java |  31 +
 .../java/accord/utils/async/AsyncCallbacks.java    | 195 ++++-
 .../main/java/accord/utils/async/AsyncChain.java   | 119 ++-
 .../main/java/accord/utils/async/AsyncChains.java  | 846 ++++++++-------------
 ...{AsyncChainCombiner.java => AsyncCombiner.java} |  63 +-
 .../main/java/accord/utils/async/AsyncResult.java  | 123 ++-
 .../main/java/accord/utils/async/AsyncResults.java | 163 ++--
 .../main/java/accord/utils/async/Observable.java   | 160 ----
 ...{AsyncExecutor.java => RunnableWithResult.java} |  26 +-
 .../src/main/java/accord/utils/btree/BTreeSet.java |   3 +-
 accord-core/src/test/java/accord/Utils.java        |   6 +-
 .../src/test/java/accord/burn/BurnTest.java        |  24 +-
 .../src/test/java/accord/burn/BurnTestBase.java    | 278 +++++--
 .../accord/burn/BurnTestConfigurationService.java  |  30 +-
 .../src/test/java/accord/burn/TopologyUpdates.java |  32 +-
 .../accord/coordinate/CoordinateSyncPointTest.java |  30 +-
 .../coordinate/CoordinateTransactionTest.java      |  29 +-
 .../accord/coordinate/FailureAccumulatorTest.java  |  20 +-
 .../java/accord/coordinate/TopologyChangeTest.java |  32 +-
 .../tracking/FastPathTrackerReconciler.java        |   5 +-
 .../coordinate/tracking/TrackerReconciler.java     |   4 +-
 .../impl/AbstractConfigurationServiceTest.java     |  17 +-
 ....java => AbstractTestConfigurationService.java} |  47 +-
 .../test/java/accord/impl/LocalListenersTest.java  |   2 +-
 .../src/test/java/accord/impl/MessageListener.java |   6 +-
 .../test/java/accord/impl/RemoteListenersTest.java |  36 +-
 .../src/test/java/accord/impl/TestAgent.java       |  64 +-
 .../src/test/java/accord/impl/basic/Cluster.java   | 341 +++++----
 .../accord/impl/basic/DelayedCommandStores.java    | 109 +--
 .../java/accord/impl/basic/InMemoryJournal.java    | 112 +--
 .../java/accord/impl/basic/LoggingJournal.java     |  18 +-
 .../accord/impl/basic/MonitoredPendingQueue.java   |   6 +
 .../src/test/java/accord/impl/basic/NodeSink.java  |  14 +-
 .../src/test/java/accord/impl/basic/Pending.java   |   6 +
 .../test/java/accord/impl/basic/PendingQueue.java  |   9 +
 .../java/accord/impl/basic/RandomDelayQueue.java   | 190 ++++-
 .../impl/basic/RecurringPendingRunnable.java       |  10 +-
 .../basic/SimulatedDelayedExecutorService.java     |  45 +-
 .../accord/impl/basic/TaskExecutorService.java     |  23 +-
 .../java/accord/impl/basic/TestProgressLogs.java   |  91 +++
 .../src/test/java/accord/impl/list/ListAgent.java  | 114 ++-
 .../src/test/java/accord/impl/list/ListData.java   |  27 +-
 .../accord/impl/list/ListFetchCoordinator.java     |  10 +-
 .../src/test/java/accord/impl/list/ListRead.java   |  46 +-
 .../test/java/accord/impl/list/ListRequest.java    |  35 +-
 .../src/test/java/accord/impl/list/ListStore.java  | 118 +--
 .../src/test/java/accord/impl/list/ListUpdate.java |   4 +-
 .../src/test/java/accord/impl/list/ListWrite.java  |  38 +-
 .../test/java/accord/impl/list/Snapshotter.java    | 135 ++++
 .../test/java/accord/impl/mock/MockCluster.java    |  16 +-
 .../accord/impl/mock/MockConfigurationService.java |   7 +-
 .../src/test/java/accord/impl/mock/MockStore.java  |  22 +-
 .../src/test/java/accord/impl/mock/Network.java    |   8 +-
 .../accord/impl/mock/RecordingMessageSink.java     |   7 +-
 .../java/accord/impl/mock/SimpleMessageSink.java   |   7 +-
 .../test/java/accord/local/CheckedCommands.java    |   6 +-
 .../src/test/java/accord/local/CommandsTest.java   |   2 +-
 .../java/accord/local/ImmutableCommandTest.java    |  18 +-
 .../java/accord/local/RedundantBeforeTest.java     |  17 +-
 .../java/accord/local/cfk/CommandsForKeyTest.java  |  77 +-
 .../test/java/accord/messages/PreAcceptTest.java   |   7 +-
 .../test/java/accord/messages/ReadDataTest.java    |  24 +-
 ...stScopeTest.java => RouteRequestScopeTest.java} |  22 +-
 .../java/accord/primitives/AbstractRangesTest.java |   2 +-
 .../java/accord/topology/TopologyManagerTest.java  |  10 +-
 .../java/accord/topology/TopologyRandomizer.java   | 131 +++-
 .../test/java/accord/topology/TopologyUtils.java   |   2 +-
 .../src/test/java/accord/utils/AccordGens.java     |   3 +-
 .../accord/utils/BTreeReducingRangeMapTest.java    |   3 +-
 .../test/java/accord/utils/ExtendedAssertions.java |   4 +-
 accord-core/src/test/java/accord/utils/Gen.java    |  56 +-
 accord-core/src/test/java/accord/utils/Gens.java   | 435 ++++++++++-
 ...{SimpleBitSetTest.java => LargeBitSetTest.java} |  10 +-
 .../src/test/java/accord/utils/MessageTask.java    |  14 +-
 .../src/test/java/accord/utils/Property.java       |  90 ++-
 accord-core/src/test/java/accord/utils/README.md   | 318 ++++++++
 .../java/accord/utils/ReducingRangeMapTest.java    |   4 +-
 .../test/java/accord/utils/SimpleBitSetTest.java   | 263 +++----
 .../test/java/accord/utils/SortedArraysTest.java   |  43 ++
 .../java/accord/utils/async/AsyncChainUtils.java   | 206 +++++
 .../java/accord/utils/async/AsyncChainsTest.java   |  86 +--
 .../java/accord/utils/async/AsyncResultTest.java   | 387 ++++++++++
 .../test/java/accord/utils/async/TimeoutUtils.java |   2 +-
 .../verify/StrictSerializabilityVerifier.java      |   9 +-
 accord-core/src/test/resources/burn-logback.xml    |   1 +
 .../src/main/java/accord/maelstrom/Cluster.java    |  21 +-
 .../main/java/accord/maelstrom/MaelstromAgent.java |  34 +-
 .../main/java/accord/maelstrom/MaelstromData.java  |  12 +
 .../main/java/accord/maelstrom/MaelstromRead.java  |   8 +-
 .../main/java/accord/maelstrom/MaelstromStore.java |  15 +-
 .../main/java/accord/maelstrom/MaelstromWrite.java |  11 +-
 .../src/main/java/accord/maelstrom/Main.java       |  17 +-
 .../java/accord/maelstrom/SimpleConfigService.java |   3 +-
 .../java/accord/maelstrom/TopologyFactory.java     |   3 +-
 build.gradle                                       |   3 +-
 gradle/wrapper/gradle-wrapper.properties           |   2 +-
 331 files changed, 19041 insertions(+), 9377 deletions(-)
 copy accord-core/src/main/java/accord/{utils/async => api}/AsyncExecutor.java 
(51%)
 copy accord-core/src/{test/java/accord/api/TestableConfigurationService.java 
=> main/java/accord/api/AsyncExecutorFactory.java} (82%)
 create mode 100644 
accord-core/src/main/java/accord/api/CoordinatorEventListener.java
 delete mode 100644 accord-core/src/main/java/accord/api/EventListener.java
 copy accord-core/src/main/java/accord/api/{Update.java => 
OwnershipEventListener.java} (51%)
 create mode 100644 
accord-core/src/main/java/accord/api/ReplicaEventListener.java
 create mode 100644 accord-core/src/main/java/accord/api/Tracing.java
 create mode 100644 accord-core/src/main/java/accord/api/ViolationHandler.java
 copy accord-core/src/main/java/accord/coordinate/{Preempted.java => 
Aborted.java} (64%)
 create mode 100644 
accord-core/src/main/java/accord/coordinate/AbstractCoordination.java
 create mode 100644 
accord-core/src/main/java/accord/coordinate/AbstractSimpleCoordination.java
 create mode 100644 
accord-core/src/main/java/accord/coordinate/Coordination.java
 create mode 100644 
accord-core/src/main/java/accord/coordinate/Coordinations.java
 create mode 100644 accord-core/src/main/java/accord/coordinate/FetchRoute.java
 delete mode 100644 accord-core/src/main/java/accord/coordinate/FindRoute.java
 delete mode 100644 
accord-core/src/main/java/accord/coordinate/FindSomeRoute.java
 rename accord-core/src/main/java/accord/coordinate/{RecoverWithRoute.java => 
PrepareRecovery.java} (54%)
 copy accord-core/src/main/java/accord/{utils/WrapAroundList.java => 
impl/AbstractAsyncExecutor.java} (55%)
 delete mode 100644 accord-core/src/main/java/accord/impl/AbstractLoader.java
 create mode 100644 accord-core/src/main/java/accord/impl/AbstractReplayer.java
 copy accord-core/src/main/java/accord/impl/{SafeState.java => 
InMemoryAgent.java} (80%)
 rename accord-core/src/main/java/accord/local/{KeyHistory.java => 
LoadKeys.java} (78%)
 create mode 100644 accord-core/src/main/java/accord/local/LoadKeysFor.java
 rename accord-core/src/main/java/accord/local/{AgentExecutor.java => 
LogUnavailableException.java} (70%)
 create mode 100644 
accord-core/src/main/java/accord/local/MapReduceCommandStores.java
 create mode 100644 
accord-core/src/main/java/accord/local/MapReduceConsumeCommandStores.java
 create mode 100644 accord-core/src/main/java/accord/local/MaxDecidedRX.java
 copy accord-core/src/main/java/accord/{topology/ShardSelection.java => 
local/SequentialAsyncExecutor.java} (83%)
 rename accord-core/src/main/java/accord/messages/{AbstractRequest.java => 
NoWaitRequest.java} (77%)
 rename accord-core/src/main/java/accord/messages/{TxnRequest.java => 
ParticipantsRequest.java} (68%)
 create mode 100644 accord-core/src/main/java/accord/messages/RouteRequest.java
 copy accord-core/src/main/java/accord/utils/{UnhandledEnum.java => 
DebugMap.java} (59%)
 copy accord-core/src/main/java/accord/utils/{SimpleBitSet.java => 
LargeBitSet.java} (90%)
 copy accord-core/src/main/java/accord/utils/{BiFoldToLong.java => Reduce.java} 
(87%)
 copy accord-core/src/main/java/accord/utils/{DefaultRandom.java => 
SimpleBitSets.java} (71%)
 create mode 100644 accord-core/src/main/java/accord/utils/SmallBitSet.java
 rename accord-core/src/main/java/accord/utils/async/{AsyncChainCombiner.java 
=> AsyncCombiner.java} (60%)
 delete mode 100644 accord-core/src/main/java/accord/utils/async/Observable.java
 rename accord-core/src/main/java/accord/utils/async/{AsyncExecutor.java => 
RunnableWithResult.java} (67%)
 copy accord-core/src/test/java/accord/impl/{TopologyFactory.java => 
AbstractTestConfigurationService.java} (50%)
 create mode 100644 
accord-core/src/test/java/accord/impl/basic/TestProgressLogs.java
 create mode 100644 accord-core/src/test/java/accord/impl/list/Snapshotter.java
 rename accord-core/src/test/java/accord/messages/{TxnRequestScopeTest.java => 
RouteRequestScopeTest.java} (73%)
 copy accord-core/src/test/java/accord/utils/{SimpleBitSetTest.java => 
LargeBitSetTest.java} (96%)
 create mode 100644 accord-core/src/test/java/accord/utils/README.md
 create mode 100644 
accord-core/src/test/java/accord/utils/async/AsyncChainUtils.java
 create mode 100644 
accord-core/src/test/java/accord/utils/async/AsyncResultTest.java


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to