Kengo Seki created GOBBLIN-1610:
-----------------------------------
Summary: Exclude Jackson from elasticsearch-deps for avoiding
version conflict
Key: GOBBLIN-1610
URL: https://issues.apache.org/jira/browse/GOBBLIN-1610
Project: Apache Gobblin
Issue Type: Bug
Reporter: Kengo Seki
After merging GOBBLIN-1542, following the "Getting Started" guide fails as
follows:
{code}
$ git checkout 678a3afa1
$ ./gradlew clean
$ ./gradlew :gobblin-distribution:buildDistributionTar
...
BUILD SUCCESSFUL in 36s
147 actionable tasks: 142 executed, 5 up-to-date
$ tar xf
build/gobblin-distribution/distributions/apache-gobblin-incubating-bin-0.17.0.tar.gz
-C /tmp
$ cd /tmp/gobblin-dist
$ bin/gobblin cli run wikipedia -lookback P10D LinkedIn Wikipedia:Sandbox
...
2022-02-16 07:51:22 JST ERROR
[org.apache.gobblin.runtime.embedded.EmbeddedGobblin-thread-0]
org.apache.gobblin.runtime.instance.DefaultGobblinInstanceDriverImpl$JobSpecRunnable
- Job launch failed: java.lang.VerifyError: Stack map does not match the one
at exception handler 77
Exception Details:
Location:
com/fasterxml/jackson/databind/deser/std/StdDeserializer._parseDate(Lcom/fasterxml/jackson/core/JsonParser;Lcom/fasterxml/jackson/databind/DeserializationContext;)Ljava/util/Date;
@77: astore
Reason:
Type 'com/fasterxml/jackson/core/JsonParseException' (current frame,
stack[0]) is not assignable to
'com/fasterxml/jackson/core/exc/StreamReadException' (stack map, stack[0])
Current Frame:
bci: @69
flags: { }
locals: { 'com/fasterxml/jackson/databind/deser/std/StdDeserializer',
'com/fasterxml/jackson/core/JsonParser',
'com/fasterxml/jackson/databind/DeserializationContext' }
stack: { 'com/fasterxml/jackson/core/JsonParseException' }
Stackmap Frame:
bci: @77
flags: { }
locals: { 'com/fasterxml/jackson/databind/deser/std/StdDeserializer',
'com/fasterxml/jackson/core/JsonParser',
'com/fasterxml/jackson/databind/DeserializationContext' }
stack: { 'com/fasterxml/jackson/core/exc/StreamReadException' }
Bytecode:
0x0000000: 2bb6 0035 aa00 0000 0000 0081 0000 0003
0x0000010: 0000 000b 0000 007a 0000 0081 0000 0081
0x0000020: 0000 0034 0000 0041 0000 0081 0000 0081
0x0000030: 0000 0081 0000 0071 2a2b b600 11b6 0012
0x0000040: 2cb6 006b b02b b600 4742 a700 223a 052c
0x0000050: 2ab4 0002 2bb6 006e 126f 03bd 0004 b600
0x0000060: 70c0 002d 3a06 1906 b600 4c42 bb00 7159
0x0000070: 21b7 0072 b02a 2cb6 0073 c000 71b0 2a2b
0x0000080: 2cb6 0074 b02c 2ab4 0002 2bb6 0025 c000
0x0000090: 71b0
Exception Handler Table:
bci [69, 74] => handler: 77
bci [69, 74] => handler: 77
Stackmap Table:
same_frame(@56)
same_frame(@69)
same_locals_1_stack_item_frame(@77,Object[#367])
append_frame(@108,Long)
chop_frame(@117,1)
same_frame(@126)
same_frame(@133)
{code}
This is caused by Jackson's version conflict. In my environment, it comes from
gobblin-elasticsearch-deps and removing Jackson from its dependencies works.
{code}
$ git diff
diff --git a/gobblin-modules/gobblin-elasticsearch-deps/build.gradle
b/gobblin-modules/gobblin-elasticsearch-deps/build.gradle
index 2372c478f..79a6bb98f 100644
--- a/gobblin-modules/gobblin-elasticsearch-deps/build.gradle
+++ b/gobblin-modules/gobblin-elasticsearch-deps/build.gradle
@@ -40,6 +40,7 @@ dependencies {
configurations {
compile {
exclude group: "org.apache.hadoop"
+ exclude group: "com.fasterxml.jackson.core"
exclude group: "com.sun.jersey.contribs"
}
}
$ ./gradlew :gobblin-modules:gobblin-elasticsearch:test
...
BUILD SUCCESSFUL in 2m 7s
85 actionable tasks: 81 executed, 4 up-to-date
$ ./gradlew :gobblin-distribution:buildDistributionTar
...
BUILD SUCCESSFUL in 21s
147 actionable tasks: 65 executed, 82 up-to-date
$ rm -rf /tmp/gobblin-dist
$ tar xf
build/gobblin-distribution/distributions/apache-gobblin-incubating-bin-0.17.0.tar.gz
-C /tmp
$ cd /tmp/gobblin-dist
$ bin/gobblin cli run wikipedia -lookback P10D LinkedIn Wikipedia:Sandbox
...
2022-02-16 08:03:53 JST INFO [ForkExecutor-1]
org.apache.gobblin.writer.ConsoleWriter -
{"revid":1070248862,"parentid":1070243271,"user":"Cyberbot
I","userid":16266655,"timestamp":"2022-02-06T14:00:03Z","size":440,"pageid":16283969,"title":"Wikipedia:Sandbox"}
...
$ echo $?
0
{code}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)