[JBoss JIRA] (ISPN-4920) CancelledKeyException should stop client event reader
by William Burns (JIRA)
[ https://issues.jboss.org/browse/ISPN-4920?page=com.atlassian.jira.plugin.... ]
William Burns updated ISPN-4920:
--------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
> CancelledKeyException should stop client event reader
> -----------------------------------------------------
>
> Key: ISPN-4920
> URL: https://issues.jboss.org/browse/ISPN-4920
> Project: Infinispan
> Issue Type: Bug
> Components: Remote Protocols
> Affects Versions: 7.0.0.CR2
> Reporter: Galder Zamarreño
> Assignee: Galder Zamarreño
> Fix For: 7.0.0.Final
>
>
> {code}
> 04:13:05,785 INFO [TestsuiteListener] (main) Running org.infinispan.server.test.client.hotrod.HotRodRemoteCacheIT#testCustomEventsDynamic
> 04:13:06,005 WARN [ClientListenerNotifier] (HotRod-client-async-pool-2) ISPN004039: Unable to complete reading event from server null
> java.nio.channels.CancelledKeyException
> at sun.nio.ch.SelectionKeyImpl.ensureValid(SelectionKeyImpl.java:73)
> at sun.nio.ch.SelectionKeyImpl.readyOps(SelectionKeyImpl.java:87)
> at java.nio.channels.SelectionKey.isReadable(SelectionKey.java:289)
> at sun.nio.ch.SocketAdaptor$SocketInputStream.read(SocketAdaptor.java:222)
> at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:103)
> at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
> at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
> at org.infinispan.client.hotrod.impl.transport.tcp.TcpTransport.readByte(TcpTransport.java:179)
> at org.infinispan.client.hotrod.impl.protocol.Codec20.readMagic(Codec20.java:245)
> at org.infinispan.client.hotrod.impl.protocol.Codec20.readEvent(Codec20.java:101)
> at org.infinispan.client.hotrod.event.ClientListenerNotifier$EventDispatcher.run(ClientListenerNotifier.java:229)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> 04:13:06,011 INFO [TestsuiteListener] (main) Running org.infinispan.server.test.client.hotrod.HotRodRemoteCacheIT#testRemoveWithVersionAsync
> 04:13:06,030 WARN [ClientListenerNotifier] (HotRod-client-async-pool-2) ISPN004039: Unable to complete reading event from server null
> java.nio.channels.IllegalBlockingModeException
> at sun.nio.ch.SocketAdaptor$SocketInputStream.read(SocketAdaptor.java:201)
> at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:103)
> at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
> at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
> at org.infinispan.client.hotrod.impl.transport.tcp.TcpTransport.readByte(TcpTransport.java:179)
> at org.infinispan.client.hotrod.impl.protocol.Codec20.readMagic(Codec20.java:245)
> at org.infinispan.client.hotrod.impl.protocol.Codec20.readEvent(Codec20.java:101)
> at org.infinispan.client.hotrod.event.ClientListenerNotifier$EventDispatcher.run(ClientListenerNotifier.java:229)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> {code}
> The IllegalBlockingModeException then repeats for several tens/hundreds of MB of lines
> {code}
> Also fails in HotRodCustomMarshallerEventIT:
> 05:39:05,133 INFO [TestsuiteListener] (main) Running org.infinispan.server.test.client.hotrod.HotRodCustomMarshallerEventIT#testEventReceiveBasic
> 05:39:05,267 INFO [RemoteCacheManager] (main) ISPN004021: Infinispan version: 6.2.0.ER2-redhat-1
> 05:39:05,313 WARN [ClientListenerNotifier] (HotRod-client-async-pool-0) ISPN004039: Unable to complete reading event from server null
> java.nio.channels.CancelledKeyException
> at sun.nio.ch.SelectionKeyImpl.ensureValid(SelectionKeyImpl.java:73)
> at sun.nio.ch.SelectionKeyImpl.readyOps(SelectionKeyImpl.java:87)
> at java.nio.channels.SelectionKey.isReadable(SelectionKey.java:289)
> at sun.nio.ch.SocketAdaptor$SocketInputStream.read(SocketAdaptor.java:222)
> at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:103)
> at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
> at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
> at org.infinispan.client.hotrod.impl.transport.tcp.TcpTransport.readByte(TcpTransport.java:179)
> at org.infinispan.client.hotrod.impl.protocol.Codec20.readMagic(Codec20.java:245)
> at org.infinispan.client.hotrod.impl.protocol.Codec20.readEvent(Codec20.java:101)
> at org.infinispan.client.hotrod.event.ClientListenerNotifier$EventDispatcher.run(ClientListenerNotifier.java:229)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> 05:39:05,315 WARN [ClientListenerNotifier] (HotRod-client-async-pool-0) ISPN004039: Unable to complete reading event from server null
> java.nio.channels.IllegalBlockingModeException
> at sun.nio.ch.SocketAdaptor$SocketInputStream.read(SocketAdaptor.java:201)
> at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:103)
> at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
> at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
> at org.infinispan.client.hotrod.impl.transport.tcp.TcpTransport.readByte(TcpTransport.java:179)
> at org.infinispan.client.hotrod.impl.protocol.Codec20.readMagic(Codec20.java:245)
> at org.infinispan.client.hotrod.impl.protocol.Codec20.readEvent(Codec20.java:101)
> at org.infinispan.client.hotrod.event.ClientListenerNotifier$EventDispatcher.run(ClientListenerNotifier.java:229)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.1#6329)
10 years, 1 month
[JBoss JIRA] (ISPN-3684) Improve L1 consitency with backup owners
by William Burns (JIRA)
[ https://issues.jboss.org/browse/ISPN-3684?page=com.atlassian.jira.plugin.... ]
William Burns updated ISPN-3684:
--------------------------------
Fix Version/s: 8.0.0.Final
(was: 7.0.0.Final)
> Improve L1 consitency with backup owners
> ----------------------------------------
>
> Key: ISPN-3684
> URL: https://issues.jboss.org/browse/ISPN-3684
> Project: Infinispan
> Issue Type: Enhancement
> Components: Core
> Affects Versions: 6.0.0.CR1
> Reporter: William Burns
> Assignee: William Burns
> Fix For: 8.0.0.Final
>
>
> ISPN-3648 fixed an issue that can occur when a backup owner replies with an outdated value.
> More details on the original issue can be found at ISPN-3426.
> This JIRA is to improve this fix to be something more desirable.
> There are a few ways that this could be done.
> # Change it so that remote gets only go to the primary owner, which guarantees consistency with that owner (this still has issues with fail over when that primary owner goes down). Also may have performance issues since we don't have backup owners to respond faster.
> # Change it so that values are only added to L1 if the value was retrieved from the primary owner. (note there is still some stuff to think about for fail over here)
> # Multicast the invalidation message from the primary owner after updating the value. This is the simplest approach (no requestors map required), but may also have some performance concerns.
--
This message was sent by Atlassian JIRA
(v6.3.1#6329)
10 years, 1 month
[JBoss JIRA] (ISPN-4547) Replication queue should replicate the first command immediately
by William Burns (JIRA)
[ https://issues.jboss.org/browse/ISPN-4547?page=com.atlassian.jira.plugin.... ]
William Burns updated ISPN-4547:
--------------------------------
Fix Version/s: 7.1.0.Beta1
(was: 7.0.0.Final)
> Replication queue should replicate the first command immediately
> ----------------------------------------------------------------
>
> Key: ISPN-4547
> URL: https://issues.jboss.org/browse/ISPN-4547
> Project: Infinispan
> Issue Type: Enhancement
> Components: Core
> Affects Versions: 7.0.0.Alpha5
> Reporter: Dan Berindei
> Assignee: William Burns
> Priority: Minor
> Fix For: 7.1.0.Beta1
>
>
> The replication queue only replicates commands when the replication queue is full or the replication thread wakes up periodically.
> If a new command is added to an empty replication queue, the replication thread should wake up immediately and broadcast it, otherwise it will add a significant latency to the replication under light load.
--
This message was sent by Atlassian JIRA
(v6.3.1#6329)
10 years, 1 month
[JBoss JIRA] (ISPN-4099) Local Listeners can raise entry events on rehash
by William Burns (JIRA)
[ https://issues.jboss.org/browse/ISPN-4099?page=com.atlassian.jira.plugin.... ]
William Burns updated ISPN-4099:
--------------------------------
Fix Version/s: (was: 7.0.0.Final)
> Local Listeners can raise entry events on rehash
> ------------------------------------------------
>
> Key: ISPN-4099
> URL: https://issues.jboss.org/browse/ISPN-4099
> Project: Infinispan
> Issue Type: Bug
> Components: Listeners
> Affects Versions: 7.0.0.Alpha1
> Reporter: William Burns
> Assignee: William Burns
>
> -Cluster Listeners currently raise all create, modify and remove events. When a rehash event occurs this would cause a create event to be generated even though it wasn't just added to the cache. We need to not raise an event in this case.-
> Writing up tests for this, cluster listeners are unaffected as they use the primaryOnly value for the listener. Further testing shows that this only affects local listeners when they become a backup owner from not being an owner.
--
This message was sent by Atlassian JIRA
(v6.3.1#6329)
10 years, 1 month
[JBoss JIRA] (ISPN-4512) CacheManagerTest.testCacheManagerRestartReusingConfigurations random failures
by William Burns (JIRA)
[ https://issues.jboss.org/browse/ISPN-4512?page=com.atlassian.jira.plugin.... ]
William Burns updated ISPN-4512:
--------------------------------
Fix Version/s: 7.1.0.Beta1
(was: 7.0.0.Final)
> CacheManagerTest.testCacheManagerRestartReusingConfigurations random failures
> -----------------------------------------------------------------------------
>
> Key: ISPN-4512
> URL: https://issues.jboss.org/browse/ISPN-4512
> Project: Infinispan
> Issue Type: Bug
> Components: Core, Test Suite - Core
> Affects Versions: 7.0.0.Alpha4
> Reporter: Dan Berindei
> Assignee: William Burns
> Priority: Blocker
> Labels: testsuite_stability
> Fix For: 7.1.0.Beta1
>
> Attachments: CacheManagerTest_t_ISPN-4154_failing_elasticity_test_20140707.log.gz
>
>
> When a new cache manager is started with the same configuration, it uses the JGroupsTransport instance. In some rare cases, the JGroupsTransport keeps using the old marshaller, which doesn't work, and the cache fails to start:
> {noformat}
> 23:54:08,203 TRACE (testng-CacheManagerTest:___defaultcache) [JGroupsTransport] dests=[NodeB-24139], command=CacheTopologyControlCommand{cache=___defaultcache, type=JOIN, sender=NodeA-33664, joinInfo=CacheJoinInfo{consistentHashFactory=org.infinispan.distribution.ch.impl.ReplicatedConsistentHashFactory@b8c8791, hashFunction=MurmurHash3, numSegments=60, numOwners=2, timeout=240000, totalOrder=false, distributed=false}, topologyId=0, currentCH=null, pendingCH=null, throwable=null, viewId=3}, mode=SYNCHRONOUS, timeout=240000
> 23:54:08,207 DEBUG (testng-CacheManagerTest:___defaultcache) [VersionAwareMarshaller] Object is not serializable
> java.io.NotSerializableException: org.infinispan.topology.CacheTopologyControlCommand
> at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:890)
> at org.jboss.marshalling.AbstractObjectOutput.writeObject(AbstractObjectOutput.java:58)
> at org.jboss.marshalling.AbstractMarshaller.writeObject(AbstractMarshaller.java:111)
> at org.infinispan.commons.marshall.jboss.AbstractJBossMarshaller.objectToObjectStream(AbstractJBossMarshaller.java:73)
> at org.infinispan.marshall.core.VersionAwareMarshaller.objectToBuffer(VersionAwareMarshaller.java:77)
> at org.infinispan.commons.marshall.AbstractMarshaller.objectToBuffer(AbstractMarshaller.java:41)
> at org.infinispan.commons.marshall.AbstractDelegatingMarshaller.objectToBuffer(AbstractDelegatingMarshaller.java:85)
> at org.infinispan.remoting.transport.jgroups.MarshallerAdapter.objectToBuffer(MarshallerAdapter.java:23)
> at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.marshallCall(CommandAwareRpcDispatcher.java:335)
> at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.processSingleCall(CommandAwareRpcDispatcher.java:352)
> at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.invokeRemoteCommand(CommandAwareRpcDispatcher.java:165)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.invokeRemotely(JGroupsTransport.java:526)
> at org.infinispan.topology.LocalTopologyManagerImpl.executeOnCoordinator(LocalTopologyManagerImpl.java:290)
> at org.infinispan.topology.LocalTopologyManagerImpl.join(LocalTopologyManagerImpl.java:100)
> at org.infinispan.statetransfer.StateTransferManagerImpl.start(StateTransferManagerImpl.java:104)
> {noformat}
> The only test that does this is CacheManagerTest.testCacheManagerRestartReusingConfigurations.
--
This message was sent by Atlassian JIRA
(v6.3.1#6329)
10 years, 1 month