[JBoss JIRA] (ISPN-35) JSR107 compliant API
by Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/ISPN-35?page=com.atlassian.jira.plugin.sy... ]
Galder Zamarreño edited comment on ISPN-35 at 6/4/12 7:07 AM:
--------------------------------------------------------------
JSR-107 comes with a new cache event notifiers for which we'll need to provide an implementation. This is a great opportunity for this implementation to avoid the following issues that have been hurting our users, including moi:
1. Have a real difference between notifications when a cache entry is created, and when an existing cache entry is modified, and make use cases like the one explained in http://lists.jboss.org/pipermail/infinispan-dev/2012-February/010272.html are easy to achieve, without the need for clients to keep state.
2. Provide guarantees with regards to cache contents and cache size for cache listener implementers. This is related to ISPN-2054, and my comment on ISPN-1948 with regards to cache size guarantees.
3. Another issue that needs to be solved is transaction completion callbacks and what cache operations and when can be called safely, see ISPN-2090.
was (Author: galder.zamarreno):
JSR-107 comes with a new cache event notifiers for which we'll need to provide an implementation. This is a great opportunity for this implementation to avoid the following issues that have been hurting our users, including moi:
1. Have a real difference between notifications when a cache entry is created, and when an existing cache entry is modified, and make use cases like the one explained in http://lists.jboss.org/pipermail/infinispan-dev/2012-February/010272.html are easy to achieve, without the need for clients to keep state.
2. Provide guarantees with regards to cache contents and cache size for cache listener implementers. This is related to ISPN-2054, and my comment on ISPN-1948 with regards to cache size guarantees.
> JSR107 compliant API
> --------------------
>
> Key: ISPN-35
> URL: https://issues.jboss.org/browse/ISPN-35
> Project: Infinispan
> Issue Type: Feature Request
> Components: Core API
> Reporter: Manik Surtani
> Assignee: Manik Surtani
> Fix For: 6.0.0.FINAL
>
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 6 months
[JBoss JIRA] Created: (ISPN-586) ManagedConnectionPool doesn't work in a transactional context
by Manik Surtani (JIRA)
ManagedConnectionPool doesn't work in a transactional context
-------------------------------------------------------------
Key: ISPN-586
URL: https://jira.jboss.org/browse/ISPN-586
Project: Infinispan
Issue Type: Bug
Components: Loaders and Stores, Transactions
Affects Versions: 4.1.0.CR2
Reporter: Manik Surtani
Assignee: Manik Surtani
Fix For: 4.1.0.CR3
>From the reporter:
"Anyways, what seems to be the real problem is that all the things that need to be persisted are saved in memory and then when the transaction is completing (either in prepare or commit phase) the loader attempts to get a connection from the datasource. Apparently this is illegal and throws an exception which is what causes the HeuristicMixedException further up the chain.
This only fails when using a ManagedConnectionFactory. If I swap out a PooledConnectionFactory it works fine. I presume the managed version fails because it returns the same connection that is part of the active transaction for that thread and you can't perform new operations on that connection once the transaction is already in prepare or commit. This feels like a bit of a design flaw to me... I didn't see an obvious fix."
This possibly has to do with the AbstractCacheStore doing the following in prepare():
"
public void prepare(List<? extends Modification> mods, GlobalTransaction tx, boolean isOnePhase) throws CacheLoaderException {
if (isOnePhase) {
applyModifications(mods);
} else {
transactions.put(tx, mods);
}
}
"
and later during commit actually writing the changes to the store. This generic, "abstract" behaviour is intended for non-transactional data stores (such as a filesystem). Behaviour should be different when it comes to transactional data stores.
--
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
12 years, 6 months
[JBoss JIRA] (ISPN-1799) We should avoid using exceptions for flow control when acquiring state transfer lock
by Dan Berindei (JIRA)
Dan Berindei created ISPN-1799:
----------------------------------
Summary: We should avoid using exceptions for flow control when acquiring state transfer lock
Key: ISPN-1799
URL: https://issues.jboss.org/browse/ISPN-1799
Project: Infinispan
Issue Type: Task
Components: State transfer
Affects Versions: 5.1.0.FINAL
Reporter: Dan Berindei
Assignee: Dan Berindei
Fix For: 5.2.0.FINAL
We currently use `StateTransferInProgressException` as a marker that a write command failed to acquire the state transfer lock and it should be retried. With ISPN-1704 I added another exception, StateTransferLockReacquisitionException, to signal that a write command failed to re-acquire the state transfer lock after it had already acquired it.
These exceptions often appear in the logs and confuse users (see ISPN-1610), so it would be best to use special return values. We may also need a flag in the InvocationContext for StateTransferLockReacquisitionException.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 6 months