Author: nzamosenchuk
Date: 2009-12-28 08:53:32 -0500 (Mon, 28 Dec 2009)
New Revision: 1212
Modified:
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java
Log:
EXOJCR-327: Removed deprecated method from MultiIndex
Modified:
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java
===================================================================
---
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java 2009-12-28
13:19:24 UTC (rev 1211)
+++
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java 2009-12-28
13:53:32 UTC (rev 1212)
@@ -812,13 +812,6 @@
{
synchronized (updateMonitor)
{
-
- // TODO: re-implement in less aggressive way
- if (ioMode == IndexerIoMode.READ_ONLY)
- {
- // this is temporary and extensive solution to re-read list of indexes.
- refreshIndexesList();
- }
if (multiReader != null)
{
multiReader.acquire();
@@ -2430,67 +2423,7 @@
}
/**
- * Temporary solution for indexer in cluster. This method re-reads list of indexes
from FS.
- * @Deprecated, because new implementation is in the development. IndexInfos class
will now callback
- * method {@link MultiIndex#refreshIndexList()}. Will be removed, when
jBossCacheIndexInfos is
- * introduced.
- * @throws IOException
- */
- @Deprecated
- protected void refreshIndexesList() throws IOException
- {
- log.info("Refreshing list of indexes...");
- // release reader if any
- releaseMultiReader();
- // get new indexInfo
- IndexInfos newIndexNames = new IndexInfos();
- newIndexNames.setMultiIndex(this);
- newIndexNames.setDirectory(indexDir);
- newIndexNames.read();
- // prepare added/removed sets
- Set<String> removed = new HashSet<String>(indexNames.getNames());
- removed.removeAll(newIndexNames.getNames());
-
- Set<String> added = new HashSet<String>(newIndexNames.getNames());
- added.removeAll(indexNames.getNames());
-
- // remove removed indexes
- Iterator<PersistentIndex> iterator = indexes.iterator();
- while (iterator.hasNext())
- {
- PersistentIndex index = iterator.next();
- if (removed.contains(((PersistentIndex)index).getName()))
- {
- ((PersistentIndex)index).close();
- iterator.remove();
- }
- }
- // add added indexes
- for (String name : added)
- {
- // only open if it still exists
- // it is possible that indexNames still contains a name for
- // an index that has been deleted, but indexNames has not been
- // written to disk.
- if (!directoryManager.hasDirectory(name))
- {
- log.debug("index does not exist anymore: " + name);
- // move on to next index
- continue;
- }
- PersistentIndex index =
- new PersistentIndex(name, handler.getTextAnalyzer(), handler.getSimilarity(),
cache, indexingQueue,
- directoryManager);
- index.setMaxFieldLength(handler.getMaxFieldLength());
- index.setUseCompoundFile(handler.getUseCompoundFile());
- index.setTermInfosIndexDivisor(handler.getTermInfosIndexDivisor());
- indexes.add(index);
- }
- indexNames = newIndexNames;
- }
-
- /**
- * Refresh list of indexes. Used to be called from CacheLoader. New, actual list is
read from
+ * Refresh list of indexes. Used to be called asynchronously when list changes. New,
actual list is read from
* IndexInfos.
* @throws IOException
*/
@@ -2499,14 +2432,11 @@
// TODO: re-study synchronization here.
synchronized (updateMonitor)
{
- log.info("Refreshing list of indexes...");
// release reader if any
releaseMultiReader();
// prepare added/removed sets
Set<String> newList = new HashSet<String>(indexNames.getNames());
- log.info("GOT NEW LIST: "+newList);
-
// remove removed indexes
Iterator<PersistentIndex> iterator = indexes.iterator();
while (iterator.hasNext())
Show replies by date