nickwallen commented on a change in pull request #1492: METRON-2225: Upgrade to
Solr 7.4.0
URL: https://github.com/apache/metron/pull/1492#discussion_r317717370
##########
File path: metron-platform/metron-solr/metron-solr-common/pom.xml
##########
@@ -39,6 +39,30 @@
<artifactId>solr-solrj</artifactId>
<version>${global_solr_version}</version>
</dependency>
Review comment:
When running this up in Full Dev, I was getting an exception like this in
the indexing topology and REST.
```
2019-08-26 15:04:00.466 o.a.s.d.executor Thread-6-indexingBolt-executor[3 3]
[ERROR]
java.lang.NoClassDefFoundError: org/noggit/JSONWriter$Writable
at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_112]
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
~[?:1.8.0_112]
at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
~[?:1.8.0_112]
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
~[?:1.8.0_112]
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
~[?:1.8.0_112]
at java.net.URLClassLoader$1.run(URLClassLoader.java:368) ~[?:1.8.0_112]
at java.net.URLClassLoader$1.run(URLClassLoader.java:362) ~[?:1.8.0_112]
at java.security.AccessController.doPrivileged(Native Method)
~[?:1.8.0_112]
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
~[?:1.8.0_112]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_112]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
~[?:1.8.0_112]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_112]
at
org.apache.solr.client.solrj.impl.CloudSolrClient$Builder.build(CloudSolrClient.java:1558)
~[stormjar.jar:?]
at
org.apache.metron.solr.writer.SolrClientFactory.create(SolrClientFactory.java:50)
~[stormjar.jar:?]
at org.apache.metron.solr.writer.SolrWriter.init(SolrWriter.java:171)
~[stormjar.jar:?]
at
org.apache.metron.writer.bolt.BulkMessageWriterBolt.prepare(BulkMessageWriterBolt.java:239)
~[stormjar.jar:?]
at
org.apache.storm.daemon.executor$fn__10219$fn__10232.invoke(executor.clj:810)
~[storm-core-1.2.1.3.1.0.0-78.jar:1.2.1.3.1.0.0-78]
at org.apache.storm.util$async_loop$fn__1221.invoke(util.clj:482)
[storm-core-1.2.1.3.1.0.0-78.jar:1.2.1.3.1.0.0-78]
at clojure.lang.AFn.run(AFn.java:22) [clojure-1.7.0.jar:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_112]
Caused by: java.lang.ClassNotFoundException: org.noggit.JSONWriter$Writable
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
~[?:1.8.0_112]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_112]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
~[?:1.8.0_112]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_112]
... 20 more
```
I added the following which seems to have addressed this issue. These are
SolrJ transitives, but I do not fully understand why they are not being
packaged without this change. You may know a better way to handle this.
```
diff --git a/metron-platform/metron-solr/metron-solr-common/pom.xml
b/metron-platform/metron-solr/metron-solr-common/pom.xml
index 7cc05246..cc1bf325 100644
--- a/metron-platform/metron-solr/metron-solr-common/pom.xml
+++ b/metron-platform/metron-solr/metron-solr-common/pom.xml
@@ -39,6 +39,26 @@
<artifactId>solr-solrj</artifactId>
<version>${global_solr_version}</version>
</dependency>
+ <dependency>
+ <groupId>org.noggit</groupId>
+ <artifactId>noggit</artifactId>
+ <version>0.8</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</artifactId>
+ <version>4.5.3</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpcore</artifactId>
+ <version>4.4.6</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpmime</artifactId>
+ <version>4.5.3</version>
+ </dependency>
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-test-framework</artifactId>
```
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services