DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=26913>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=26913

Lack of non-transactional history counter.

           Summary: Lack of non-transactional history counter.
           Product: Slide
           Version: 2.0
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Critical
          Priority: Other
         Component: Core
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


When using transactional stores then counter for next history uri is stored as 
property of '/history' object.

This property is increased by Urihandler class ("public static UriHandler
    createNextWorkingresourceUri" method). Method is synchronized so it looks 
fine. But the problem is on multiple PUT with auto-versioning on.

I am getting error telling that some history object eg: '/history/1345' already 
exists.

I think it is because history counter is not visible as increased for other 
transactions until transaction that was increasing that counter was committed.

So there is possible case that both transactions fetched the same next history 
uri and then increased to the same value and then tried to save which generated 
conflict on identical uri's.

For now I have no good code for fixing this, but I think there have to be some 
non-transactional service (like Oracle sequences or auto increment).

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to