[JBoss JIRA] (ISPN-5729) Remote query - org/apache/lucene/uninverting/UninvertingReader missing on "order by" query
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-5729?page=com.atlassian.jira.plugin.... ]
Dan Berindei updated ISPN-5729:
-------------------------------
Fix Version/s: 8.2.0.CR1
(was: 8.2.0.Beta1)
> Remote query - org/apache/lucene/uninverting/UninvertingReader missing on "order by" query
> ------------------------------------------------------------------------------------------
>
> Key: ISPN-5729
> URL: https://issues.jboss.org/browse/ISPN-5729
> Project: Infinispan
> Issue Type: Bug
> Components: Remote Querying
> Affects Versions: 8.0.0.Final
> Reporter: Matej Čimbora
> Assignee: Adrian Nistor
> Fix For: 8.2.0.CR1
>
>
> 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.
>
> {code}
> QueryBuilder<Query> builder = qf.from(NumberObject.class).orderBy("integerValue").having("integerValue").gte(50).and().having("integerValue").lte(150).toBuilder();
> {code}
> Use the following snippet to load data into cache.
> {code}
> final int numEntries = 200;
> for (int i = 0; i < numEntries; i++) {
> NumberObject no = new NumberObject(i, i);
> manager.cache.put(i, no);
> }
> {code}
> 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
> {code:xml}
> <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"/>
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (ISPN-5728) Implement all the default methods in Java 8's Map interface
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-5728?page=com.atlassian.jira.plugin.... ]
Dan Berindei updated ISPN-5728:
-------------------------------
Fix Version/s: 8.2.0.CR1
(was: 8.2.0.Beta1)
> Implement all the default methods in Java 8's Map interface
> -----------------------------------------------------------
>
> Key: ISPN-5728
> URL: https://issues.jboss.org/browse/ISPN-5728
> Project: Infinispan
> Issue Type: Feature Request
> Components: Core
> Affects Versions: 8.0.0.Final
> Reporter: Dan Berindei
> Fix For: 8.2.0.CR1
>
>
> Java 8 added many new methods to the {{Map}} interface. Some of them were already present in {{ConcurrentMap}}, but others are new: {{getOrDefault()}}, {{forEach()}}, {{replaceAll()}}, {{computeIfAbsent()}}, {{computeIfPresent()}}, {{compute()}}, {{merge()}}.
> We should try to write Infinispan-specific implementations wherever that would improve correctness and/or performance.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (ISPN-5712) Remove buckets from JdbcBinaryStore
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-5712?page=com.atlassian.jira.plugin.... ]
Dan Berindei updated ISPN-5712:
-------------------------------
Fix Version/s: 8.2.0.CR1
(was: 8.2.0.Beta1)
> Remove buckets from JdbcBinaryStore
> -----------------------------------
>
> Key: ISPN-5712
> URL: https://issues.jboss.org/browse/ISPN-5712
> Project: Infinispan
> Issue Type: Enhancement
> Components: Core, Loaders and Stores
> Affects Versions: 7.2.4.Final, 8.0.0.CR1
> Reporter: Dan Berindei
> Fix For: 8.2.0.CR1
>
>
> Unlike a file system, relational databases can easily deal with millions of entries in the same table, so there's no reason to group entries into buckets.
> Some databases may not be able to index on a binary column, in which case the serialized key will need encoding (e.g. BASE64), but grouping entries by hash code should not be necessary.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (ISPN-5709) Support for running Infinispan as an Application in YARN
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-5709?page=com.atlassian.jira.plugin.... ]
Dan Berindei updated ISPN-5709:
-------------------------------
Fix Version/s: 8.2.0.CR1
(was: 8.2.0.Beta1)
> Support for running Infinispan as an Application in YARN
> --------------------------------------------------------
>
> Key: ISPN-5709
> URL: https://issues.jboss.org/browse/ISPN-5709
> Project: Infinispan
> Issue Type: Feature Request
> Components: Hadoop Integration
> Reporter: Gustavo Fernandes
> Fix For: 8.2.0.CR1
>
>
> Hadoop 2.x allows custom "applications" to be managed by the resource scheduler framework. As an example, Apache Spark, Apache Tez, HBase and others can be bootstrapped and managed on top of Yarn.
> Running on top of Yarn offers the following capabilities:
> * Creating on demand (or long running) clusters with a simple command line, possibly targeting different versions and/or number of nodes
> * Increase/Decrease the number of nodes as required
> * Fine grained control of memory/CPU/disk/network utilized
> * Submit arbitrary jobs targeting the application
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (ISPN-5665) Query should not rely on the results of return values of write commands
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-5665?page=com.atlassian.jira.plugin.... ]
Dan Berindei updated ISPN-5665:
-------------------------------
Fix Version/s: 8.2.0.CR1
(was: 8.2.0.Beta1)
> Query should not rely on the results of return values of write commands
> -----------------------------------------------------------------------
>
> Key: ISPN-5665
> URL: https://issues.jboss.org/browse/ISPN-5665
> Project: Infinispan
> Issue Type: Bug
> Components: Embedded Querying
> Affects Versions: 8.0.0.Beta2
> Reporter: Dan Berindei
> Assignee: Gustavo Fernandes
> Fix For: 8.2.0.CR1
>
>
> The query interceptor relies on the return value of the write commands to know the previous value of the modified entries. This is not correct, because some write commands do not return the previous value, e.g. {{remove(key, value)}}, {{replace(key, oldValue, newValue)}}, and {{putAll(map)}}.
> The query interceptor should instead look up the previous values in the invocation context, and also force the loading of old values in the invocation context if the command doesn't do it explicitly (e.g. {{putAll(map)}}, or {{put(k, v)}} with the {{IGNORE_RETURN_VALUES}} flag).
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months
[JBoss JIRA] (ISPN-5704) Enhancements for Functional Map API
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-5704?page=com.atlassian.jira.plugin.... ]
Dan Berindei updated ISPN-5704:
-------------------------------
Fix Version/s: 8.2.0.CR1
(was: 8.2.0.Beta1)
> Enhancements for Functional Map API
> -----------------------------------
>
> Key: ISPN-5704
> URL: https://issues.jboss.org/browse/ISPN-5704
> Project: Infinispan
> Issue Type: Enhancement
> Reporter: Galder Zamarreño
> Assignee: Galder Zamarreño
> Fix For: 8.2.0.CR1
>
>
> List of enhancements that didn't make it into 8.0:
> * Transaction support.
> * Verify locks are acquired for all operations (once tx is in place, locks can be checked easily)
> * Complete persistence support (remove many returning previous, put many returning previous, remove many)
> * Replication of per-invocation parameters.
> * Port mode *Becoming*Test to functional APIs, and expand on testing other functional APIs.
> * Test interoperability with cache, e.g. cache put with lifespan can be retrieved via functional map with lifespan, and viceversa
> * Test compatibility mode
> * Add more listener events: activation, passivation and expiration.
> * Use check isLocal instead of `e == null` in command impls
> * Fix branch skip issue (see previous PR: https://github.com/infinispan/infinispan/pull/3571)
> * Add externalizers for primitive versions of Optional.
> * ValueMatcherMode indexes in MarshallableFunctionExternalizers should be based on {{ordinal()}} calls to annotation. Also, could the core's enumeration use the annotations defined in commons?
> * Add AdvancedExternalizer version for functions that takes value matcher
> * Complete support for MetaCreated and MetaLastUsed (which should be separated into MetaLastModified and MetaLastAccessed)
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 11 months