[ 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-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org