Uploaded image for project: 'Nutch'
  1. Nutch
  2. NUTCH-2473

Elasticsearch REST Indexer broken due to wrong depenency

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.14
    • Fix Version/s: 1.14
    • Component/s: None
    • Labels:
      None
    • Flags:
      Important

      Description

      When trying to index into Elasticsearch using indexer-elastic-rest the following error is being thrown:

      Exception in thread "main" java.lang.LinkageError: loader constraint violation: when resolving method "org.slf4j.impl.StaticLoggerBinder.getLoggerFactory()Lorg/slf4j/ILoggerFactory;" the class loader (instance of org/apache/nutch/plugin/PluginClassLoader) of the current class, org/slf4j/LoggerFactory, and the class loader (instance of sun/misc/Launcher$AppClassLoader) for the method's defining class, org/slf4j/impl/StaticLoggerBinder, have different Class objects for the type org/slf4j/ILoggerFactory used in the signature
          at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:418)
          at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:357)
          at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:383)
          at org.apache.nutch.indexwriter.elasticrest.ElasticRestIndexWriter.<clinit>(ElasticRestIndexWriter.java:71)
          at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
          at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
          at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
          at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
          at java.lang.Class.newInstance(Class.java:442)
          at org.apache.nutch.plugin.Extension.getExtensionInstance(Extension.java:161)
          at org.apache.nutch.indexer.IndexWriters.<init>(IndexWriters.java:57)
          at org.apache.nutch.indexer.IndexingJob.index(IndexingJob.java:123)
          at org.apache.nutch.indexer.IndexingJob.run(IndexingJob.java:230)
          at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
          at org.apache.nutch.indexer.IndexingJob.main(IndexingJob.java:239)
      

      e66d44d removed the runtime dependency on slf4j-api-1.7.21.jar everywhere but in indexer-elastic-rest.
      Possible fix: https://github.com/apache/nutch/pull/253

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                wastl-nagel Sebastian Nagel
                Reporter:
                mfeltscher Moreno Feltscher
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: