diff --git a/CHANGES.txt b/CHANGES.txt index 847e7729b1..75b05ea2b5 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -338,6 +338,7 @@ * Make stop-server.bat wait for Cassandra to terminate (CASSANDRA-14829) * Correct sstable sorting for garbagecollect and levelled compaction (CASSANDRA-14870) Merged from 3.0: + * Fix cassandra-stress write hang with default options (CASSANDRA-14616) * Netty epoll IOExceptions caused by unclean client disconnects being logged at INFO (CASSANDRA-14909) * Unfiltered.isEmpty conflicts with Row extends AbstractCollection.isEmpty (CASSANDRA-14588) * RangeTombstoneList doesn't properly clean up mergeable or superseded rts in some cases (CASSANDRA-14894) diff --git a/tools/stress/src/org/apache/cassandra/stress/StressAction.java b/tools/stress/src/org/apache/cassandra/stress/StressAction.java index 34e0d8c71f..3268182342 100644 --- a/tools/stress/src/org/apache/cassandra/stress/StressAction.java +++ b/tools/stress/src/org/apache/cassandra/stress/StressAction.java @@ -104,7 +104,11 @@ public class StressAction implements Runnable private void warmup(OpDistributionFactory operations) { // do 25% of iterations as warmup but no more than 50k (by default hotspot compiles methods after 10k invocations) - int iterations = Math.min(50000, (int) (settings.command.count * 0.25)) * settings.node.nodes.size(); + int iterations = (settings.command.count >= 0 + ? Math.min(50000, (int)(settings.command.count * 0.25)) + : 50000) * settings.node.nodes.size(); + if (iterations <= 0) return; + int threads = 100; if (settings.rate.maxThreads > 0)