Details
-
Task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
The changes needed for OAK-7259 rely on com.googlecode.concurrentlinkedhashmap/concurrentlinkedhashmap-lru 1.4.2, which is embedded in oak-segment-tar. This conflicts with the transitive dependency coming from org.apache.solr/solr-core in oak-benchmarks, which depends on concurrentlinkedhashmap-lru 1.2. Therefore, running benchmarks on Oak-Segment-* fixtures fails with the following exception:
04:35:44 Exception in thread "main" java.lang.NoSuchMethodError: com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder.maximumWeightedCapacity(J)Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap$Builder; 04:35:44 at org.apache.jackrabbit.oak.segment.CommitsTracker.<init>(CommitsTracker.java:57) 04:35:44 at org.apache.jackrabbit.oak.segment.CommitsTracker.<init>(CommitsTracker.java:51) 04:35:44 at org.apache.jackrabbit.oak.segment.SegmentNodeStoreStats.<init>(SegmentNodeStoreStats.java:64) 04:35:44 at org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler.<init>(LockBasedScheduler.java:171) 04:35:44 at org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler$ObservableLockBasedScheduler.<init>(LockBasedScheduler.java:352) 04:35:44 at org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler$LockBasedSchedulerBuilder.build(LockBasedScheduler.java:100) 04:35:44 at org.apache.jackrabbit.oak.segment.SegmentNodeStore.<init>(SegmentNodeStore.java:169) 04:35:44 at org.apache.jackrabbit.oak.segment.SegmentNodeStore.<init>(SegmentNodeStore.java:63) 04:35:44 at org.apache.jackrabbit.oak.segment.SegmentNodeStore$SegmentNodeStoreBuilder.build(SegmentNodeStore.java:121) 04:35:44 at org.apache.jackrabbit.oak.fixture.SegmentTarFixture.setUpCluster(SegmentTarFixture.java:211) 04:35:44 at org.apache.jackrabbit.oak.fixture.OakRepositoryFixture.setUpCluster(OakRepositoryFixture.java:145) 04:35:44 at org.apache.jackrabbit.oak.fixture.OakRepositoryFixture.setUpCluster(OakRepositoryFixture.java:141) 04:35:44 at org.apache.jackrabbit.oak.benchmark.AbstractTest.createRepository(AbstractTest.java:655) 04:35:44 at org.apache.jackrabbit.oak.benchmark.AbstractTest.run(AbstractTest.java:202) 04:35:44 at org.apache.jackrabbit.oak.benchmark.BenchmarkRunner.main(BenchmarkRunner.java:516) 04:35:44 at org.apache.jackrabbit.oak.run.BenchmarkCommand.execute(BenchmarkCommand.java:27) 04:35:44 at org.apache.jackrabbit.oak.run.Main.main(Main.java:54)
A possible solution to mitigate this is to exclude the transitive dependency to com.googlecode.concurrentlinkedhashmap/concurrentlinkedhashmap-lru from org.apache.solr/solr-core in oak-benchmarks.
Attachments
Attachments
Issue Links
- relates to
-
OAK-7259 Improve SegmentNodeStoreStats to include number of commits per thread and threads currently waiting on the semaphore
- Closed