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)

Reply via email to