This is an automated email from the ASF dual-hosted git repository.
ifesdjeen pushed a change to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra-harry.git
from 42a50b4 Fix conf/external.yaml to have run_time in the right place
new d4ecaf8 Improvements:
new 6ed308d Pull in Cassandra concurrent utils until there is a common
shared library
new 6e0b450 Pull in token util from Cassandra to avoid circular dependency
new 796cfd4 Implement concurrent quiescent checker
new c0e749e Make it possible to run multiple Harry runners concurrently
against the same keyspace
new a8b9869 Allow selecting subsets of columns and wilcard queries. Open
API for hand-crafting both mutation and read queries Improve errors Fix a
problem with corruptor sorting
new 8a3748c Minor API improvements
new 6ae2209 Trigger exception if we run out of partitions
new 2b7563f Implement parsing schema provider
The 9 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:
Makefile | 18 +-
README.md | 104 ++++-
bin/build-shaded-dtest-for-harry.sh | 51 +++
bin/relocate-dependencies-harry.pom | 154 ++++++++
conf/default.yaml | 6 -
conf/external.yaml | 44 ++-
harry-core/pom.xml | 10 +
harry-core/src/harry/concurrent/Awaitable.java | 399 +++++++++++++++++++
harry-core/src/harry/concurrent/Clock.java | 103 +++++
harry-core/src/harry/concurrent/Condition.java | 99 +++++
.../src/harry/concurrent/CountDownLatch.java | 107 ++++++
.../src/harry/concurrent/ExecutorFactory.java | 155 ++++++++
.../src/harry/concurrent/InfiniteLoopExecutor.java | 178 +++++++++
.../Model.java => concurrent/Interruptible.java} | 38 +-
.../src/harry/concurrent/NamedThreadFactory.java | 195 ++++++++++
.../Shutdownable.java} | 36 +-
.../UncheckedInterruptedException.java} | 25 +-
harry-core/src/harry/concurrent/WaitQueue.java | 390 +++++++++++++++++++
harry-core/src/harry/core/Configuration.java | 335 +++++++++++-----
harry-core/src/harry/core/Run.java | 2 -
.../src/harry/corruptor/AddExtraRowCorruptor.java | 11 +-
.../src/harry/corruptor/ChangeValueCorruptor.java | 2 +-
.../harry/corruptor/QueryResponseCorruptor.java | 16 +-
harry-core/src/harry/data/ResultSetRow.java | 37 +-
harry-core/src/harry/ddl/ColumnSpec.java | 16 +
harry-core/src/harry/ddl/SchemaGenerators.java | 44 ++-
harry-core/src/harry/ddl/SchemaSpec.java | 8 +-
harry-core/src/harry/dsl/HistoryBuilder.java | 5 +
harry-core/src/harry/generators/Bijections.java | 35 +-
.../src/harry/generators/DataGenerators.java | 2 +
harry-core/src/harry/generators/PCGFastPure.java | 2 +-
harry-core/src/harry/generators/RngUtils.java | 12 +
.../harry/model/AlwaysSamePartitionSelector.java | 5 +
harry-core/src/harry/model/OpSelectors.java | 76 +++-
.../src/harry/model/QueryingNoOpValidator.java | 21 +-
harry-core/src/harry/model/QuiescentChecker.java | 131 +++++--
.../model/QuiescentLocalStateCheckerBase.java | 110 ++++++
.../harry/model/RepairingLocalStateValidator.java | 93 +++++
harry-core/src/harry/model/SelectHelper.java | 144 ++++++-
harry-core/src/harry/model/clock/OffsetClock.java | 17 +-
.../src/harry/model/sut/SystemUnderTest.java | 12 +-
.../src/harry/model/sut/TokenPlacementModel.java | 218 +++++++++++
.../sut/injvm}/InJVMTokenAwareVisitExecutor.java | 85 +++-
.../src/harry/model/sut/injvm/InJvmSut.java | 19 +-
.../src/harry/model/sut/injvm}/InJvmSutBase.java | 74 ++--
.../model/sut/injvm/MixedVersionInJvmSut.java | 74 ++++
.../sut/injvm/QuiescentLocalStateChecker.java | 76 ++++
harry-core/src/harry/operations/Query.java | 233 ++++++++++-
.../src/harry/operations/QueryGenerator.java | 241 ++----------
.../src/harry/reconciler/PartitionState.java | 266 +++++++++++++
harry-core/src/harry/reconciler/Reconciler.java | 272 ++-----------
harry-core/src/harry/runner/DataTracker.java | 69 ++--
.../src/harry/runner/DefaultDataTracker.java | 146 ++++---
harry-core/src/harry/runner/HarryRunner.java | 58 +--
.../src/harry/runner/LockingDataTracker.java | 257 +++++++++++++
harry-core/src/harry/runner/Runner.java | 426 ++++++++-------------
harry-core/src/harry/runner/StagedRunner.java | 133 +------
.../src/harry/runner/TrivialShrinker.java | 4 +-
harry-core/src/harry/runner/UpToLtsRunner.java | 46 ++-
harry-core/src/harry/util/ByteUtils.java | 47 +--
.../StringUtils.java} | 18 +-
harry-core/src/harry/util/TokenUtil.java | 150 ++++++++
.../src/harry/visitors/AllPartitionsValidator.java | 162 ++++----
.../src/harry/visitors/CorruptingVisitor.java | 9 +-
.../src/harry/visitors}/FaultInjectingVisitor.java | 48 ++-
harry-core/src/harry/visitors/MutatingVisitor.java | 46 ++-
.../harry/visitors/ParallelRecentValidator.java | 65 +---
.../src/harry/visitors/ParallelValidator.java | 24 +-
harry-core/src/harry/visitors/QueryLogger.java | 97 +++++
.../harry/visitors/RandomPartitionValidator.java | 59 +++
harry-core/src/harry/visitors/RandomValidator.java | 93 +++++
harry-core/src/harry/visitors/RecentValidator.java | 68 +---
harry-core/src/harry/visitors/Sampler.java | 56 ++-
.../src/harry/visitors/SkippingVisitor.java | 0
harry-core/test/harry/model/OpSelectorsTest.java | 93 ++---
harry-core/test/harry/operations/RelationTest.java | 5 +
.../test/harry/runner/LockingDataTrackerTest.java | 120 ++++++
.../dependency-reduced-pom.xml | 2 +-
harry-integration-external/pom.xml | 2 +-
.../com/datastax/driver/core/UtilsAccessor.java | 15 +-
.../model/sut/external/ExternalClusterSut.java | 61 ++-
.../sut/external/QuiescentLocalStateChecker.java | 80 ++++
.../harry/runner/external/HarryRunnerExternal.java | 9 +-
.../src/harry/runner/external/MiniStress.java | 127 ++++++
.../src/harry/schema/ParsingSchemaProvider.java | 69 ++++
.../src/harry/schema/SchemaHelper.java | 91 +++++
harry-integration/pom.xml | 4 +
.../src/harry/model/sut/ByteUtils.java | 115 ------
.../InJvmSutConfiguration.java} | 53 +--
.../MixedInJvmSutConfiguration.java} | 66 +---
.../src/harry/runner/HarryRunnerJvm.java | 43 ---
.../harry/runner/RepairingLocalStateValidator.java | 143 -------
harry-integration/src/harry/runner/Reproduce.java | 52 ---
.../generators/DataGeneratorsIntegrationTest.java | 17 +-
.../ConcurrentQuiescentCheckerIntegrationTest.java | 71 ++++
.../harry/model/HistoryBuilderIntegrationTest.java | 2 +-
.../harry/model/InJVMTokenAwareExecutorTest.java | 32 +-
.../test/harry/model/IntegrationTestBase.java | 9 +-
.../test/harry/model/ModelTestBase.java | 95 +++--
.../harry/model/QuerySelectorNegativeTest.java | 3 +-
.../model/QuiescentCheckerIntegrationTest.java | 48 ++-
.../QuiescentLocalStateCheckerIntegrationTest.java | 79 ++++
.../harry/reconciler/SimpleReconcilerTest.java | 332 ++++++++++++++++
pom.xml | 2 +-
104 files changed, 6425 insertions(+), 2302 deletions(-)
create mode 100755 bin/build-shaded-dtest-for-harry.sh
create mode 100644 bin/relocate-dependencies-harry.pom
create mode 100644 harry-core/src/harry/concurrent/Awaitable.java
create mode 100644 harry-core/src/harry/concurrent/Clock.java
create mode 100644 harry-core/src/harry/concurrent/Condition.java
create mode 100644 harry-core/src/harry/concurrent/CountDownLatch.java
create mode 100644 harry-core/src/harry/concurrent/ExecutorFactory.java
create mode 100644 harry-core/src/harry/concurrent/InfiniteLoopExecutor.java
copy harry-core/src/harry/{model/Model.java => concurrent/Interruptible.java}
(54%)
create mode 100644 harry-core/src/harry/concurrent/NamedThreadFactory.java
copy harry-core/src/harry/{visitors/VisitExecutor.java =>
concurrent/Shutdownable.java} (52%)
copy harry-core/src/harry/{model/NoOpChecker.java =>
concurrent/UncheckedInterruptedException.java} (64%)
create mode 100644 harry-core/src/harry/concurrent/WaitQueue.java
rename harry-integration/src/harry/runner/QueryingNoOpChecker.java =>
harry-core/src/harry/model/QueryingNoOpValidator.java (80%)
create mode 100644
harry-core/src/harry/model/QuiescentLocalStateCheckerBase.java
create mode 100644 harry-core/src/harry/model/RepairingLocalStateValidator.java
create mode 100644 harry-core/src/harry/model/sut/TokenPlacementModel.java
rename {harry-integration/src/harry/model/sut =>
harry-core/src/harry/model/sut/injvm}/InJVMTokenAwareVisitExecutor.java (53%)
copy harry-integration/test/harry/model/TestBaseImpl.java =>
harry-core/src/harry/model/sut/injvm/InJvmSut.java (69%)
rename {harry-integration/src/harry/model/sut =>
harry-core/src/harry/model/sut/injvm}/InJvmSutBase.java (80%)
create mode 100644
harry-core/src/harry/model/sut/injvm/MixedVersionInJvmSut.java
create mode 100644
harry-core/src/harry/model/sut/injvm/QuiescentLocalStateChecker.java
create mode 100644 harry-core/src/harry/reconciler/PartitionState.java
create mode 100644 harry-core/src/harry/runner/LockingDataTracker.java
rename {harry-integration => harry-core}/src/harry/runner/TrivialShrinker.java
(98%)
copy harry-core/src/harry/{generators/BooleanGenerator.java =>
util/StringUtils.java} (73%)
create mode 100644 harry-core/src/harry/util/TokenUtil.java
rename {harry-integration/src/harry/runner =>
harry-core/src/harry/visitors}/FaultInjectingVisitor.java (93%)
create mode 100644 harry-core/src/harry/visitors/QueryLogger.java
create mode 100644 harry-core/src/harry/visitors/RandomPartitionValidator.java
create mode 100644 harry-core/src/harry/visitors/RandomValidator.java
rename {harry-integration =>
harry-core}/src/harry/visitors/SkippingVisitor.java (100%)
create mode 100644 harry-core/test/harry/runner/LockingDataTrackerTest.java
rename harry-integration/test/harry/model/TestBaseImpl.java =>
harry-integration-external/src/com/datastax/driver/core/UtilsAccessor.java (72%)
create mode 100644
harry-integration-external/src/harry/model/sut/external/QuiescentLocalStateChecker.java
create mode 100644
harry-integration-external/src/harry/runner/external/MiniStress.java
create mode 100644
harry-integration-external/src/harry/schema/ParsingSchemaProvider.java
create mode 100644
harry-integration-external/src/harry/schema/SchemaHelper.java
delete mode 100644 harry-integration/src/harry/model/sut/ByteUtils.java
rename harry-integration/src/harry/model/sut/{InJvmSut.java =>
injvm/InJvmSutConfiguration.java} (50%)
rename harry-integration/src/harry/model/sut/{MixedVersionInJvmSut.java =>
injvm/MixedInJvmSutConfiguration.java} (60%)
delete mode 100644 harry-integration/src/harry/runner/HarryRunnerJvm.java
delete mode 100644
harry-integration/src/harry/runner/RepairingLocalStateValidator.java
delete mode 100644 harry-integration/src/harry/runner/Reproduce.java
create mode 100644
harry-integration/test/harry/model/ConcurrentQuiescentCheckerIntegrationTest.java
create mode 100644
harry-integration/test/harry/model/QuiescentLocalStateCheckerIntegrationTest.java
create mode 100644
harry-integration/test/harry/reconciler/SimpleReconcilerTest.java
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]