[JBoss JIRA] Created: (ISPN-877) analyse, document and suggest indexing the JDBC cache store
by Mircea Markus (JIRA)
analyse, document and suggest indexing the JDBC cache store
-----------------------------------------------------------
Key: ISPN-877
URL: https://issues.jboss.org/browse/ISPN-877
Project: Infinispan
Issue Type: Feature Request
Components: Loaders and Stores
Affects Versions: 4.2.0.Final
Reporter: Mircea Markus
Assignee: Mircea Markus
Fix For: 5.0.0.ALPHA2
Adding indexes to the JDBC cache store's backend table can drastically increase performance especially for the JdbcStringBasedCacheStore and partially for the JdbcMixedCacheStore.
Investigate weather indexes can be defined through Jdbc in a portable manner (same way the tables are created on startup) or at least update documentation to describe how indexes should be defined and the advantages of having them defined.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 7 months
[JBoss JIRA] Created: (ISPN-1119) HotRod client should only log ERROR when it cannot failover
by Galder Zamarreño (JIRA)
HotRod client should only log ERROR when it cannot failover
-----------------------------------------------------------
Key: ISPN-1119
URL: https://issues.jboss.org/browse/ISPN-1119
Project: Infinispan
Issue Type: Bug
Components: Cache Server
Reporter: Galder Zamarreño
Assignee: Galder Zamarreño
Fix For: 4.2.2.BETA1, 5.0.0.CR3
In the Hot Rod client, if an error occurs connecting to a server, an ERROR is logged
2011-05-17 07:48:42,000 312441 ERROR [org.infinispan.client.hotrod.impl.transport.tcp.TcpTransport] (Runner - 0:) Could not connect to server: perf19/10.16.90.56:11222
However, this is not necessarily an ERROR unless you've run out of nodes and you cannot failover. So this should be a WARN and only log ERROR if you can't
failover any more
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 7 months
[JBoss JIRA] Created: (ISPN-1121) Concurrent access and removal of an AtomicMap should result in an IllegalStateException
by Manik Surtani (JIRA)
Concurrent access and removal of an AtomicMap should result in an IllegalStateException
---------------------------------------------------------------------------------------
Key: ISPN-1121
URL: https://issues.jboss.org/browse/ISPN-1121
Project: Infinispan
Issue Type: Bug
Components: Core API
Affects Versions: 4.2.1.FINAL
Reporter: Manik Surtani
Assignee: Manik Surtani
Fix For: 5.0.0.CR3, 5.0.0.FINAL
Currently, we see:
{code}
tx.begin();
Map<?,?> map = AtomicMapLookup.getAtomicMap(cache, key);
assert map.size() == 3;
AtomicMapLookup.removeAtomicMap(cache, key);
assert map.size() == 0;
tx.commit();
{code}
Access to the map after its removal is invalid, since even storing data here would be lost.
An {{IllegalStateException}} should be thrown if one attempts to access or manipulate an {{AtomicMap}} after the {{AtomicMap}} has been removed from the cache, since this represents a stale handle.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 7 months
[JBoss JIRA] Created: (ISPN-360) create NodeJoined event
by Mircea Markus (JIRA)
create NodeJoined event
-----------------------
Key: ISPN-360
URL: https://jira.jboss.org/jira/browse/ISPN-360
Project: Infinispan
Issue Type: Feature Request
Components: Listeners, State transfer
Reporter: Mircea Markus
Assignee: Manik Surtani
In relation to http://community.jboss.org/message/529547#529547
It's an well known scenario to start a cluster, and only after the ENTIRE cluster is started to start and do work. Right now, we have CacheStarted and ViewChanged notifications. First only tells us that the local node is started but other nodes might still be in the process of starting. Second one tells us that the view has changed, but not that the cluster has started, i.e. the cache might be in the process of rebalancing state etc.
A possible solution would be to have an NodeJoined event, that would be called whenever a new node finished joining the cluster. Finished joining means state transfer happened and that node is started.
For a possible workaround to this feature see the forum post.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 7 months
[JBoss JIRA] Created: (ISPN-1110) Locks not cleared when listener throws exception
by Galder Zamarreño (JIRA)
Locks not cleared when listener throws exception
-------------------------------------------------
Key: ISPN-1110
URL: https://issues.jboss.org/browse/ISPN-1110
Project: Infinispan
Issue Type: Bug
Components: Listeners, Locking and Concurrency
Affects Versions: 5.0.0.CR2, 4.2.1.FINAL
Reporter: Galder Zamarreño
Assignee: Galder Zamarreño
Fix For: 4.2.2.BETA1, 4.2.2.FINAL, 5.0.0.CR3, 5.0.0.FINAL
If a listener implementation throws an exception (at least when isPre()) when a new entry is created, acquired locks are unreleased.
So, concurrent invocations on same key will fail with a timeout exception
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 7 months
[JBoss JIRA] Created: (ISPN-1097) Optimize storeAsBinary behavior for invalidation mode caches
by Paul Ferraro (JIRA)
Optimize storeAsBinary behavior for invalidation mode caches
------------------------------------------------------------
Key: ISPN-1097
URL: https://issues.jboss.org/browse/ISPN-1097
Project: Infinispan
Issue Type: Enhancement
Components: Marshalling
Affects Versions: 5.0.0.CR1
Reporter: Paul Ferraro
Assignee: Manik Surtani
Priority: Critical
When using invalidation mode w/storeAsBinary enabled, both the cache key and value are serialized during a cache put. However, unlike the cache key, the cache value will never be sent over the wire - so it seems that this serialization cost is necessary. Since INVALIDATION_SYNC is the default mode for hibernate 2nd level caching of entities and collections, and since serializing an entity is potentially costly, this performance hit very noticeable, especially when compared to the performance of JBoss Cache, where serialization only happens when needed.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 7 months
[JBoss JIRA] Created: (ISPN-1114) TestingUtil.sleepThread that throws back InterruptedException is needed
by Galder Zamarreño (JIRA)
TestingUtil.sleepThread that throws back InterruptedException is needed
-----------------------------------------------------------------------
Key: ISPN-1114
URL: https://issues.jboss.org/browse/ISPN-1114
Project: Infinispan
Issue Type: Bug
Components: Test Suite
Reporter: Galder Zamarreño
Assignee: Galder Zamarreño
Fix For: 5.0.0.CR3
Attachments: Thread Dump - Maven Process for hudson.maven.MavenModuleSet@56809791[Infinispan-master-JDK6-tcp] [Jenkins].html
There should be an alternative TestingUtil.sleepThread() that throws backe the interrupted exception back up to show that something went wrong, otherwise if a test times out (configured via @Test(timeOut=X)), the interruption might be lost and as you can see in the attached thread dump of the testsuite that's been going on for over 50 minutes,
{code}"TestNGInvoker-testPutRemove()" Id=10572 Group=main TIMED_WAITING
at java.lang.Thread.sleep(Native Method)
at org.infinispan.test.TestingUtil.sleepThread(TestingUtil.java:401)
at org.infinispan.loaders.decorators.AsyncTest.doTestRemove(AsyncTest.java:432)
at org.infinispan.loaders.decorators.AsyncTest.testPutRemove(AsyncTest.java:94)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:644)
at org.testng.internal.InvokeMethodRunnable.runOne(InvokeMethodRunnable.java:49)
at org.testng.internal.InvokeMethodRunnable.run(InvokeMethodRunnable.java:40)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662){code}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 7 months