[exo-jcr-commits] exo-jcr SVN: r3011 - jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Aug 30 03:39:17 EDT 2010


Author: nzamosenchuk
Date: 2010-08-30 03:39:17 -0400 (Mon, 30 Aug 2010)
New Revision: 3011

Modified:
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java
Log:
EXOJCR-919: updating max-volatile-time logic

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java	2010-08-30 07:32:02 UTC (rev 3010)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java	2010-08-30 07:39:17 UTC (rev 3011)
@@ -1138,6 +1138,7 @@
          redoLog.clear();
 
          lastFlushTime = System.currentTimeMillis();
+         lastFileSystemFlushTime = System.currentTimeMillis();
       }
 
       // delete obsolete indexes
@@ -1308,12 +1309,6 @@
          commitVolatileIndex();
          return true;
       }
-      long volatileTime = System.currentTimeMillis() - lastFileSystemFlushTime;
-      if (handler.getMaxVolatileTime() > 0 && volatileTime >= handler.getMaxVolatileTime() * 1000)
-      {
-         commitVolatileIndex();
-         return true;
-      }
       return false;
    }
 
@@ -1346,7 +1341,6 @@
 
          // create new volatile index
          resetVolatileIndex();
-         lastFileSystemFlushTime = System.currentTimeMillis();
 
          time = System.currentTimeMillis() - time;
          log.debug("Committed in-memory index in " + time + "ms.");
@@ -1471,8 +1465,10 @@
    private synchronized void checkFlush()
    {
       long idleTime = System.currentTimeMillis() - lastFlushTime;
+      long volatileTime = System.currentTimeMillis() - lastFileSystemFlushTime;
       // do not flush if volatileIdleTime is zero or negative
-      if (handler.getVolatileIdleTime() > 0 && idleTime > handler.getVolatileIdleTime() * 1000)
+      if ((handler.getVolatileIdleTime() > 0 && idleTime > handler.getVolatileIdleTime() * 1000)
+         || (handler.getMaxVolatileTime() > 0 && volatileTime > handler.getMaxVolatileTime() * 1000))
       {
          try
          {



More information about the exo-jcr-commits mailing list