lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yonik Seeley (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (SOLR-2700) transaction logging
Date Thu, 11 Aug 2011 20:38:27 GMT

     [ https://issues.apache.org/jira/browse/SOLR-2700?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Yonik Seeley updated SOLR-2700:
-------------------------------

    Attachment: SOLR-2700.patch

Here's the latest prototype patch. I've hit a bit of an oddity with locking though that causes
TestRealTimeGet to hang.

I put a ReentrantLock around the commit in the update hander.  The test hangs with one or
more of the writer threads blocked on the .lock().

- .unlock is called in a finally block - so it should always get called
- I added a counter that is incremented after the lock and decremented after the unlock. 
it shows "0" in the debugger after the hang, meaning that we unlocked as many times as we
locked.
- the *only* place that touches that lock is DUH2.commit()
- if I look into the Sync object inside the ReentrantLock, the state is 1 (meaning locked
I think).  The exclusiveOwnerThread is "main" for some reason.
- I think what I am seeing is that unlock() seems to normally fail to take effect.  The normal
course is that cleanIndex() causes the main thread to do a deleteByQuery + commit, and even
though the print says the lock was released, main retains it and no one else can ever acquire
it.

I can see the output via intellij, but not from the command line (since output seems to be
buffered until the end of the test).

> transaction logging
> -------------------
>
>                 Key: SOLR-2700
>                 URL: https://issues.apache.org/jira/browse/SOLR-2700
>             Project: Solr
>          Issue Type: New Feature
>            Reporter: Yonik Seeley
>         Attachments: SOLR-2700.patch, SOLR-2700.patch, SOLR-2700.patch
>
>
> A transaction log is needed for durability of updates, for a more performant realtime-get,
and for replaying updates to recovering peers.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message