[JBoss JIRA] (ISPN-9746) HotRod decoder should release allocated buffers
by Dan Berindei (Jira)
Dan Berindei created ISPN-9746:
----------------------------------
Summary: HotRod decoder should release allocated buffers
Key: ISPN-9746
URL: https://issues.jboss.org/browse/ISPN-9746
Project: Infinispan
Issue Type: Bug
Components: Server
Affects Versions: 9.4.1.Final
Reporter: Dan Berindei
{noformat}
19:09:07,279 ERROR [io.netty.util.ResourceLeakDetector] (HotRod-ServerIO-6-1) LEAK: ByteBuf.release() was not called before it's garbage-collected. See http://netty.io/wiki/reference-counted-objects.html for more information.
Recent access records:
Created at:
io.netty.buffer.PooledByteBufAllocator.newDirectBuffer(PooledByteBufAllocator.java:331)
io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:185)
io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:176)
io.netty.buffer.AbstractByteBufAllocator.buffer(AbstractByteBufAllocator.java:113)
org.infinispan.server.hotrod.HotRodDecoder.switch3(HotRodDecoder.java:1940)
org.infinispan.server.hotrod.HotRodDecoder.switch1_0(HotRodDecoder.java:156)
org.infinispan.server.hotrod.HotRodDecoder.decode(HotRodDecoder.java:143)
{noformat}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 4 months
[JBoss JIRA] (ISPN-9701) TransactionTable does not shutdown gracefully
by Dan Berindei (Jira)
[ https://issues.jboss.org/browse/ISPN-9701?page=com.atlassian.jira.plugin.... ]
Dan Berindei commented on ISPN-9701:
------------------------------------
I think your "naive fix" is just fine [~pferraro]. Marshalling is always synchronous, so it will definitely fix the exception.
True, before this we already left the cache, so the other nodes might have already removed the transaction before we sent the commit and the subsequent {{TxCompletionNotificationCommand}}. In order to fix that, we'd need another component that waits for local txs to finish before leaving the cache, or perhaps splitting the leave in 2 phases.
> TransactionTable does not shutdown gracefully
> ---------------------------------------------
>
> Key: ISPN-9701
> URL: https://issues.jboss.org/browse/ISPN-9701
> Project: Infinispan
> Issue Type: Bug
> Components: Transactions
> Affects Versions: 9.4.1.Final
> Reporter: Paul Ferraro
> Assignee: Dan Berindei
> Priority: Critical
>
> Here's a sample stacktrace during shutdown:
> {noformat}
> 16:54:15,033 WARN [org.wildfly.clustering.web.undertow] (default task-1) ISPN000472: Cache manager is stopping: org.infinispan.IllegalLifecycleStateException: ISPN000472: Cache manager is stopping
> at org.infinispan.marshall.core.GlobalMarshaller.getExternalizer(GlobalMarshaller.java:420)
> at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:400)
> at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:355)
> at org.infinispan.marshall.core.GlobalMarshaller.writeObjectOutput(GlobalMarshaller.java:183)
> at org.infinispan.marshall.core.GlobalMarshaller.writeObjectOutput(GlobalMarshaller.java:176)
> at org.infinispan.marshall.core.GlobalMarshaller.objectToBuffer(GlobalMarshaller.java:305)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.marshallRequest(JGroupsTransport.java:1009)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.sendCommand(JGroupsTransport.java:1209)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.performAsyncRemoteInvocation(JGroupsTransport.java:1105)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.invokeRemotelyAsync(JGroupsTransport.java:246)
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotelyAsync(RpcManagerImpl.java:291)
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:323)
> at org.infinispan.transaction.impl.TransactionTable.removeTransactionInfoRemotely(TransactionTable.java:900)
> at org.infinispan.transaction.impl.TransactionTable.releaseLocksForCompletedTransaction(TransactionTable.java:886)
> at org.infinispan.transaction.xa.XaTransactionTable.forgetSuccessfullyCompletedTransaction(XaTransactionTable.java:195)
> at org.infinispan.transaction.xa.XaTransactionTable.commit(XaTransactionTable.java:128)
> at org.infinispan.transaction.xa.TransactionXaAdapter.commit(TransactionXaAdapter.java:68)
> at org.infinispan.commons.tx.TransactionImpl.finishResource(TransactionImpl.java:419)
> at org.infinispan.commons.tx.TransactionImpl.commitResources(TransactionImpl.java:466)
> at org.infinispan.commons.tx.TransactionImpl.runCommit(TransactionImpl.java:335)
> at org.infinispan.commons.tx.TransactionImpl.commit(TransactionImpl.java:110)
> {noformat}
> The problem seems to be that shutDownGracefully() first waits for the localTransactions map to be empty. However, when the cache is clustered, releaseLocksForCompletedTransaction(...) removes the transaction from the localTransactions map *before* invoking removeTransactionInfoRemotely(...), which means that the subsequent TxCompletionNotificationCommand can fail to marshal (see above), or the transport might close before this command is sent.
> A naive fix would simply reorder the removeLocalTransaction(...) to happen after the call to removeTransactionInfoRemotely(...) within the releaseLocksForCompletedTransaction(...) method, but I'm sure there's more to it.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 4 months
[JBoss JIRA] (ISPN-9706) SpringCache: get("key", Callable) not working with null values
by Dan Berindei (Jira)
[ https://issues.jboss.org/browse/ISPN-9706?page=com.atlassian.jira.plugin.... ]
Dan Berindei updated ISPN-9706:
-------------------------------
Status: Resolved (was: Pull Request Sent)
Fix Version/s: 9.4.2.Final
10.0.0.Alpha1
Resolution: Done
> SpringCache: get("key", Callable) not working with null values
> --------------------------------------------------------------
>
> Key: ISPN-9706
> URL: https://issues.jboss.org/browse/ISPN-9706
> Project: Infinispan
> Issue Type: Bug
> Components: Spring Integration
> Affects Versions: 9.4.1.Final
> Reporter: Katia Aresti
> Assignee: Katia Aresti
> Priority: Major
> Fix For: 9.4.2.Final, 10.0.0.Alpha1
>
>
> {code:SpringCacheTest.java}
> @Test
> public void testGetWithNullValue() {
> assertNull(cache.get("null", () -> null));
> }
> {code}
> {code}
> Caused by: java.lang.NullPointerException: Null values are not supported!
> {code}
> and
> {code:SpringCacheTest.java}
> @Test
> public void testGetNullValueAfterPutNull() {
> cache.put("key", null);
> String result = cache.get("key", () -> "notnull");
> assertNull(result);
> }
> {code}
> {code}
> java.lang.ClassCastException: org.infinispan.spring.provider.NullValue cannot be cast to java.lang.String
> {code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 4 months
[JBoss JIRA] (ISPN-9705) SpringCache Put null value and get(key, clazz) IllegalStateException
by Dan Berindei (Jira)
[ https://issues.jboss.org/browse/ISPN-9705?page=com.atlassian.jira.plugin.... ]
Dan Berindei updated ISPN-9705:
-------------------------------
Status: Resolved (was: Pull Request Sent)
Fix Version/s: 9.4.2.Final
10.0.0.Alpha1
Resolution: Done
> SpringCache Put null value and get(key, clazz) IllegalStateException
> --------------------------------------------------------------------
>
> Key: ISPN-9705
> URL: https://issues.jboss.org/browse/ISPN-9705
> Project: Infinispan
> Issue Type: Bug
> Components: Spring Integration
> Affects Versions: 9.4.1.Final
> Reporter: Katia Aresti
> Assignee: Katia Aresti
> Priority: Major
> Fix For: 9.4.2.Final, 10.0.0.Alpha1
>
>
> {code:title=SpringCacheTest,java|borderStyle=solid}
> public void testPutNullError() {
> //when//then
> cache.put("key", null);
> cache.get("key", String.class);
> }
> {code}
> We get
> {code}
> java.lang.IllegalStateException: Cached value is not of required type [java.lang.String]: org.infinispan.spring.provider.NullValue@76f7d241
> {code}
> JavaDoc for this method states this method does not make difference between cached null and null value.
> Note: This variant of {@code get} does not allow for differentiating
> * between a cached {@code null} value and no cache entry found at all.
> * Use the standard {@link #get(Object)} variant for that purpose instead.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 4 months
[JBoss JIRA] (ISPN-9745) Release fails because compatibility bundle modules don't have source jars
by Dan Berindei (Jira)
Dan Berindei created ISPN-9745:
----------------------------------
Summary: Release fails because compatibility bundle modules don't have source jars
Key: ISPN-9745
URL: https://issues.jboss.org/browse/ISPN-9745
Project: Infinispan
Issue Type: Bug
Components: Build
Reporter: Dan Berindei
Assignee: Dan Berindei
Fix For: 9.4.2.Final
Modules {{client/marshaller/protostuff/protostuff-marshaller-compatibility-bundle}} and {{client/marshaller/protostuff/protostuff-marshaller-compatibility-bundle}} are uber-jars and don't have any sources.
Prior to the ISPN-9697 changes, a {{DEPENDENCIES.txt}} and {{LICENSES.txt}} was generated in the source directory, and a test-sources jar was created. But after those files were removed, a test-sources jar is no longer generated, and Nexus rejects the artifacts:
{noformat}
11:19:37.492 [ERROR]
11:19:37.492 [ERROR] Nexus Staging Rules Failure Report
11:19:37.492 [ERROR] ==================================
11:19:37.492 [ERROR]
11:19:37.493 [ERROR] Repository "jboss_releases_staging_profile-14551" failures
11:19:37.493 [ERROR] Rule "sources-staging" failures
11:19:37.493 [ERROR] * Missing: no sources jar found in folder '/org/infinispan/infinispan-marshaller-kryo-bundle/9.4.2.Final'
11:19:37.493 [ERROR] * Missing: no sources jar found in folder '/org/infinispan/infinispan-marshaller-protostuff-bundle/9.4.2.Final'
{noformat}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 4 months
[JBoss JIRA] (ISPN-9745) Release fails because compatibility bundle modules don't have source jars
by Dan Berindei (Jira)
[ https://issues.jboss.org/browse/ISPN-9745?page=com.atlassian.jira.plugin.... ]
Dan Berindei updated ISPN-9745:
-------------------------------
Status: Open (was: New)
> Release fails because compatibility bundle modules don't have source jars
> -------------------------------------------------------------------------
>
> Key: ISPN-9745
> URL: https://issues.jboss.org/browse/ISPN-9745
> Project: Infinispan
> Issue Type: Bug
> Components: Build
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Fix For: 9.4.2.Final
>
>
> Modules {{client/marshaller/protostuff/protostuff-marshaller-compatibility-bundle}} and {{client/marshaller/protostuff/protostuff-marshaller-compatibility-bundle}} are uber-jars and don't have any sources.
> Prior to the ISPN-9697 changes, a {{DEPENDENCIES.txt}} and {{LICENSES.txt}} was generated in the source directory, and a test-sources jar was created. But after those files were removed, a test-sources jar is no longer generated, and Nexus rejects the artifacts:
> {noformat}
> 11:19:37.492 [ERROR]
> 11:19:37.492 [ERROR] Nexus Staging Rules Failure Report
> 11:19:37.492 [ERROR] ==================================
> 11:19:37.492 [ERROR]
> 11:19:37.493 [ERROR] Repository "jboss_releases_staging_profile-14551" failures
> 11:19:37.493 [ERROR] Rule "sources-staging" failures
> 11:19:37.493 [ERROR] * Missing: no sources jar found in folder '/org/infinispan/infinispan-marshaller-kryo-bundle/9.4.2.Final'
> 11:19:37.493 [ERROR] * Missing: no sources jar found in folder '/org/infinispan/infinispan-marshaller-protostuff-bundle/9.4.2.Final'
> {noformat}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 4 months
[JBoss JIRA] (ISPN-9744) Cache creation should be non blocking
by William Burns (Jira)
William Burns created ISPN-9744:
-----------------------------------
Summary: Cache creation should be non blocking
Key: ISPN-9744
URL: https://issues.jboss.org/browse/ISPN-9744
Project: Infinispan
Issue Type: Enhancement
Components: Core
Reporter: William Burns
Assignee: William Burns
Internally cache creation stores entries in a CompletableFuture. We however don't return a CompletionStage to the invoker of getCache. We should do this and utilize the same approach to async calls that {code}DefaultCacheManager#startCaches{code} does by starting a thread per cache.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 4 months