Closed jnioche closed 3 years ago
One of the differences between remote and local in Storm 2 resides in the classpath
REMOTE
/usr/share/apache-storm-2.2.0/*:/usr/share/apache-storm-2.2.0/lib-worker/*:/usr/share/apache-storm-2.2.0/extlib/*:target/crawl2-1.0-SNAPSHOT.jar:/usr/share/apache-storm-2.2.0/conf:/usr/share/apache-storm-2.2.0/bin:
LOCAL
/usr/share/apache-storm-2.2.0/*:/usr/share/apache-storm-2.2.0/lib/*:/usr/share/apache-storm-2.2.0/extlib/*:target/crawl2-1.0-SNAPSHOT.jar:/usr/share/apache-storm-2.2.0/conf:/usr/share/apache-storm-2.2.0/bin:
lib-worker is used in remote and doesn't contain much whereas lib contains Jackson 2.9.8 which conflicts with 2.11.1 specified by our core module.
One option would be to downgrade to the same version as Storm - but we'll get all manners of alerts about it being unsafe. Apparently, the next version of Storm will use 2.10.
We could use a different library in the core module altogether, but some of our other modules (ES, Tika) declare a dependency on it as well.
Adding
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.8</version>
</dependency>
</dependencies>
</dependencyManagement>
to the pom.xml of the topology made it work fine in local mode. Might add it commented out to the pom generated by the archetypes.
Fixed by #911
Does not happen in remote mode, only when running in local