You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jo...@apache.org on 2022/06/06 17:15:00 UTC
[cassandra] 01/01: Merge branch 'cassandra-3.11' into cassandra-4.0
This is an automated email from the ASF dual-hosted git repository.
jonmeredith pushed a commit to branch cassandra-4.0
in repository https://gitbox.apache.org/repos/asf/cassandra.git
commit 943184b1948c57fcfecdcd968bab02e2fca2ea56
Merge: 52f6ac4af9 c9a7269874
Author: Jon Meredith <jo...@apache.org>
AuthorDate: Mon Jun 6 11:05:59 2022 -0600
Merge branch 'cassandra-3.11' into cassandra-4.0
.../distributed/test/MessageForwardingTest.java | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --cc test/distributed/org/apache/cassandra/distributed/test/MessageForwardingTest.java
index 153d7de706,895772364c..f7883b38a1
--- a/test/distributed/org/apache/cassandra/distributed/test/MessageForwardingTest.java
+++ b/test/distributed/org/apache/cassandra/distributed/test/MessageForwardingTest.java
@@@ -24,16 -24,20 +24,20 @@@ import java.util.HashMap
import java.util.List;
import java.util.Map;
import java.util.UUID;
+ import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
+ import java.util.concurrent.TimeUnit;
+ import java.util.concurrent.TimeoutException;
+import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;
import org.junit.Assert;
import org.junit.Test;
+ import org.apache.cassandra.concurrent.Stage;
-import org.apache.cassandra.concurrent.StageManager;
-import org.apache.cassandra.distributed.Cluster;
import org.apache.cassandra.distributed.api.ConsistencyLevel;
+import org.apache.cassandra.distributed.Cluster;
import org.apache.cassandra.distributed.impl.IsolatedExecutor;
import org.apache.cassandra.distributed.impl.TracingUtil;
import org.apache.cassandra.utils.UUIDGen;
@@@ -66,9 -69,23 +70,24 @@@ public class MessageForwardingTest exte
// Wait for each of the futures to complete before checking the traces, don't care
// about the result so
//noinspection ResultOfMethodCallIgnored
- inserts.map(IsolatedExecutor::waitOn).count();
+ inserts.map(IsolatedExecutor::waitOn).collect(Collectors.toList());
+ // Tracing is async with respect to queries, just because the query has completed it does not mean
+ // all tracing updates have completed. The tracing executor serializes work, so run a task through
+ // and everthing submitted before must have completed.
+ cluster.forEach(instance -> instance.runOnInstance(() -> {
- Future<?> result = StageManager.getStage(Stage.TRACING).submit(() -> null);
++ Future<?> result = Stage.TRACING.submit(() -> null);
+ try
+ {
+ result.get(30, TimeUnit.SECONDS);
+ }
+ catch (ExecutionException | InterruptedException | TimeoutException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+ }));
+
+ cluster.stream("dc1").forEach(instance -> forwardFromCounts.put(instance.broadcastAddress().getAddress(), 0));
cluster.forEach(instance -> commitCounts.put(instance.broadcastAddress().getAddress(), 0));
List<TracingUtil.TraceEntry> traces = TracingUtil.getTrace(cluster, sessionId, ConsistencyLevel.ALL);
traces.forEach(traceEntry -> {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org