[JBoss JIRA] Created: (ISPN-608) Make the ReplicationQueue Listenable
by craig bomba (JIRA)
Make the ReplicationQueue Listenable
------------------------------------
Key: ISPN-608
URL: https://jira.jboss.org/browse/ISPN-608
Project: Infinispan
Issue Type: Feature Request
Components: Core API
Reporter: craig bomba
Assignee: craig bomba
Priority: Minor
We needed to make the ReplicationQueue listenable. We needed events for adding a command to and flushing the queue.
org.infinispan.factories.EmptyConstructorNamedCacheFactory
Just added ReplicationQueueNotifier.class to the @DefaultFactoryFor annotation.
org.infinispan.notifications.replicationqueuelistener.ReplicationQueueNotifier
Interface for the ReplicationQueue notifier.
org.infinispan.notifications.replicationqueuelistener.ReplicationQueueNotifierImpl
The ReplicationQueue notifier implementation. Supports events for adding and a command to and flushing the queue.
org.infinispan.notifications.replicationqueuelistener.annotation.Flush
org.infinispan.notifications.replicationqueuelistener.annotation.ReplicableCommandAdded
The bare annotations to add to ReplicationQueue listeners.
org.infinispan.notifications.replicationqueuelistener.event.Event
The interface for the command added and flush event implementations.
org.infinispan.notifications.replicationqueuelistener.event.FlushEvent
org.infinispan.notifications.replicationqueuelistener.event.ReplicableCommandAddedEvent
The event implementations.
org.infinispan.remoting.ReplicationQueue
Updated to implement listenable.
Throws the command added event AFTER it has been added to the queue. It includes the size of the queue AFTER the command has been added.
Throws the flush event AFTER the queue has been flushed. It includes the size of the queue to be flushed.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 2 months
[JBoss JIRA] Created: (ISPN-702) RankCalculatorListener registered to late
by Jacek Gerbszt (JIRA)
RankCalculatorListener registered to late
-----------------------------------------
Key: ISPN-702
URL: https://jira.jboss.org/browse/ISPN-702
Project: Infinispan
Issue Type: Bug
Components: Cache Server
Affects Versions: 4.2.0.ALPHA3
Reporter: Jacek Gerbszt
Assignee: Manik Surtani
Priority: Critical
Any call to HotRod Server v. 4.2.0.ALPHA3 ends with the exception:
2010-10-14 17:39:36,953 ERROR [org.infinispan.server.core.AbstractProtocolDecoder$] (HotRodServerWorker-1-22) Exception reported
org.infinispan.server.core.ServerException: java.lang.IllegalStateException: If clustered, Version prefix cannot be 0. Rank calculator probably not in use.
at org.infinispan.server.core.AbstractProtocolDecoder.decode(AbstractProtocolDecoder.scala:53)
at org.infinispan.server.core.transport.netty.DecoderAdapter.decode(DecoderAdapter.scala:18)
at org.infinispan.server.core.transport.netty.DecoderAdapter.decode(DecoderAdapter.scala:14)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:471)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:444)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:350)
at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:281)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:201)
at org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
The reason is that RankCalculatorListener is registered to late - in org.infinispan.server.core.start() method, which is called at the end of overriding org.infinispan.server.hotrod.HotRodServer.start(), which in turn starts all the defined caches.
Maybe there is a need for adding a new lifecycle method to ProtocolServer - create(). Like in JMX services.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 2 months
[JBoss JIRA] Created: (ISPN-687) JdbcStringBasedCacheStore fails to store value, uses INSERT statement on existing value when the existing one is expired
by Sanne Grinovero (JIRA)
JdbcStringBasedCacheStore fails to store value, uses INSERT statement on existing value when the existing one is expired
------------------------------------------------------------------------------------------------------------------------
Key: ISPN-687
URL: https://jira.jboss.org/browse/ISPN-687
Project: Infinispan
Issue Type: Bug
Components: Loaders and Stores
Affects Versions: 4.2.0.ALPHA2, 4.1.0.Final, 4.0.0.Final
Reporter: Sanne Grinovero
Assignee: Mircea Markus
Fix For: 4.2.0.BETA1, 4.2.0.Final, 5.0.0.Final
org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore.storeLockSafe(InternalCacheEntry, String)
checks for existance of the key it wants to store by using "loadLockSafe", so to appropriately choose INSERT or UPDATE statements to perform the store operation on the database.
The problem is that if the existing item on database is expired, "loadLockSafe" will return null, having the store function in fact choose to use INSERT instead of UPDATE, and this will fail to store the entry.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 2 months
[JBoss JIRA] Created: (ISPN-696) NPE during state transfer after restarting cache
by Paul Ferraro (JIRA)
NPE during state transfer after restarting cache
------------------------------------------------
Key: ISPN-696
URL: https://jira.jboss.org/browse/ISPN-696
Project: Infinispan
Issue Type: Bug
Components: State transfer
Affects Versions: 4.2.0.ALPHA2
Reporter: Paul Ferraro
Assignee: Manik Surtani
When a named cache is restarted, and fetchInMemoryState = true, the state transfer initiated in StateTransferManager.start() causes a NPE, because the cache's ComponentRegistry does not get reregistered with the GlobalComponentRegistry.
The NPE comes from InboundInvocationHandlerImpl:
public void applyState(String cacheName, InputStream i) throws StateTransferException {
getStateTransferManager(cacheName).applyState(i);
}
private StateTransferManager getStateTransferManager(String cacheName) throws StateTransferException {
ComponentRegistry cr = gcr.getNamedComponentRegistry(cacheName);
if (cr == null) {
return null;
}
return cr.getComponent(StateTransferManager.class);
}
A quick glance at ComponentRegistry indicates that the registry is registered with the GlobalComponentRegistry during in the constructor and unregistered on stop(). Because of this unbalanced registration, when the stopped component registry is restarted, it never get re-registered with the GlobalComponentRegistry, hence the NPE during state transfer the second time around.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 2 months
[JBoss JIRA] Created: (ISPN-690) java.io.FileNotFoundException during Directory.copy
by Paul Nardone (JIRA)
java.io.FileNotFoundException during Directory.copy
---------------------------------------------------
Key: ISPN-690
URL: https://jira.jboss.org/browse/ISPN-690
Project: Infinispan
Issue Type: Bug
Components: Lucene Directory
Affects Versions: 4.2.0.ALPHA2, 4.1.0.Final
Environment: Win32 JRE 1.6.0_21-b07
Reporter: Paul Nardone
Assignee: Manik Surtani
Attachments: InfinispanLuceneTest.java
I've been experiencing this error in an application I am developing and finally tracked it down to a more simple case
The stack trace is
java.io.FileNotFoundException: Error loading medatada for index file: _0.cfs|M|test1
at org.infinispan.lucene.InfinispanDirectory.openInput(InfinispanDirectory.java:262)
at org.apache.lucene.store.Directory.copy(Directory.java:221)
The actual cause of this error appears to be an issue with DistributedSegmentReadLocker
During org.infinispan.lucene.InfinispanIndexInput.close(), readLocks.deleteOrReleaseReadLock() is called.
When eviction is enabled it appears the FileReadLockKey for the .cfs file is being evicted, as SKIP_CACHE_STORE is specified null returns for the lock which causes DistributedSegmentReadLocker to proceded to delete the actual .cfs file
When a later step tried to access the file it no longer exists resulting in the fileNotFoundException
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 2 months