The commit in the optimize call needed to be wrapped in the writer lock.

Project: http://git-wip-us.apache.org/repos/asf/incubator-blur/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-blur/commit/ff40894a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-blur/tree/ff40894a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-blur/diff/ff40894a

Branch: refs/heads/apache-blur-0.2
Commit: ff40894a77ea719553c0b80fa5ed27a2fe867366
Parents: 702b01d
Author: Aaron McCurry <[email protected]>
Authored: Tue Jan 7 20:51:46 2014 -0500
Committer: Aaron McCurry <[email protected]>
Committed: Tue Jan 7 20:51:46 2014 -0500

----------------------------------------------------------------------
 .../org/apache/blur/manager/writer/BlurIndexSimpleWriter.java | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/ff40894a/blur-core/src/main/java/org/apache/blur/manager/writer/BlurIndexSimpleWriter.java
----------------------------------------------------------------------
diff --git 
a/blur-core/src/main/java/org/apache/blur/manager/writer/BlurIndexSimpleWriter.java
 
b/blur-core/src/main/java/org/apache/blur/manager/writer/BlurIndexSimpleWriter.java
index 6548522..13d8d50 100644
--- 
a/blur-core/src/main/java/org/apache/blur/manager/writer/BlurIndexSimpleWriter.java
+++ 
b/blur-core/src/main/java/org/apache/blur/manager/writer/BlurIndexSimpleWriter.java
@@ -213,7 +213,12 @@ public class BlurIndexSimpleWriter extends BlurIndex {
           waitUntilNotNull(_writer);
           BlurIndexWriter writer = _writer.get();
           writer.forceMerge(numberOfSegmentsPerShard, true);
-          writer.commit();
+          _writeLock.lock();
+          try {
+            commit();
+          } finally {
+            _writeLock.unlock();
+          }
         } catch (Exception e) {
           LOG.error("Unknown error during optimize on table [{0}] shard 
[{1}]", e, table, shard);
         }

Reply via email to