Index: src/main/java/org/apache/jackrabbit/core/query/lucene/MultiIndex.java
===================================================================
--- src/main/java/org/apache/jackrabbit/core/query/lucene/MultiIndex.java	(revision 1240172)
+++ src/main/java/org/apache/jackrabbit/core/query/lucene/MultiIndex.java	(working copy)
@@ -1101,6 +1101,11 @@
      * @throws IOException if the volatile index cannot be reset.
      */
     private void resetVolatileIndex() throws IOException {
+        // JCR-3227 close VolatileIndex properly
+        if (volatileIndex != null) {
+            volatileIndex.close();
+            volatileIndex = null;
+        }
         volatileIndex = new VolatileIndex(handler.getTextAnalyzer(),
                 handler.getSimilarity(), indexingQueue);
         volatileIndex.setUseCompoundFile(handler.getUseCompoundFile());
