[JBoss JIRA] (ISPN-4846) State transfer keeps trying to fetch transaction data after the cache was stopped
by Tristan Tarrant (Jira)
[ https://issues.jboss.org/browse/ISPN-4846?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-4846:
----------------------------------
Fix Version/s: 9.4.2.Final
(was: 9.4.1.Final)
> State transfer keeps trying to fetch transaction data after the cache was stopped
> ---------------------------------------------------------------------------------
>
> Key: ISPN-4846
> URL: https://issues.jboss.org/browse/ISPN-4846
> Project: Infinispan
> Issue Type: Bug
> Components: Core, State Transfer
> Affects Versions: 7.0.0.CR1
> Reporter: Dan Berindei
> Priority: Major
> Fix For: 9.4.2.Final
>
>
> StateConsumerImpl doesn't check if the cache is stopped while fetching transaction data, it only stops when it's no longer able to find providers for transactions.
> However, JGroupsTransport throws a generic CacheException when the channel is stopped. The state transfer thread can enter a busy-wait loop, retrying to get the transaction data and immediately getting the CacheException, filling the log with messages like this:
> {noformat}
> 19:32:28,237 WARN (remote-thread-NodeN-p42592-t1:) [StateConsumerImpl] ISPN000209: Failed to retrieve transactions for segments [10, 11, 12, 13, 14, 15, 17, 16, 19, 18, 21, 20, 23, 22, 25, 24, 27, 26, 29, 28, 42, 43, 40, 41, 46, 47, 44, 45, 51, 50, 49, 48, 55, 54, 53, 52, 59, 58, 57, 56] of cache testCache from node NodeM-53416
> org.infinispan.commons.CacheException: java.lang.IllegalStateException: channel is not connected
> at org.infinispan.commons.util.Util.rewrapAsCacheException(Util.java:655)
> at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.invokeRemoteCommand(CommandAwareRpcDispatcher.java:176)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.invokeRemotely(JGroupsTransport.java:536)
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:290)
> at org.infinispan.statetransfer.StateConsumerImpl.getTransactions(StateConsumerImpl.java:766)
> at org.infinispan.statetransfer.StateConsumerImpl.requestTransactions(StateConsumerImpl.java:685)
> at org.infinispan.statetransfer.StateConsumerImpl.addTransfers(StateConsumerImpl.java:629)
> at org.infinispan.statetransfer.StateConsumerImpl.onTopologyUpdate(StateConsumerImpl.java:331)
> at org.infinispan.statetransfer.StateTransferManagerImpl.doTopologyUpdate(StateTransferManagerImpl.java:195)
> at org.infinispan.statetransfer.StateTransferManagerImpl.access$000(StateTransferManagerImpl.java:43)
> at org.infinispan.statetransfer.StateTransferManagerImpl$1.rebalance(StateTransferManagerImpl.java:116)
> {noformat}
> We should check is the cache is stopped before retrying in StateConsumerImpl.requestTransactions. I also think we should change the stop order - it would make sense to stop the remote executor threads and the RpcDispatcher before we stop the channel.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 10 months
[JBoss JIRA] (ISPN-6162) Drop Query.getResultSize() method
by Tristan Tarrant (Jira)
[ https://issues.jboss.org/browse/ISPN-6162?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-6162:
----------------------------------
Fix Version/s: 9.4.2.Final
(was: 9.4.1.Final)
> Drop Query.getResultSize() method
> ---------------------------------
>
> Key: ISPN-6162
> URL: https://issues.jboss.org/browse/ISPN-6162
> Project: Infinispan
> Issue Type: Task
> Components: Embedded Querying, Remote Querying
> Reporter: Tristan Tarrant
> Assignee: Adrian Nistor
> Priority: Major
> Fix For: 9.4.2.Final
>
>
> Do we keep org.infinispan.query.dsl.Query.getResultSize? Does it return int or long? Return -1 if actual figure unknown/hard to compute? Result size might be non-trivial for non-indexed or hybrid case and will require full scan even for queries with limit. Deprecate it now, remove in ispn 9.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 10 months
[JBoss JIRA] (ISPN-6094) Use security actions to read system properties for configuration
by Tristan Tarrant (Jira)
[ https://issues.jboss.org/browse/ISPN-6094?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-6094:
----------------------------------
Fix Version/s: 9.4.2.Final
(was: 9.4.1.Final)
> Use security actions to read system properties for configuration
> ----------------------------------------------------------------
>
> Key: ISPN-6094
> URL: https://issues.jboss.org/browse/ISPN-6094
> Project: Infinispan
> Issue Type: Task
> Components: Core, Embedded Querying
> Affects Versions: 8.1.0.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Fix For: 9.4.2.Final
>
>
> Infinispan uses system properties for out-of-band settings that weren't deemed important enough to have a proper configuration attribute:
> * infinispan.arrays.debug
> * infinispan.unsafe.force_multicast
> * infinispan.compat (obsolete?)
> * infinispan.debugDependencies
> * infinispan.stagger.delay (introduced with ISPN-825)
> * org.infinispan.query.indexmanager.LockAcquiringBackend.MAX_QUEUE_SIZE
> We should use a {{SecurityActions}} class to access these properties instead of {{Boolean.getBoolean()}} and {{Integer.getInteger()}}. We should also document these system properties, and evaluate moving them to the proper configuration.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 10 months
[JBoss JIRA] (ISPN-6041) Remote Listeners: Client event reader thread reports EOF as error
by Tristan Tarrant (Jira)
[ https://issues.jboss.org/browse/ISPN-6041?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-6041:
----------------------------------
Fix Version/s: 9.4.2.Final
(was: 9.4.1.Final)
> Remote Listeners: Client event reader thread reports EOF as error
> -----------------------------------------------------------------
>
> Key: ISPN-6041
> URL: https://issues.jboss.org/browse/ISPN-6041
> Project: Infinispan
> Issue Type: Bug
> Components: Remote Protocols
> Affects Versions: 8.1.0.Final
> Reporter: Dan Berindei
> Priority: Minor
> Fix For: 9.4.2.Final
>
>
> {noformat}
> 14:02:14,904 ERROR (Client-Listener-87aa07aee56d43e1) [ClientListenerNotifier] ISPN004043: Unrecoverable error reading event from server /127.0.0.1:15530, exiting event reader thread
> org.infinispan.client.hotrod.exceptions.TransportException: End of stream reached!
> at org.infinispan.client.hotrod.impl.transport.tcp.TcpTransport.readByte(TcpTransport.java:198)
> at org.infinispan.client.hotrod.impl.protocol.Codec20.readMagic(Codec20.java:305)
> at org.infinispan.client.hotrod.impl.protocol.Codec20.readEvent(Codec20.java:147)
> at org.infinispan.client.hotrod.event.ClientListenerNotifier$EventDispatcher.run(ClientListenerNotifier.java:252)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> {noformat}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 10 months
[JBoss JIRA] (ISPN-6011) ClassCastException in CDI generated keys for JCache
by Tristan Tarrant (Jira)
[ https://issues.jboss.org/browse/ISPN-6011?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-6011:
----------------------------------
Fix Version/s: 9.4.2.Final
(was: 9.4.1.Final)
> ClassCastException in CDI generated keys for JCache
> ---------------------------------------------------
>
> Key: ISPN-6011
> URL: https://issues.jboss.org/browse/ISPN-6011
> Project: Infinispan
> Issue Type: Bug
> Affects Versions: 8.1.0.CR1, 8.0.2.Final
> Reporter: Galder Zamarreño
> Assignee: Galder Zamarreño
> Priority: Major
> Fix For: 9.4.2.Final
>
>
> When using JCache-annotations the DefaultCacheKeyGenerator exclusively looks at parameter values to form the cache key. Therefore it will be very likely that collissions occur (resulting in difficult to find ClassCastExceptions). The provided patch uses the method- and class names as additionally values to make the cache key more unique.
> Might also add that I am aware that by spec this should not be an issue when no cachename is given (as it should generate a cache using the class-name), but when a cache name is given collissions may occur.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 10 months