Dan Haywood created ISIS-536:
--------------------------------

             Summary: Provide the capability to disable concurrency checking in 
core through a thread-local
                 Key: ISIS-536
                 URL: https://issues.apache.org/jira/browse/ISIS-536
             Project: Isis
          Issue Type: Improvement
          Components: Core
    Affects Versions: core-1.2.0
            Reporter: Dan Haywood
            Assignee: Dan Haywood
            Priority: Minor
             Fix For: core-1.3.0


In some situations it may be necessary to temporarily disable concurrency 
checking.  

One example is when running integration test fixtures, where we simply want to 
delete all existing data, and don't care about any existing state.

However, another might be to get better control of callbacks from the JDO 
objectstore.  For example, on the preDelete callback to the 
FrameworkSynchronizer, we've seen concurrency exceptions, but these might be as 
the a result of JDO bumping up the version of the adapter being deleted.  
Further research is required here.  One possibility though is that the 
preDelete might require checking to be temporarily disabled for the thread, so 
that when the callback fires, it knows not to do the concurrency check.

This ticket is to provide this thread local capability.  Analysis of the 
codebase shows that - when configured with Wicket and the JDO objectstore - the 
ConcurrencyException is thrown either via AdapterManager, or in the Framework 
Synchronizer.  Both of these should honour the value of the thread local.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to