I just started forked a JVM from a benchmark setup using something like
this:

      List<String> command = new ArrayList<>();
      command.add(
          new File(new File(System.getProperty("java.home"), "bin"),
"java").getCanonicalPath());
      command.add(
          "-D" + DistributionConfig.GEMFIRE_PREFIX +
ConfigurationProperties.MCAST_PORT + "=0");
      command.add(
          "-D" + DistributionConfig.GEMFIRE_PREFIX +
ConfigurationProperties.LOCATORS + "\"\"");
      command.add("-Dgemfire.cache-xml-file=" +
destServerXml.getAbsolutePath());
      command.add("-cp");
      command.add(System.getProperty("java.class.path"));
      command.add(ServerLauncher.class.getName());
      command.add(ServerLauncher.Command.START.getName());
      command.add("server1");
      command.add("--server-port=" + this.serverPort);

The resulting JVM has a bewildering reference to ExportLogsIntegrationTest
and LocatorStarterRule in its "main" thread. It's almost as if some of the
geode-core test code is somehow being found by the CommandManager scanning
done by gfsh and this is being triggered by creating the MemberMXBean in
the newly launched Server. I think ClasspathScanLoadHelper needs to exclude
classes from test sources, but since I'm running a class in src/jmh, I'm
not sure how to fix this?

"main" #1 prio=5 os_prio=31 tid=0x00007fea58801800 nid=0x1b03 waiting on
condition [0x0000700001b39000]
   java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x000000076da9eb18> (a
java.util.concurrent.CountDownLatch$Sync)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1037)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1328)
at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:277)
at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:85)
at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:117)
at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:32)
at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:809)
at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:648)
at
org.apache.geode.test.dunit.rules.LocatorStarterRule.startLocator(LocatorStarterRule.java:84)
at
org.apache.geode.management.internal.cli.commands.ExportLogsIntegrationTest.<clinit>(ExportLogsIntegrationTest.java:33)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at
org.apache.geode.internal.ClassPathLoader.forName(ClassPathLoader.java:403)
at
org.apache.geode.management.internal.cli.util.ClasspathScanLoadHelper.getClasses(ClasspathScanLoadHelper.java:180)
at
org.apache.geode.management.internal.cli.util.ClasspathScanLoadHelper.getClasses(ClasspathScanLoadHelper.java:120)
at
org.apache.geode.management.internal.cli.util.ClasspathScanLoadHelper.loadAndGet(ClasspathScanLoadHelper.java:49)
at
org.apache.geode.management.internal.cli.CommandManager.loadCommands(CommandManager.java:169)
at
org.apache.geode.management.internal.cli.CommandManager.<init>(CommandManager.java:67)
at
org.apache.geode.management.internal.cli.CommandManager.getInstance(CommandManager.java:294)
- locked <0x000000076b9cb168> (a java.lang.Object)
at
org.apache.geode.management.internal.cli.CommandManager.getInstance(CommandManager.java:274)
at
org.apache.geode.management.internal.cli.remote.CommandProcessor.<init>(CommandProcessor.java:62)
at
org.apache.geode.management.internal.cli.remote.MemberCommandService.<init>(MemberCommandService.java:37)
at
org.apache.geode.management.cli.CommandService.createLocalCommandService(CommandService.java:127)
at
org.apache.geode.management.internal.beans.MemberMBeanBridge.<init>(MemberMBeanBridge.java:311)
at
org.apache.geode.management.internal.beans.ManagementAdapter.handleCacheCreation(ManagementAdapter.java:155)
at
org.apache.geode.management.internal.beans.ManagementListener.handleEvent(ManagementListener.java:113)
at
org.apache.geode.distributed.internal.InternalDistributedSystem.notifyResourceEventListeners(InternalDistributedSystem.java:2146)
at
org.apache.geode.distributed.internal.InternalDistributedSystem.handleResourceEvent(InternalDistributedSystem.java:536)
at
org.apache.geode.internal.cache.GemFireCacheImpl.initialize(GemFireCacheImpl.java:1234)
at
org.apache.geode.internal.cache.GemFireCacheImpl.basicCreate(GemFireCacheImpl.java:798)
- locked <0x00000006c0165758> (a java.lang.Class for
org.apache.geode.internal.cache.GemFireCacheImpl)
at
org.apache.geode.internal.cache.GemFireCacheImpl.create(GemFireCacheImpl.java:783)
at org.apache.geode.cache.CacheFactory.create(CacheFactory.java:178)
- locked <0x00000006c004c5d0> (a java.lang.Class for
org.apache.geode.cache.CacheFactory)
at org.apache.geode.cache.CacheFactory.create(CacheFactory.java:218)
- locked <0x00000006c004c5d0> (a java.lang.Class for
org.apache.geode.cache.CacheFactory)
at
org.apache.geode.distributed.internal.DefaultServerLauncherCacheProvider.createCache(DefaultServerLauncherCacheProvider.java:52)
at
org.apache.geode.distributed.ServerLauncher.createCache(ServerLauncher.java:857)
at
org.apache.geode.distributed.ServerLauncher.start(ServerLauncher.java:769)
at org.apache.geode.distributed.ServerLauncher.run(ServerLauncher.java:696)
at org.apache.geode.distributed.ServerLauncher.main(ServerLauncher.java:228)

Reply via email to