From 60f742c739ba4830a5d459bf3efa0783a9717bb6 Mon Sep 17 00:00:00 2001 From: Benedict Elliott Smith Date: Thu, 14 Jul 2022 13:50:15 +0100 Subject: [PATCH] Followup to CASSANDRA-17530: Fix synchronisation of ClassTransformer, and make compilation deterministic patch by Benedict; reviewed by Blake Eggleston for CASSANDRA-17530 --- build.xml | 2 ++ .../org/apache/cassandra/simulator/asm/InterceptClasses.java | 4 ++-- .../main/org/apache/cassandra/simulator/package-info.java | 1 + .../apache/cassandra/simulator/test/SimulationTestBase.java | 3 +++ 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/build.xml b/build.xml index f086523e81..e563b95dff 100644 --- a/build.xml +++ b/build.xml @@ -2020,6 +2020,8 @@ + + diff --git a/test/simulator/asm/org/apache/cassandra/simulator/asm/InterceptClasses.java b/test/simulator/asm/org/apache/cassandra/simulator/asm/InterceptClasses.java index 11e7f89dda..a57074db27 100644 --- a/test/simulator/asm/org/apache/cassandra/simulator/asm/InterceptClasses.java +++ b/test/simulator/asm/org/apache/cassandra/simulator/asm/InterceptClasses.java @@ -131,12 +131,12 @@ public class InterceptClasses implements BiFunction } @Override - public synchronized byte[] apply(String name, byte[] bytes) + public byte[] apply(String name, byte[] bytes) { return transformTransitiveClosure(name, bytes, null); } - private byte[] transformTransitiveClosure(String externalName, byte[] input, Map isolatedCache) + private synchronized byte[] transformTransitiveClosure(String externalName, byte[] input, Map isolatedCache) { if (input == null) return maybeSynthetic(externalName); diff --git a/test/simulator/main/org/apache/cassandra/simulator/package-info.java b/test/simulator/main/org/apache/cassandra/simulator/package-info.java index d6da8288d2..896ce4e989 100644 --- a/test/simulator/main/org/apache/cassandra/simulator/package-info.java +++ b/test/simulator/main/org/apache/cassandra/simulator/package-info.java @@ -65,6 +65,7 @@ * -XX:ActiveProcessorCount=??? * -Xmx??? * -XX:-BackgroundCompilation + * -XX:CICompilerCount=1 * * For performance reasons the following parameters are recommended: * -XX:Tier4CompileThreshold=1000 diff --git a/test/simulator/test/org/apache/cassandra/simulator/test/SimulationTestBase.java b/test/simulator/test/org/apache/cassandra/simulator/test/SimulationTestBase.java index 87eb9b995c..4cceb8fa3e 100644 --- a/test/simulator/test/org/apache/cassandra/simulator/test/SimulationTestBase.java +++ b/test/simulator/test/org/apache/cassandra/simulator/test/SimulationTestBase.java @@ -194,6 +194,9 @@ public class SimulationTestBase { Failures failures = new Failures(); RandomSource random = new RandomSource.Default(); + long seed = System.currentTimeMillis(); + System.out.println("Using seed: " + seed); + random.reset(seed); SimulatedTime time = new SimulatedTime(1, random, 1577836800000L /*Jan 1st UTC*/, new LongRange(1, 100, MILLISECONDS, NANOSECONDS), UNIFORM, UNIFORM.period(new LongRange(10L, 60L, SECONDS, NANOSECONDS), random), (i1, i2) -> {}); SimulatedExecution execution = new SimulatedExecution();