Wang Cheng created KYLIN-2464:
---------------------------------
Summary: Leveraging interface declare to avoid runtime errors
Key: KYLIN-2464
URL: https://issues.apache.org/jira/browse/KYLIN-2464
Project: Kylin
Issue Type: Bug
Reporter: Wang Cheng
Priority: Minor
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.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)