Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
When compiled with higher-version Hive (e.g. 1.2.1x), Falcon generates different versions of jackson-core and jackson-databind:
[root@os-r7-wbucju-falcon-2-4 2.5.0.0-562]# ls falcon/server/webapp/falcon/WEB-INF/lib/jack*
falcon/server/webapp/falcon/WEB-INF/lib/jackson-annotations-2.4.0.jar falcon/server/webapp/falcon/WEB-INF/lib/jackson-databind-2.4.2.jar
falcon/server/webapp/falcon/WEB-INF/lib/jackson-core-2.2.3.jar falcon/server/webapp/falcon/WEB-INF/lib/jackson-datatype-json-org-2.2.3.jar
falcon/server/webapp/falcon/WEB-INF/lib/jackson-core-asl-1.9.2.jar falcon/server/webapp/falcon/WEB-INF/lib/jackson-mapper-asl-1.9.2.jar
This is because Falcon has a dependency on Hive that uses a higher version (i.e. 2.4.2) of jackson-databind while Falcon pom declares an older version. It results in errors when calling metadata rest api (e.g. http://127.0.0.1:15000/api/metadata/lineage/edges/all). See error details below.
To fix the dependency issue, we propose to upgrade jackson version to 2.x in pom configuration, i.e. use fasterxml instead of codehaus.
java.lang.NoSuchMethodError: com.fasterxml.jackson.core.JsonFactory.requiresPropertyOrdering()Z
at com.fasterxml.jackson.databind.ObjectMapper.<init>(ObjectMapper.java:458)
at com.fasterxml.jackson.databind.ObjectMapper.<init>(ObjectMapper.java:389)
at com.fasterxml.jackson.databind.MappingJsonFactory.<init>(MappingJsonFactory.java:46)
at com.fasterxml.jackson.databind.MappingJsonFactory.<init>(MappingJsonFactory.java:39)
at com.tinkerpop.blueprints.util.io.graphson.GraphSONUtility.<clinit>(GraphSONUtility.java:41)
Attachments
Issue Links
- links to