[ 
https://issues.apache.org/jira/browse/JENA-1085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15054343#comment-15054343
 ] 

ASF GitHub Bot commented on JENA-1085:
--------------------------------------

Github user afs commented on the pull request:

    https://github.com/apache/jena/pull/107#issuecomment-164159785
  
    Revised pull request (entangled with changes at Apache).
    
    The revision
    
    * Puts the transaction finalization code inside the commit/abort code that 
takes the system lock. This mean the lock is taken once at the finishing of a 
transaction.
    * Reorganises the code to a rigid pattern for operations.
    * Renames `commitLock` as `systemLock`
    * Uses `ReentrantLock`, not `ReentrantReadWriteLock` (only the write lock 
was used; the implement of a `ReentrantReadWriteLock.WriteLock` and 
`ReentrantLock` is much the same for our usage, just calls to the `sync` 
object).
    
    As well as code review, design review would be appreciated.  Compared to 
the original design, this makes `abort` take a lock and call `abort` on indexes 
whereas previously it simply did nothing, knowing the index implementations 
would cope.  Because `abort` is a not a performance critical operation 
(usually!), the symmetric and explicit calls to index operations makes things 
clearer in my view.



> Review transaction finishes for DatasetGraphInMemory
> ----------------------------------------------------
>
>                 Key: JENA-1085
>                 URL: https://issues.apache.org/jira/browse/JENA-1085
>             Project: Apache Jena
>          Issue Type: Task
>          Components: ARQ
>    Affects Versions: Jena 3.0.1
>            Reporter: Andy Seaborne
>            Assignee: Andy Seaborne
>             Fix For: Jena 3.1.0
>
>
> This JIRA is for a review of the transaction finishing code.
> Some of the code works because of the nature of specific implementations.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to