It seems it’s because of the compiling issue on ne...
# troubleshooting
j
It seems it’s because of the compiling issue on newer Java version. I can make a hot fix for that
n
thanks Jack! you were able to reproduce?
i didn't understand, why is compiling issue causing this during seg generation?
j
Yes, I can reproduce it locally by running any integration test
n
i see, so it is not specific to parquet or the data characteristics
i guess travis didnt catch it because it uses java8
j
Just curious, did we use any new feature of Java 11 in Pinot repo?
n
not sure. why do you ask? do you suspect that's what happened?
s
The exception stack says this is jdk 1.8
have we moved to jdk11?
j
It’s likely that some new Java feature gets used and compiled while the it gets run with an old JDK JVM.
n
@Jack, did you see the specific error the user is facing? Or is this something else?
j
What I saw is a bit different. But my PR is still valid.
Copy code
Exception in thread "pool-32-thread-5" java.lang.NoSuchMethodError: java.nio.ByteBuffer.position(I)Ljava/nio/ByteBuffer;
	at org.apache.pinot.core.segment.memory.PinotByteBuffer.view(PinotByteBuffer.java:306)
	at org.apache.pinot.core.segment.memory.PinotDataBuffer.view(PinotDataBuffer.java:380)
	at <http://org.apache.pinot.core.io|org.apache.pinot.core.io>.writer.impl.v1.FixedBitMultiValueWriter.<init>(FixedBitMultiValueWriter.java:92)
	at org.apache.pinot.core.segment.creator.impl.fwd.MultiValueUnsortedForwardIndexCreator.<init>(MultiValueUnsortedForwardIndexCreator.java:38)
	at org.apache.pinot.core.segment.creator.impl.SegmentColumnarIndexCreator.init(SegmentColumnarIndexCreator.java:169)
	at org.apache.pinot.core.segment.creator.impl.SegmentIndexCreationDriverImpl.build(SegmentIndexCreationDriverImpl.java:172)
	at org.apache.pinot.integration.tests.ClusterIntegrationTestUtils.lambda$buildSegmentsFromAvro$0(ClusterIntegrationTestUtils.java:276)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
java.lang.IllegalArgumentException
	at java.util.concurrent.ThreadPoolExecutor.<init>(ThreadPoolExecutor.java:1314)
	at java.util.concurrent.ThreadPoolExecutor.<init>(ThreadPoolExecutor.java:1202)
	at java.util.concurrent.Executors.newFixedThreadPool(Executors.java:89)
	at org.apache.pinot.integration.tests.ClusterTest.uploadSegments(ClusterTest.java:269)
	at org.apache.pinot.integration.tests.HybridClusterIntegrationTest.setUp(HybridClusterIntegrationTest.java:103)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:108)
	at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:523)
	at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:224)
	at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:146)
	at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:166)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:105)
	at org.testng.TestRunner.privateRun(TestRunner.java:744)
	at org.testng.TestRunner.run(TestRunner.java:602)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:380)
	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:375)
	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:340)
	at org.testng.SuiteRunner.run(SuiteRunner.java:289)
	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
	at org.testng.TestNG.runSuitesSequentially(TestNG.java:1301)
	at org.testng.TestNG.runSuitesLocally(TestNG.java:1226)
	at org.testng.TestNG.runSuites(TestNG.java:1144)
	at org.testng.TestNG.run(TestNG.java:1115)
	at com.intellij.rt.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:66)
	at com.intellij.rt.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:110)
s
To be clear, this error happens when the code is compiled with JDK9 and run with JDK < 9
?
I am talking about the error you have put the PR for
j
I set my SDK to Java_1.8.172 and compiled it with
mvn install -DskipTests -Pbin-dist
, and then ran any integration test.