[JBoss JIRA] Created: (JBCACHE-913) Nodes added via state transfer ignored by eviction policies
by Brian Stansberry (JIRA)
Nodes added via state transfer ignored by eviction policies
-----------------------------------------------------------
Key: JBCACHE-913
URL: http://jira.jboss.com/jira/browse/JBCACHE-913
Project: JBoss Cache
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 2.0.0.ALPHA1, 1.4.0.SP1, 1.4.0.GA
Reporter: Brian Stansberry
Assigned To: Brian Stansberry
Fix For: 1.4.1.GA, 2.0.0.GA
When state transfer creates new nodes and adds them to the tree, any eviction policy is unaware of the addition. As a result, those nodes are ignored for eviction unless they are accessed.
This is a side effect of the addition of the EvictionInterceptor in 1.4.0. The state transfer code generates TreeCacheListener node addition events, but with the EvictionInterceptor, the eviction policies are no longer listening for the events.
Probable solution is to modify notifyAllNodesCreated to have it find any eviction region for any nodes it has added. Then have it generate an EvictedEventNode and pass it to Region.putNodeEvent.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 6 months
[JBoss JIRA] Created: (JBESB-297) Need for an SQL gateway that does not require altering 'legacy' data in any way
by Esteban Schifman (JIRA)
Need for an SQL gateway that does not require altering 'legacy' data in any way
-------------------------------------------------------------------------------
Key: JBESB-297
URL: http://jira.jboss.com/jira/browse/JBESB-297
Project: JBoss ESB
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: Rosetta
Affects Versions: 5.0
Reporter: Esteban Schifman
Assigned To: Esteban Schifman
Priority: Minor
Fix For: 4.0
Kurt has made a very valid point a couple of days ago regarding sql gateways.
Current SQL gateway requires an 'ad hoc' column in the watched table as an access indicator to avoid concurrency problems and repeated processing of the same event
Many legacy applications do not allow tampering with their data model, not even to have your own stored procedures in place,
We should try and find a way to have a version of the SqlTableListener that can work without the need to alter in any way (updating, deleting, adding stored procedures, etc.) the legacy database
This alternative would also allow to watch legacy 'views' (instead of simply db tables), thus broadening the scope of use of sql gateways.
Configuration will be somewhat more complex than our current sql gateway, but I think it's really worthwhile.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 7 months
[JBoss JIRA] Created: (JBTM-182) Missing synchronization?
by Mark Little (JIRA)
Missing synchronization?
------------------------
Key: JBTM-182
URL: http://jira.jboss.com/jira/browse/JBTM-182
Project: JBoss Transaction Manager
Issue Type: Task
Security Level: Public (Everyone can see)
Components: JTA Implementation
Affects Versions: 4.2.3
Reporter: Mark Little
Assigned To: Jonathan Halliday
Fix For: 4.2.3
In addSynchronization for TwoPhaseCoordinator, the synchronization object is created if it isn't already set:
if (_synchs == null)
{
// Synchronizations should be stored (or at least iterated) in their natural order
_synchs = new TreeSet();
}
if (_synchs.add(sr))
{
result = AddOutcome.AR_ADDED;
}
However, because multiple threads could be calling the same transaction instance concurrently, shouldn't there be a synchronization around this block? It's possible that two threads could test and try to set the _synchs and because of interleaving one thread creates _synchs after the other thread already has and added it's resource (which would then become garbage).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 7 months
[JBoss JIRA] Created: (JBPM-813) GraphElement - hibernate - "this==runtimeAction.getGraphElement()"
by Rainer Alfoeldi (JIRA)
GraphElement - hibernate - "this==runtimeAction.getGraphElement()"
------------------------------------------------------------------
Key: JBPM-813
URL: http://jira.jboss.com/jira/browse/JBPM-813
Project: JBoss jBPM
Issue Type: Bug
Components: Core Engine
Affects Versions: jBPM 3.1.2
Reporter: Rainer Alfoeldi
Assigned To: Tom Baeyens
See http://www.jboss.com/index.html?module=bb&op=viewtopic&t=96099 for the corresponding forums entry (the field below won't accept this link...)
Is it possible that
GraphElement
....
List getRuntimeActionsForEvent(ExecutionContext executionContext, String eventType) {
List runtimeActionsForEvent = null;
List runtimeActions = executionContext.getProcessInstance().getRuntimeActions();
if (runtimeActions!=null) {
Iterator iter = runtimeActions.iterator();
while (iter.hasNext()) {
RuntimeAction runtimeAction = (RuntimeAction) iter.next();
// if the runtime-action action is registered on this element and this eventType
if ( (
===>>>>> this==runtimeAction.getGraphElement() <<<<=====
)
&& (eventType.equals(runtimeAction.getEventType()))
) {
// ... add its action to the list of runtime actions
if (runtimeActionsForEvent==null) runtimeActionsForEvent = new ArrayList();
runtimeActionsForEvent.add(runtimeAction.getAction());
}
}
}
return runtimeActionsForEvent;
}
isn't really what you want?
If you debug it you will (sometimes) have the situation that this is a straight forward Java Object and runtimeAction.getGraphElement() resolves to a Node$$EnhancerByCGLIB$$xxxxx. Both objects represent the same node (same id, the CGLIB even refs to the 'this' instance in its 'target' field.... but '==' obviously fails.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 7 months