[ https://issues.apache.org/jira/browse/DRILL-5303?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15890875#comment-15890875 ]
Laurent Goujon commented on DRILL-5303: --------------------------------------- Java does not provide such guarantee as compiling against version N+1 jdk (with source and target class using version N) and being able to run on version N: you need the three of them (bootclasspath, source and target) to match versions. And this kind of issues happened with all Java releases. Coming with Java9 I believe, symbols for previous jdks will also be available meaning you would not need java8 (just for the boot classpath) in order to target jdk8. > Drillbits fail to start when Drill server built with JDK 8 is deployed on a > JDK 7 environment > --------------------------------------------------------------------------------------------- > > Key: DRILL-5303 > URL: https://issues.apache.org/jira/browse/DRILL-5303 > Project: Apache Drill > Issue Type: Bug > Components: Server, Tools, Build & Test > Affects Versions: 1.9.0 > Reporter: Abhishek Girish > > When Drill is built on a node configured with JDK 8 and is then deployed in a > JDK 7 environment, Drillbits fail to start and the following errors are seen > in Drillbit.out: > {code} > Exception in thread "main" java.lang.NoSuchMethodError: > java.util.concurrent.ConcurrentHashMap.keySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView; > at > org.apache.drill.exec.coord.ClusterCoordinator.drillbitRegistered(ClusterCoordinator.java:85) > at > org.apache.drill.exec.coord.zk.ZKClusterCoordinator.updateEndpoints(ZKClusterCoordinator.java:266) > at > org.apache.drill.exec.coord.zk.ZKClusterCoordinator.start(ZKClusterCoordinator.java:135) > at org.apache.drill.exec.server.Drillbit.run(Drillbit.java:117) > at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:292) > at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:272) > at org.apache.drill.exec.server.Drillbit.main(Drillbit.java:268) > {code} > Workaround is to match the Java versions of build and deployment environments. -- This message was sent by Atlassian JIRA (v6.3.15#6346)