Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-5729

Remote query - org/apache/lucene/uninverting/UninvertingReader missing on "order by" query

XMLWordPrintable

      Consider simple NumberObject class with the following attributes:
      private int integerValue;
      private double doubleValue;

      The following query leads to NoClassDefFoundError on server. Looks like using orderBy causes the problem.

      QueryBuilder<Query> builder = qf.from(NumberObject.class).orderBy("integerValue").having("integerValue").gte(50).and().having("integerValue").lte(150).toBuilder();
      

      Use the following snippet to load data into cache.

      final int numEntries = 200;
      for (int i = 0; i < numEntries; i++) {
          NumberObject no = new NumberObject(i, i);
          manager.cache.put(i, no);
      }
      

      Server exception:
      12:55:24,158 ERROR [org.infinispan.server.hotrod.CacheDecodeContext] (HotRodServerWorker-9-1) ISPN005009: Unexpected error before any request parameters read: io.netty.handler.codec.DecoderException: java.lang.NoClassDefFoundError: org/apache/lucene/uninverting/UninvertingReader$Type
      at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:425)
      at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:168)
      at org.infinispan.server.hotrod.HotRodDecoder.org$infinispan$server$core$transport$StatsChannelHandler$$super$channelRead(HotRodDecoder.scala:31)
      at org.infinispan.server.core.transport.StatsChannelHandler$class.channelRead(StatsChannelHandler.scala:32)
      at org.infinispan.server.hotrod.HotRodDecoder.channelRead(HotRodDecoder.scala:31)
      at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308)
      at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294)
      at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:846)
      at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:130)
      at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
      at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
      at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
      at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
      at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
      at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
      at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.NoClassDefFoundError: org/apache/lucene/uninverting/UninvertingReader$Type
      at org.hibernate.search.reader.impl.ManagedMultiReader.getMappings(ManagedMultiReader.java:102)
      at org.hibernate.search.reader.impl.ManagedMultiReader.getEffectiveReaders(ManagedMultiReader.java:68)
      at org.hibernate.search.reader.impl.ManagedMultiReader.createInstance(ManagedMultiReader.java:53)
      at org.hibernate.search.reader.impl.MultiReaderFactory.openReader(MultiReaderFactory.java:52)
      at org.hibernate.search.query.engine.impl.HSQueryImpl.buildSearcher(HSQueryImpl.java:619)
      at org.hibernate.search.query.engine.impl.HSQueryImpl.buildSearcher(HSQueryImpl.java:523)
      at org.hibernate.search.query.engine.impl.HSQueryImpl.queryEntityInfos(HSQueryImpl.java:263)
      at org.infinispan.query.impl.CacheQueryImpl.list(CacheQueryImpl.java:161)
      at org.infinispan.query.dsl.embedded.impl.EmbeddedLuceneQuery.list(EmbeddedLuceneQuery.java:49)
      at org.infinispan.query.remote.impl.QueryFacadeImpl.makeResponse(QueryFacadeImpl.java:84)
      at org.infinispan.query.remote.impl.QueryFacadeImpl.query(QueryFacadeImpl.java:64)
      at org.infinispan.server.hotrod.Decoder2x$.customReadKey(Decoder2x.scala:370)
      at org.infinispan.server.hotrod.HotRodDecoder.customDecodeKey(HotRodDecoder.scala:194)
      at org.infinispan.server.hotrod.HotRodDecoder.org$infinispan$server$hotrod$HotRodDecoder$$decodeKey(HotRodDecoder.scala:104)
      at org.infinispan.server.hotrod.HotRodDecoder$$anonfun$decode$1.apply$mcV$sp(HotRodDecoder.scala:48)
      at org.infinispan.server.hotrod.HotRodDecoder.wrapSecurity(HotRodDecoder.scala:206)
      at org.infinispan.server.hotrod.HotRodDecoder.decode(HotRodDecoder.scala:45)
      at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:370)
      ... 15 more
      Caused by: java.lang.ClassNotFoundException: org.apache.lucene.uninverting.UninvertingReader$Type from [Module "org.hibernate.search.engine:main" from local module loader @11028347 (finder: local module finder @14899482 (roots: /home/mcimbora/Projects/infinispan/infinispan/server/integration/build/target/infinispan-server-8.0.0.Final/modules,/home/mcimbora/Projects/infinispan/infinispan/server/integration/build/target/infinispan-server-8.0.0.Final/modules/system/layers/base))]
      at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:205)
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:455)
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:404)
      at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:385)
      at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:130)
      ... 33 more

      Cache configuration

      <distributed-cache name="dist_infinispan" mode="SYNC">
          <locking acquire-timeout="3000" concurrency-level="1000"/>
          <transaction mode="NONE"/>
          <indexing index="LOCAL">
              <property name="default.directory_provider">infinispan</property>
              <property name="default.indexmanager">org.infinispan.query.indexmanager.InfinispanIndexManager</property>
               <property name="default.exclusive_index_use">true</property>
               <property name="default.metadata_cachename">lucene_metadata_repl</property>
               <property name="default.data_cachename">lucene_data_repl</property>
               <property name="default.locking_cachename">lucene_locking_repl</property>
            </indexing>
      </distributed-cache>
      <replicated-cache name="lucene_metadata_repl" mode="SYNC"/>
      <replicated-cache name="lucene_locking_repl" mode="SYNC"/>
      <replicated-cache name="lucene_data_repl" mode="SYNC"/>
      

              anistor Adrian Nistor (Inactive)
              mcimbora_jira Matej Čimbora (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: