[JBoss JIRA] (ISPN-9393) getAsync() and getWithMetadata() does not check NearCache
by Diego Lovison (Jira)
[ https://issues.jboss.org/browse/ISPN-9393?page=com.atlassian.jira.plugin.... ]
Diego Lovison reopened ISPN-9393:
---------------------------------
I am reopening the issue because the put operation always remote the entry from the near cache
*InvalidatedNearRemoteCache*
{code:java}
public CompletableFuture<V> putAsync(K key, V value, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit maxIdleTimeUnit) {
if (maxIdleTime > 0L) {
log.nearCacheMaxIdleUnsupported();
}
CompletableFuture<V> ret = super.putAsync(key, value, lifespan, lifespanUnit, maxIdleTime, maxIdleTimeUnit);
return ret.thenApply((v) -> {
this.nearcache.remove(key);
return v;
});
}
{code}
> getAsync() and getWithMetadata() does not check NearCache
> ---------------------------------------------------------
>
> Key: ISPN-9393
> URL: https://issues.jboss.org/browse/ISPN-9393
> Project: Infinispan
> Issue Type: Bug
> Components: Hot Rod, Remote Protocols
> Reporter: Pedro Ruivo
> Assignee: Tristan Tarrant
> Priority: Blocker
> Fix For: 9.4.0.Beta1, 9.4.0.CR3
>
>
> In ISPN-8618, the java client was made async.
> However, the {{getAsync()}} method isn't checking the {{NearCache}} anymore.
> EDIT: {{getWithMetadata()}} isn't check the {{NearCache}}. I'm not sure if it is supposed to check it or not.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 6 months
[JBoss JIRA] (ISPN-9463) Provide API to enlist the resource with TransactionManager
by Tristan Tarrant (Jira)
[ https://issues.jboss.org/browse/ISPN-9463?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-9463:
----------------------------------
Sprint: Sprint 10.0.0.Alpha1 (was: Sprint 10.0.0.Alpha0)
> Provide API to enlist the resource with TransactionManager
> ----------------------------------------------------------
>
> Key: ISPN-9463
> URL: https://issues.jboss.org/browse/ISPN-9463
> Project: Infinispan
> Issue Type: Enhancement
> Components: Hot Rod, Remote Protocols, Transactions
> Reporter: Ramesh Reddy
> Assignee: Pedro Ruivo
> Priority: Major
>
> Currently, Infinispan will automatically enlist the transaction when a transaction is bound to the executing thread. However, in cases like Teiid where remote access to Infinispan access is wrapped with a resource-adapter (RAR) the resource adapter does the explicit enlisting or delisting. For this there needs to be API provided by Infinispan Cache like
> {code}
> RemoteCacheManager.getXaResource()
> {code}
> where it can access the XA resource.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 6 months
[JBoss JIRA] (ISPN-9397) Check TX support for remote caches
by Tristan Tarrant (Jira)
[ https://issues.jboss.org/browse/ISPN-9397?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-9397:
----------------------------------
Sprint: Sprint 10.0.0.Alpha1 (was: Sprint 10.0.0.Alpha0)
> Check TX support for remote caches
> ----------------------------------
>
> Key: ISPN-9397
> URL: https://issues.jboss.org/browse/ISPN-9397
> Project: Infinispan
> Issue Type: Bug
> Components: Hot Rod, Remote Protocols, Transactions
> Reporter: Pedro Ruivo
> Assignee: Pedro Ruivo
> Priority: Major
> Fix For: 10.0.0.Alpha1
>
>
> The {{RemoteCacheManager.getCache()}} methods would fail to return a transactional cache if the cache in server isn't transactional. It would throw an exception! {{NotTransactionalException}}?
> The user can fallback to the non transaction case, example
> {code:java}
> try {
> cache = remoteCacheManager.getCache("some-cache", TransactionMode.NON_XA);
> } catch(NotTransactionalException e) {
> cache = remoteCacheManager.getCache("some-cache", TransactionMode.NONE);
> }
> {code}
> In addition, some helper method can be added to the {{RemoteCacheManager}} to avoid dealing with exceptions:
> {code:java}
> boolean supportsTransactions(String cacheName);
> {code}
> simple example:
> {code:java}
> boolean txCache = remoteCacheManager.supportsTransactions("some-cache");
> remoteCacheManager.getCache("some-cache", txCache ? TransactionMode.NON_XA : TransactionMode.NONE);
> {code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 6 months
[JBoss JIRA] (ISPN-9397) Check TX support for remote caches
by Tristan Tarrant (Jira)
[ https://issues.jboss.org/browse/ISPN-9397?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-9397:
----------------------------------
Fix Version/s: 10.0.0.Alpha1
(was: 9.4.1.Final)
> Check TX support for remote caches
> ----------------------------------
>
> Key: ISPN-9397
> URL: https://issues.jboss.org/browse/ISPN-9397
> Project: Infinispan
> Issue Type: Bug
> Components: Hot Rod, Remote Protocols, Transactions
> Reporter: Pedro Ruivo
> Assignee: Pedro Ruivo
> Priority: Major
> Fix For: 10.0.0.Alpha1
>
>
> The {{RemoteCacheManager.getCache()}} methods would fail to return a transactional cache if the cache in server isn't transactional. It would throw an exception! {{NotTransactionalException}}?
> The user can fallback to the non transaction case, example
> {code:java}
> try {
> cache = remoteCacheManager.getCache("some-cache", TransactionMode.NON_XA);
> } catch(NotTransactionalException e) {
> cache = remoteCacheManager.getCache("some-cache", TransactionMode.NONE);
> }
> {code}
> In addition, some helper method can be added to the {{RemoteCacheManager}} to avoid dealing with exceptions:
> {code:java}
> boolean supportsTransactions(String cacheName);
> {code}
> simple example:
> {code:java}
> boolean txCache = remoteCacheManager.supportsTransactions("some-cache");
> remoteCacheManager.getCache("some-cache", txCache ? TransactionMode.NON_XA : TransactionMode.NONE);
> {code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 6 months
[JBoss JIRA] (ISPN-9463) Provide API to enlist the resource with TransactionManager
by Tristan Tarrant (Jira)
[ https://issues.jboss.org/browse/ISPN-9463?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-9463:
----------------------------------
Sprint: Sprint 10.0.0.Alpha0
> Provide API to enlist the resource with TransactionManager
> ----------------------------------------------------------
>
> Key: ISPN-9463
> URL: https://issues.jboss.org/browse/ISPN-9463
> Project: Infinispan
> Issue Type: Enhancement
> Components: Hot Rod, Remote Protocols, Transactions
> Reporter: Ramesh Reddy
> Assignee: Pedro Ruivo
> Priority: Major
>
> Currently, Infinispan will automatically enlist the transaction when a transaction is bound to the executing thread. However, in cases like Teiid where remote access to Infinispan access is wrapped with a resource-adapter (RAR) the resource adapter does the explicit enlisting or delisting. For this there needs to be API provided by Infinispan Cache like
> {code}
> RemoteCacheManager.getXaResource()
> {code}
> where it can access the XA resource.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 6 months
[JBoss JIRA] (ISPN-9397) Check TX support for remote caches
by Tristan Tarrant (Jira)
[ https://issues.jboss.org/browse/ISPN-9397?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-9397:
----------------------------------
Sprint: Sprint 10.0.0.Alpha0
> Check TX support for remote caches
> ----------------------------------
>
> Key: ISPN-9397
> URL: https://issues.jboss.org/browse/ISPN-9397
> Project: Infinispan
> Issue Type: Bug
> Components: Hot Rod, Remote Protocols, Transactions
> Reporter: Pedro Ruivo
> Assignee: Pedro Ruivo
> Priority: Major
> Fix For: 9.4.1.Final
>
>
> The {{RemoteCacheManager.getCache()}} methods would fail to return a transactional cache if the cache in server isn't transactional. It would throw an exception! {{NotTransactionalException}}?
> The user can fallback to the non transaction case, example
> {code:java}
> try {
> cache = remoteCacheManager.getCache("some-cache", TransactionMode.NON_XA);
> } catch(NotTransactionalException e) {
> cache = remoteCacheManager.getCache("some-cache", TransactionMode.NONE);
> }
> {code}
> In addition, some helper method can be added to the {{RemoteCacheManager}} to avoid dealing with exceptions:
> {code:java}
> boolean supportsTransactions(String cacheName);
> {code}
> simple example:
> {code:java}
> boolean txCache = remoteCacheManager.supportsTransactions("some-cache");
> remoteCacheManager.getCache("some-cache", txCache ? TransactionMode.NON_XA : TransactionMode.NONE);
> {code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 6 months
[JBoss JIRA] (ISPN-9463) Provide API to enlist the resource with TransactionManager
by Pedro Ruivo (Jira)
[ https://issues.jboss.org/browse/ISPN-9463?page=com.atlassian.jira.plugin.... ]
Pedro Ruivo updated ISPN-9463:
------------------------------
Component/s: Hot Rod
Remote Protocols
> Provide API to enlist the resource with TransactionManager
> ----------------------------------------------------------
>
> Key: ISPN-9463
> URL: https://issues.jboss.org/browse/ISPN-9463
> Project: Infinispan
> Issue Type: Enhancement
> Components: Hot Rod, Remote Protocols, Transactions
> Reporter: Ramesh Reddy
> Assignee: Pedro Ruivo
> Priority: Major
>
> Currently, Infinispan will automatically enlist the transaction when a transaction is bound to the executing thread. However, in cases like Teiid where remote access to Infinispan access is wrapped with a resource-adapter (RAR) the resource adapter does the explicit enlisting or delisting. For this there needs to be API provided by Infinispan Cache like
> {code}
> RemoteCacheManager.getXaResource()
> {code}
> where it can access the XA resource.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 6 months
[JBoss JIRA] (ISPN-9463) Provide API to enlist the resource with TransactionManager
by Pedro Ruivo (Jira)
[ https://issues.jboss.org/browse/ISPN-9463?page=com.atlassian.jira.plugin.... ]
Pedro Ruivo reassigned ISPN-9463:
---------------------------------
Assignee: Pedro Ruivo
> Provide API to enlist the resource with TransactionManager
> ----------------------------------------------------------
>
> Key: ISPN-9463
> URL: https://issues.jboss.org/browse/ISPN-9463
> Project: Infinispan
> Issue Type: Enhancement
> Components: Transactions
> Reporter: Ramesh Reddy
> Assignee: Pedro Ruivo
> Priority: Major
>
> Currently, Infinispan will automatically enlist the transaction when a transaction is bound to the executing thread. However, in cases like Teiid where remote access to Infinispan access is wrapped with a resource-adapter (RAR) the resource adapter does the explicit enlisting or delisting. For this there needs to be API provided by Infinispan Cache like
> {code}
> RemoteCacheManager.getXaResource()
> {code}
> where it can access the XA resource.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 6 months
[JBoss JIRA] (ISPN-2575) Key Transformer registration is required on all nodes of the cluster, in case of custom keys
by Tristan Tarrant (Jira)
[ https://issues.jboss.org/browse/ISPN-2575?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-2575:
----------------------------------
Sprint: Sprint 10.0.0.Alpha1, Sprint 9.4.0.Final (was: Sprint 9.4.0.Final, Sprint 10.0.0.Alpha0)
> Key Transformer registration is required on all nodes of the cluster, in case of custom keys
> --------------------------------------------------------------------------------------------
>
> Key: ISPN-2575
> URL: https://issues.jboss.org/browse/ISPN-2575
> Project: Infinispan
> Issue Type: Enhancement
> Components: Embedded Querying
> Affects Versions: 5.2.0.Beta5
> Reporter: Anna Manukyan
> Assignee: Adrian Nistor
> Priority: Minor
> Fix For: 10.0.0.Alpha1
>
> Attachments: ClusteredCacheTest.java
>
>
> The case is the following:
> I have a clustered cache on which I want to perform a search. I'm doing the following:
> I'm initializing SearchManager on node1, I'm registering a custom key transformer for my key using the created searchmanager, but then when I'm trying to put data into the cache on node1 (which is in REPL_SYNC mode with cache on node2), I'm getting the exception:
> java.lang.IllegalArgumentException: Indexing only works with entries keyed on Strings, primitives and classes that have the @Transformable annotation - you passed in a class org.infinispan.query.test.CustomKey3. Alternatively, see org.infinispan.query.SearchManager#registerKeyTransformer
> When I'm initializing the SearchManager using node2 cache and register the keyTransformer on it as well, then everything works perfectly, even though I am not using the second created SearchManager.
> The test which reproduces the issue is attached to the jira. Please see the test case: testSearchKeyTransformer()
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 6 months