Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
-
None
-
None
Description
There are some runtime errors happened when code is compiled with high Java version and runs on low Java version, for example:
Exception in thread "main" java.lang.NoSuchMethodError: java.util.concurrent.ConcurrentHashMap.keySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
at org.apache.kylin.cube.CubeManager.getInstance(SourceFile:110)
at org.apache.kylin.tool.CubeMigrationCheckCLI.checkCube(CubeMigrationCheckCLI.java:141)
at org.apache.kylin.tool.CubeMigrationCheckCLI.execute(CubeMigrationCheckCLI.java:121)
at org.apache.kylin.tool.CubeMigrationCLI.checkMigrationSuccess(CubeMigrationCLI.java:170)
at org.apache.kylin.tool.CubeMigrationCLI.moveCube(CubeMigrationCLI.java:156)
at org.apache.kylin.tool.CubeMigrationCLI.moveCube(CubeMigrationCLI.java:165)
at io.kyligence.kap.tool.release.KapReleaseCLI.main(KapReleaseCLI.java:66)
It's a better idea that declaring a variable to be an interface.