[ 
https://issues.apache.org/jira/browse/SOLR-14318?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17056321#comment-17056321
 ] 

Kevin Risden commented on SOLR-14318:
-------------------------------------

I'm guessing this was caused by SOLR-9079 in 8.1.

Either way for the most part it makes sense to not run Tika as part of Solr 
itself and instead use Tika server or some other place to run Tika. Running 
Tika inside Solr can cause all sorts of issues for stability.

> Missing dependency on commons-lang in solr-cell 8.4.1
> -----------------------------------------------------
>
>                 Key: SOLR-14318
>                 URL: https://issues.apache.org/jira/browse/SOLR-14318
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: contrib - Solr Cell (Tika extraction)
>    Affects Versions: 8.4.1
>            Reporter: Markus Günther
>            Priority: Minor
>
> During a migration from Solr 7.x to Solr 8.4.1 we noticed that the 
> commons-lang:commons-lang:2.6 dependency has been removed, and thus, no 
> longer is part of org.apache.solr:solr-cell. solr-cell however comes bundled 
> with Apache Tika Parsers (org.apache.tika:tika-parsers) in version 1.19.1 
> which - although it is not an explicit dependency - does require 
> commons-lang:commons-lang:2.6.
> This raises an issue when trying to extract the content from Microsoft Access 
> database files using Tika. See the stacktrace below.
> {code:java}
> java.lang.NoClassDefFoundError: 
> org/apache/commons/lang/ObjectUtilsjava.lang.NoClassDefFoundError: 
> org/apache/commons/lang/ObjectUtils at 
> com.healthmarketscience.jackcess.util.SimpleColumnMatcher.equals(SimpleColumnMatcher.java:74)
>  at 
> com.healthmarketscience.jackcess.util.SimpleColumnMatcher.matches(SimpleColumnMatcher.java:46)
>  at 
> com.healthmarketscience.jackcess.util.CaseInsensitiveColumnMatcher.matches(CaseInsensitiveColumnMatcher.java:49)
>  at 
> com.healthmarketscience.jackcess.impl.CursorImpl.currentRowMatchesImpl(CursorImpl.java:571)
>  at 
> com.healthmarketscience.jackcess.impl.CursorImpl.findAnotherRowImpl(CursorImpl.java:627)
>  at 
> com.healthmarketscience.jackcess.impl.CursorImpl.findAnotherRow(CursorImpl.java:517)
>  at 
> com.healthmarketscience.jackcess.impl.CursorImpl.findFirstRow(CursorImpl.java:494)
>  at 
> com.healthmarketscience.jackcess.impl.DatabaseImpl$FallbackTableFinder.findRow(DatabaseImpl.java:2376)
>  at 
> com.healthmarketscience.jackcess.impl.DatabaseImpl$TableFinder.findObjectId(DatabaseImpl.java:2176)
>  at 
> com.healthmarketscience.jackcess.impl.DatabaseImpl.readSystemCatalog(DatabaseImpl.java:879)
>  at 
> com.healthmarketscience.jackcess.impl.DatabaseImpl.<init>(DatabaseImpl.java:534)
>  at 
> com.healthmarketscience.jackcess.impl.DatabaseImpl.open(DatabaseImpl.java:401)
>  at 
> com.healthmarketscience.jackcess.DatabaseBuilder.open(DatabaseBuilder.java:252)
>  at 
> org.apache.tika.parser.microsoft.JackcessParser.parse(JackcessParser.java:94) 
> at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280) at 
> org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280) at 
> org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:143) at 
> org.apache.tika.parser.DelegatingParser.parse(DelegatingParser.java:72) at 
> org.apache.tika.extractor.ParsingEmbeddedDocumentExtractor.parseEmbedded(ParsingEmbeddedDocumentExtractor.java:102)
>  at 
> org.apache.tika.parser.pkg.PackageParser.parseEntry(PackageParser.java:350) 
> at org.apache.tika.parser.pkg.PackageParser.parse(PackageParser.java:287) at 
> org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280) at 
> org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280) at 
> org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:143) at 
> org.apache.solr.handler.extraction.ExtractingDocumentLoader.load(ExtractingDocumentLoader.java:228)
>  at 
> org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:68)
>  at 
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:211)
>  at org.apache.solr.core.SolrCore.execute(SolrCore.java:2596) at 
> org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:799) at 
> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:578) at 
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:419)
>  at 
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:351)
>  at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602)
>  at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540) at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146) 
> at 
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) 
> at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>  at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
>  at 
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1711)
>  at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
>  at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1347)
>  at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
>  at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480) 
> at 
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1678)
>  at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
>  at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1249)
>  at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144) 
> at 
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)
>  at 
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:152)
>  at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>  at 
> org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)
>  at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>  at org.eclipse.jetty.server.Server.handle(Server.java:505) at 
> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370) at 
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267) 
> at 
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
>  at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) at 
> org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
>  at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
>  at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
>  at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
>  at 
> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
>  at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:781)
>  at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:917)
>  at java.base/java.lang.Thread.run(Thread.java:834)
> {code}
> Although we were able to hotfix this for our use case with a re-packaged 
> contribution bundle that puts the missing dependency back in, I guess this is 
> a dependency management issue at the level of Solr Cell that should be 
> addressed properly.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to