[JBoss JIRA] (ISPN-9514) Entry replaced with same expiration can expire immediately
by William Burns (JIRA)
[ https://issues.jboss.org/browse/ISPN-9514?page=com.atlassian.jira.plugin.... ]
William Burns updated ISPN-9514:
--------------------------------
Status: Open (was: New)
> Entry replaced with same expiration can expire immediately
> ----------------------------------------------------------
>
> Key: ISPN-9514
> URL: https://issues.jboss.org/browse/ISPN-9514
> Project: Infinispan
> Issue Type: Bug
> Components: Expiration
> Affects Versions: 9.3.3.Final
> Reporter: William Burns
> Assignee: William Burns
> Fix For: 9.4.0.Final
>
>
> Currently lifespan expiration removes an expired entry based on the key value and lifespan parameter matching. Unfortunately this still leaves it open to removing an entry that was just inserted if it was expired and it was replaced with the same value.
> This is especially problematic with `RemoteCache.putIfAbsent` or other conditional operations as they perform a get before doing the actual operation.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 6 months
[JBoss JIRA] (ISPN-9510) NPE when running remote query operation with hotrod protocol 2.4
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-9510?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-9510:
----------------------------------
Status: Resolved (was: Pull Request Sent)
Fix Version/s: 9.4.0.CR3
Resolution: Done
> NPE when running remote query operation with hotrod protocol 2.4
> ----------------------------------------------------------------
>
> Key: ISPN-9510
> URL: https://issues.jboss.org/browse/ISPN-9510
> Project: Infinispan
> Issue Type: Bug
> Components: Server
> Affects Versions: 9.4.0.CR2
> Reporter: Vittorio Rigamonti
> Assignee: Gustavo Fernandes
> Fix For: 9.4.0.CR3
>
>
> I have a query that runs with 9.3.1 and fails with 9.4.0.CR2 with NPE:
> 15:22:40,145 DEBUG [org.infinispan.query.remote.impl.QueryFacadeImpl] (HotRod-ServerHandler-6-12) Error executing remote query : null: java.lang.NullPointerException
> at org.infinispan.query.remote.impl.QuerySerializers.getSerializer(QuerySerializers.java:19)
> at org.infinispan.query.remote.impl.BaseRemoteQueryManager.decodeQueryRequest(BaseRemoteQueryManager.java:63)
> at org.infinispan.query.remote.impl.QueryFacadeImpl.query(QueryFacadeImpl.java:44)
> at org.infinispan.server.hotrod.HotRodServer.query(HotRodServer.java:148)
> at org.infinispan.server.hotrod.CacheRequestProcessor.queryInternal(CacheRequestProcessor.java:493)
> at org.infinispan.server.hotrod.CacheRequestProcessor.lambda$query$31(CacheRequestProcessor.java:488)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
> at java.lang.Thread.run(Thread.java:748)
> .proto model seems registered correctly
> query is very simple: from sample_bank_account.User
> using old hotrod 2.4
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 6 months
[JBoss JIRA] (ISPN-9514) Entry replaced with same expiration can expire immediately
by William Burns (JIRA)
William Burns created ISPN-9514:
-----------------------------------
Summary: Entry replaced with same expiration can expire immediately
Key: ISPN-9514
URL: https://issues.jboss.org/browse/ISPN-9514
Project: Infinispan
Issue Type: Bug
Components: Expiration
Affects Versions: 9.3.3.Final
Reporter: William Burns
Assignee: William Burns
Fix For: 9.4.0.Final
Currently lifespan expiration removes an expired entry based on the key value and lifespan parameter matching. Unfortunately this still leaves it open to removing an entry that was just inserted if it was expired and it was replaced with the same value.
This is especially problematic with `RemoteCache.putIfAbsent` or other conditional operations as they perform a get before doing the actual operation.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 6 months
[JBoss JIRA] (ISPN-3099) Util.loadClass() still swallows NoClassDefFoundError
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-3099?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant resolved ISPN-3099.
-----------------------------------
Fix Version/s: 8.2.7.Final
9.0.0.CR4
Resolution: Done
> Util.loadClass() still swallows NoClassDefFoundError
> ----------------------------------------------------
>
> Key: ISPN-3099
> URL: https://issues.jboss.org/browse/ISPN-3099
> Project: Infinispan
> Issue Type: Feature Request
> Components: Core
> Affects Versions: 5.2.5.Final
> Environment: Windows, JBoss EAP 5
> Reporter: Bert Jacobs
> Fix For: 8.2.7.Final, 9.0.0.CR4
>
> Attachments: report-infinispan-logging.patch
>
>
> My log contains stack traces like the following:
> {code}
> Caused by: org.infinispan.CacheConfigurationException: Unable to instantiate class org.infinispan.loaders.bdbje.BdbjeCacheStore
> at org.infinispan.util.Util.loadClass(Util.java:101)
> at org.infinispan.util.Util.getInstance(Util.java:222)
> at org.infinispan.configuration.parsing.Parser51.parseLoader(Parser51.java:440)
> at org.infinispan.configuration.parsing.Parser51.parseLoaders(Parser51.java:418)
> at org.infinispan.configuration.parsing.Parser51.parseCache(Parser51.java:189)
> at org.infinispan.configuration.parsing.Parser51.parseNamedCache(Parser51.java:148)
> at org.infinispan.configuration.parsing.Parser51.readElement(Parser51.java:115)
> at org.infinispan.configuration.parsing.Parser51.readElement(Parser51.java:84)
> at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:110)
> at org.jboss.staxmapper.XMLMapperImpl.parseDocument(XMLMapperImpl.java:69)
> at org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:77)
> ... 73 more
> Caused by: java.lang.ClassNotFoundException: org.infinispan.loaders.bdbje.BdbjeCacheStore
> at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:249)
> at org.infinispan.util.Util.loadClassStrict(Util.java:138)
> at org.infinispan.util.Util.loadClass(Util.java:99)
> ... 83 more
> {code}
> However, this ClassNotFoundException comes from the System classloader, but the code still swallows the following Error:
> {code}
> Caused by: org.infinispan.CacheConfigurationException: Unable to instantiate class org.infinispan.loaders.bdbje.BdbjeCacheStore
> at org.infinispan.util.Util.loadClass(Util.java:101)
> [SNIP - see above]
> at org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:77)
> ... 73 more
> Caused by: java.lang.ClassNotFoundException: org.infinispan.loaders.bdbje.BdbjeCacheStore
> at org.infinispan.util.Util.loadClassStrict(Util.java:150)
> at org.infinispan.util.Util.loadClass(Util.java:99)
> ... 83 more
> Caused by: java.lang.NoClassDefFoundError: com/sleepycat/collections/TransactionWorker
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:249)
> at org.infinispan.util.Util.loadClassStrict(Util.java:138)
> ... 84 more
> Caused by: java.lang.ClassNotFoundException: com.sleepycat.collections.TransactionWorker from BaseClassLoader@3598d24f{vfsfile:/D:/App/Java/jboss/brms-standalone-5.3.0/jboss-as/server/lettergen-ds-default/deploy/modeshape-datastore.ear/}
> at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:477)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
> ... 87 more
> {code}
> It is this error which is actually important: the BdbjeCacheStore class was found but it cannot be loaded because the sleepycat jar is not on the classpath. It is impossible to see this without changing the code.
> The commits for ISPN-2559 did not properly fix this problem. The Error should be logged in all cases because the ClassNotFoundException will also happen in almost every case: the last search ClassLoader is the System ClassLoader which will likely never have the searched class.
> Once again: please log all NoClassDefFoundErrors (suppressing Errors is bad in any case) or at least handle them *before* handling any ClassNotFoundExceptions. The attached patch does exactly that.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 6 months