[JBoss JIRA] (ISPN-7035) Move spring modules to proper packages
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-7035?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-7035:
----------------------------------
Fix Version/s: 9.4.0.CR1
(was: 10.0.0.Final)
Sprint: Sprint 9.4.0.CR1
> Move spring modules to proper packages
> --------------------------------------
>
> Key: ISPN-7035
> URL: https://issues.jboss.org/browse/ISPN-7035
> Project: Infinispan
> Issue Type: Enhancement
> Reporter: Sebastian Łaskawiec
> Assignee: Katia Aresti
> Priority: Critical
> Fix For: 9.4.0.CR1
>
>
> Currently everything is placed in {{org.infinispan.spring}} package. We should provide exactly the same split as we did in CDI ({{org.infinispan.spring}} into {{org.infinispan.spring.remote}} and {{org.infinispan.spring.embedded}})
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 8 months
[JBoss JIRA] (ISPN-7035) Move spring modules to proper packages
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-7035?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant commented on ISPN-7035:
---------------------------------------
Leave backwards compatible deprecated placeholders for 9.4 and drop them in 10.
> Move spring modules to proper packages
> --------------------------------------
>
> Key: ISPN-7035
> URL: https://issues.jboss.org/browse/ISPN-7035
> Project: Infinispan
> Issue Type: Enhancement
> Reporter: Sebastian Łaskawiec
> Assignee: Katia Aresti
> Priority: Critical
> Fix For: 9.4.0.CR1
>
>
> Currently everything is placed in {{org.infinispan.spring}} package. We should provide exactly the same split as we did in CDI ({{org.infinispan.spring}} into {{org.infinispan.spring.remote}} and {{org.infinispan.spring.embedded}})
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 8 months
[JBoss JIRA] (ISPN-9408) Support for query results in different formats in Hot Rod
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-9408?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes updated ISPN-9408:
------------------------------------
Summary: Support for query results in different formats in Hot Rod (was: Support for query results in different formats)
> Support for query results in different formats in Hot Rod
> ---------------------------------------------------------
>
> Key: ISPN-9408
> URL: https://issues.jboss.org/browse/ISPN-9408
> Project: Infinispan
> Issue Type: Enhancement
> Components: Remote Protocols
> Affects Versions: 9.3.1.Final
> Reporter: Gustavo Fernandes
> Assignee: Gustavo Fernandes
>
> ISPN-7420 introduced multiple format support for the Hot Rod client, but this is not covering the query results which are always protobuf. The data format specified in the client should propagate to the server and the response (query results or projections) should be converted to the specified format.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 8 months
[JBoss JIRA] (ISPN-9421) Server workers configuration not applied
by Tristan Tarrant (JIRA)
Tristan Tarrant created ISPN-9421:
-------------------------------------
Summary: Server workers configuration not applied
Key: ISPN-9421
URL: https://issues.jboss.org/browse/ISPN-9421
Project: Infinispan
Issue Type: Bug
Components: Remote Protocols, Server
Affects Versions: 9.3.1.Final, 9.4.0.Beta1
Reporter: Tristan Tarrant
Assignee: Tristan Tarrant
Fix For: 9.4.0.Final
The protocol servers never pass the configured worker threads to the netty event loops which default to 2 * available cpus (as counted by the JDK, which might not take cgroup/cfs quotas into account)..
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 8 months
[JBoss JIRA] (ISPN-9420) HotRod Transaction Cache is throwing an exception with multiple threads
by Diego Lovison (JIRA)
Diego Lovison created ISPN-9420:
-----------------------------------
Summary: HotRod Transaction Cache is throwing an exception with multiple threads
Key: ISPN-9420
URL: https://issues.jboss.org/browse/ISPN-9420
Project: Infinispan
Issue Type: Bug
Reporter: Diego Lovison
I created the method `public void testMultiThreadsPessimisticLockMode(Method method)` in the class `TxFunctionalTest`
{code:java}
public void testMultiThreadsPessimisticLockMode(Method method) throws ExecutionException, InterruptedException {
final K k1 = kvGenerator.generateKey(method, 1);
final V v1 = kvGenerator.generateValue(method, 1);
final V v2 = kvGenerator.generateValue(method, 2);
RemoteCache<K, V> remoteCache = remoteCacheWithForceReturnValue();
final TransactionManager tm = remoteCache.getTransactionManager();
ExecutorService executorService = Executors.newFixedThreadPool(2);
Future<?> f1 = executorService.submit(() -> {
try {
TestingUtil.withTx(tm, () -> {
V returnValue = remoteCache.put(k1, v1);
Thread.sleep(2000);
return returnValue;
});
} catch (Exception e) {
throw new IllegalStateException(e);
}
});
Future<?> f2 = executorService.submit(() -> {
try {
TestingUtil.withTx(tm, () -> {
Thread.sleep(500);
V returnValue = remoteCache.put(k1, v2);
return returnValue;
});
} catch (Exception e) {
throw new IllegalStateException(e);
}
});
Assert.assertNull(f1.get());
Assert.assertNull(f2.get());
}
{code}
The integration test is failing due:
{noformat}
java.util.concurrent.ExecutionException: java.lang.IllegalStateException: javax.transaction.RollbackException: ARJUNA016053: Could not commit transaction.
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at org.infinispan.client.hotrod.tx.TxFunctionalTest.testMultiThreadsPessimisticLockMode(TxFunctionalTest.java:473)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85)
at org.testng.internal.MethodInvocationHelper$1.runTestMethod(MethodInvocationHelper.java:196)
at org.infinispan.commons.test.TestNGLongTestsHook.run(TestNGLongTestsHook.java:24)
at org.testng.internal.MethodInvocationHelper.invokeHookable(MethodInvocationHelper.java:208)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:635)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:816)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1124)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108)
at org.testng.TestRunner.privateRun(TestRunner.java:774)
at org.testng.TestRunner.run(TestRunner.java:624)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:359)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:354)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:312)
at org.testng.SuiteRunner.run(SuiteRunner.java:261)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1215)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
at org.testng.TestNG.run(TestNG.java:1048)
at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:72)
at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123)
Caused by: java.lang.IllegalStateException: javax.transaction.RollbackException: ARJUNA016053: Could not commit transaction.
at org.infinispan.client.hotrod.tx.TxFunctionalTest.lambda$testMultiThreadsPessimisticLockMode$1(TxFunctionalTest.java:457)
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:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.transaction.RollbackException: ARJUNA016053: Could not commit transaction.
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1212)
at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:126)
at org.infinispan.test.TestingUtil.lambda$withTxCallable$11(TestingUtil.java:1529)
at org.infinispan.test.TestingUtil.withTx(TestingUtil.java:1507)
at org.infinispan.client.hotrod.tx.TxFunctionalTest.lambda$testMultiThreadsPessimisticLockMode$1(TxFunctionalTest.java:451)
... 5 more
Caused by: java.lang.Throwable: setRollbackOnly called from:
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.setRollbackOnly(TransactionImple.java:339)
at org.infinispan.client.hotrod.impl.transaction.SyncModeTransactionTable$SynchronizationAdapter.markAsRollback(SyncModeTransactionTable.java:150)
at org.infinispan.client.hotrod.impl.transaction.SyncModeTransactionTable$SynchronizationAdapter.beforeCompletion(SyncModeTransactionTable.java:125)
at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:76)
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:371)
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:91)
at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:162)
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1200)
... 9 more
{noformat}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 8 months
[JBoss JIRA] (ISPN-9412) HotRod Transaction Cache PESSIMISTIC locking mode is not locking the key in another transaction
by Diego Lovison (JIRA)
[ https://issues.jboss.org/browse/ISPN-9412?page=com.atlassian.jira.plugin.... ]
Diego Lovison closed ISPN-9412.
-------------------------------
Resolution: Rejected
The HotRod transaction client won't block the key. This is per design. You see more details [Lightweight transactions for Hot Rod|https://github.com/infinispan/infinispan-designs/blob/d1686e2d00c18a6...]
> HotRod Transaction Cache PESSIMISTIC locking mode is not locking the key in another transaction
> -----------------------------------------------------------------------------------------------
>
> Key: ISPN-9412
> URL: https://issues.jboss.org/browse/ISPN-9412
> Project: Infinispan
> Issue Type: Bug
> Reporter: Diego Lovison
> Priority: Critical
>
> I am expecting the thread 2 be blocked in `cache.put(k1, v1)` until thread 1 has committed the transaction
> According to the docs, using Pessimistic transactional cache, when cache.put(k1,v1) returns, k1 is locked and no other transaction running anywhere in the cluster can write to it. Reading k1 is still possible. The lock on k1 is released when the transaction completes (commits or rollbacks).
> Cache Configuration
> {code:java}
> return new org.infinispan.configuration.cache.ConfigurationBuilder()
> .clustering().cacheMode(CacheMode.DIST_SYNC)
> .jmxStatistics().enable()
> .transaction()
> .cacheStopTimeout(0L)
> .transactionManagerLookup(new EmbeddedTransactionManagerLookup())
> .lockingMode(LockingMode.PESSIMISTIC)
> .locking().isolationLevel(IsolationLevel.REPEATABLE_READ)
> .build();
> {code}
> Steps to reproduce
> {noformat}
> Thread t1 = {
> tm.begin()
> cache.put(k1, v1)
> long operation like 1 minute
> tm.commit()
> }
> Thread t2 = {
> long operation like 15 seconds
> tm.begin()
> cache.put(k1, v1)
> tm.commit()
> }
> t1.start()
> t2.start()
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 8 months
[JBoss JIRA] (ISPN-9412) HotRod Transaction Cache PESSIMISTIC locking mode is not locking the key in another transaction
by Diego Lovison (JIRA)
[ https://issues.jboss.org/browse/ISPN-9412?page=com.atlassian.jira.plugin.... ]
Diego Lovison updated ISPN-9412:
--------------------------------
Comment: was deleted
(was: I would like to be able to reproduce this error in an integration test.
I created the method `public void testMultiThreadsPessimisticLockMode(Method method)` in the class `TxFunctionalTest`
{code:java}
public void testMultiThreadsPessimisticLockMode(Method method) throws ExecutionException, InterruptedException {
final K k1 = kvGenerator.generateKey(method, 1);
final V v1 = kvGenerator.generateValue(method, 1);
final V v2 = kvGenerator.generateValue(method, 2);
RemoteCache<K, V> remoteCache = remoteCacheWithForceReturnValue();
final TransactionManager tm = remoteCache.getTransactionManager();
ExecutorService executorService = Executors.newFixedThreadPool(2);
Future<V> f1 = executorService.submit(() -> {
try {
tm.begin();
V returnValue = remoteCache.put(k1, v1);
Thread.sleep(2000);
tm.commit();
return returnValue;
} catch (Throwable t) {
try {
tm.rollback();
} catch (SystemException e) {
throw new IllegalStateException(e);
}
throw new IllegalStateException(t);
}
});
Future<V> f2 = executorService.submit(() -> {
try {
Thread.sleep(500);
tm.begin();
V returnValue = remoteCache.put(k1, v2);
tm.commit();
return returnValue;
} catch (Throwable t) {
try {
tm.rollback();
} catch (SystemException e) {
throw new IllegalStateException(e);
}
throw new IllegalStateException(t);
}
});
Assert.assertNull(f1.get());
Assert.assertNotNull(f2.get());
}
{code}
The problem is that my integration test is failing due:
{noformat}
java.util.concurrent.ExecutionException: java.lang.IllegalStateException: javax.transaction.RollbackException: ARJUNA016053: Could not commit transaction.
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at org.infinispan.client.hotrod.tx.TxFunctionalTest.testMultiThreadsPessimisticLockMode(TxFunctionalTest.java:473)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85)
at org.testng.internal.MethodInvocationHelper$1.runTestMethod(MethodInvocationHelper.java:196)
at org.infinispan.commons.test.TestNGLongTestsHook.run(TestNGLongTestsHook.java:24)
at org.testng.internal.MethodInvocationHelper.invokeHookable(MethodInvocationHelper.java:208)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:635)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:816)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1124)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108)
at org.testng.TestRunner.privateRun(TestRunner.java:774)
at org.testng.TestRunner.run(TestRunner.java:624)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:359)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:354)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:312)
at org.testng.SuiteRunner.run(SuiteRunner.java:261)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1215)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
at org.testng.TestNG.run(TestNG.java:1048)
at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:72)
at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123)
Caused by: java.lang.IllegalStateException: javax.transaction.RollbackException: ARJUNA016053: Could not commit transaction.
at org.infinispan.client.hotrod.tx.TxFunctionalTest.lambda$testMultiThreadsPessimisticLockMode$1(TxFunctionalTest.java:457)
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:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.transaction.RollbackException: ARJUNA016053: Could not commit transaction.
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1212)
at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:126)
at org.infinispan.test.TestingUtil.lambda$withTxCallable$11(TestingUtil.java:1529)
at org.infinispan.test.TestingUtil.withTx(TestingUtil.java:1507)
at org.infinispan.client.hotrod.tx.TxFunctionalTest.lambda$testMultiThreadsPessimisticLockMode$1(TxFunctionalTest.java:451)
... 5 more
Caused by: java.lang.Throwable: setRollbackOnly called from:
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.setRollbackOnly(TransactionImple.java:339)
at org.infinispan.client.hotrod.impl.transaction.SyncModeTransactionTable$SynchronizationAdapter.markAsRollback(SyncModeTransactionTable.java:150)
at org.infinispan.client.hotrod.impl.transaction.SyncModeTransactionTable$SynchronizationAdapter.beforeCompletion(SyncModeTransactionTable.java:125)
at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:76)
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:371)
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:91)
at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:162)
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1200)
... 9 more
{noformat}
Here is the branch: https://github.com/diegolovison/infinispan/tree/ISPN_9412_pessimistic_lock
----
If I do the following change:
1 - Create additional methods
{code:java}
private RemoteCache<K, V> remoteCacheWithForceReturnValue() {
return remoteCacheWithForceReturnValue(true);
}
private RemoteCache<K, V> remoteCacheWithForceReturnValue(boolean forceReturnValue) {
return client(0).getCache(cacheName(), forceReturnValue);
}
{code}
2 - Replace
{code:java}
RemoteCache<K, V> remoteCache = remoteCacheWithForceReturnValue();
{code}
with
{code:java}
RemoteCache<K, V> remoteCache = remoteCacheWithForceReturnValue(false);
{code}
3 - The error go away but we won't be able to test because the values are null)
> HotRod Transaction Cache PESSIMISTIC locking mode is not locking the key in another transaction
> -----------------------------------------------------------------------------------------------
>
> Key: ISPN-9412
> URL: https://issues.jboss.org/browse/ISPN-9412
> Project: Infinispan
> Issue Type: Bug
> Reporter: Diego Lovison
> Priority: Critical
>
> I am expecting the thread 2 be blocked in `cache.put(k1, v1)` until thread 1 has committed the transaction
> According to the docs, using Pessimistic transactional cache, when cache.put(k1,v1) returns, k1 is locked and no other transaction running anywhere in the cluster can write to it. Reading k1 is still possible. The lock on k1 is released when the transaction completes (commits or rollbacks).
> Cache Configuration
> {code:java}
> return new org.infinispan.configuration.cache.ConfigurationBuilder()
> .clustering().cacheMode(CacheMode.DIST_SYNC)
> .jmxStatistics().enable()
> .transaction()
> .cacheStopTimeout(0L)
> .transactionManagerLookup(new EmbeddedTransactionManagerLookup())
> .lockingMode(LockingMode.PESSIMISTIC)
> .locking().isolationLevel(IsolationLevel.REPEATABLE_READ)
> .build();
> {code}
> Steps to reproduce
> {noformat}
> Thread t1 = {
> tm.begin()
> cache.put(k1, v1)
> long operation like 1 minute
> tm.commit()
> }
> Thread t2 = {
> long operation like 15 seconds
> tm.begin()
> cache.put(k1, v1)
> tm.commit()
> }
> t1.start()
> t2.start()
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 8 months
[JBoss JIRA] (ISPN-9419) Server configuration eviction Exception Strategy is not applied
by William Burns (JIRA)
William Burns created ISPN-9419:
-----------------------------------
Summary: Server configuration eviction Exception Strategy is not applied
Key: ISPN-9419
URL: https://issues.jboss.org/browse/ISPN-9419
Project: Infinispan
Issue Type: Bug
Components: Eviction, Server
Reporter: William Burns
Assignee: William Burns
Fix For: 9.4.0.Final, 9.3.2.Final
When the new eviction strategy was added back in, we missed adding a like to actually configure it on the server in CacheConfigurationAdd.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 8 months