mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
Fix index bug where deletes at the end if the current TX are not seen
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2633 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -919,6 +919,9 @@ public class LuceneIndexerImpl extends LuceneBase implements LuceneIndexer
|
|||||||
throw new LuceneIndexException("Filed to close main reader", e);
|
throw new LuceneIndexException("Filed to close main reader", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Make sure deletes are sent
|
||||||
|
closeDeltaReader();
|
||||||
|
// Make sure writes and updates are sent.
|
||||||
closeDeltaWriter();
|
closeDeltaWriter();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -3025,7 +3025,28 @@ public class LuceneTest extends TestCase
|
|||||||
runBaseTests();
|
runBaseTests();
|
||||||
|
|
||||||
serviceRegistry.getNodeService().deleteNode(n1);
|
serviceRegistry.getNodeService().deleteNode(n1);
|
||||||
serviceRegistry.getNodeService().createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN,
|
|
||||||
|
|
||||||
|
sp = new SearchParameters();
|
||||||
|
sp.addStore(rootNodeRef.getStoreRef());
|
||||||
|
sp.setLanguage(SearchService.LANGUAGE_LUCENE);
|
||||||
|
sp.setQuery("PATH:\"//.\"");
|
||||||
|
sp.excludeDataInTheCurrentTransaction(false);
|
||||||
|
results = serviceRegistry.getSearchService().query(sp);
|
||||||
|
assertEquals(5, results.length());
|
||||||
|
results.close();
|
||||||
|
|
||||||
|
sp = new SearchParameters();
|
||||||
|
sp.addStore(rootNodeRef.getStoreRef());
|
||||||
|
sp.setLanguage(SearchService.LANGUAGE_LUCENE);
|
||||||
|
sp.setQuery("PATH:\"//.\"");
|
||||||
|
sp.excludeDataInTheCurrentTransaction(true);
|
||||||
|
results = serviceRegistry.getSearchService().query(sp);
|
||||||
|
assertEquals(15, results.length());
|
||||||
|
results.close();
|
||||||
|
|
||||||
|
|
||||||
|
NodeRef created = serviceRegistry.getNodeService().createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN,
|
||||||
QName.createQName("{namespace}texas"), testSuperType).getChildRef();
|
QName.createQName("{namespace}texas"), testSuperType).getChildRef();
|
||||||
|
|
||||||
sp = new SearchParameters();
|
sp = new SearchParameters();
|
||||||
@@ -3046,6 +3067,27 @@ public class LuceneTest extends TestCase
|
|||||||
assertEquals(15, results.length());
|
assertEquals(15, results.length());
|
||||||
results.close();
|
results.close();
|
||||||
|
|
||||||
|
serviceRegistry.getNodeService().deleteNode(created);
|
||||||
|
|
||||||
|
|
||||||
|
sp = new SearchParameters();
|
||||||
|
sp.addStore(rootNodeRef.getStoreRef());
|
||||||
|
sp.setLanguage(SearchService.LANGUAGE_LUCENE);
|
||||||
|
sp.setQuery("PATH:\"//.\"");
|
||||||
|
sp.excludeDataInTheCurrentTransaction(false);
|
||||||
|
results = serviceRegistry.getSearchService().query(sp);
|
||||||
|
assertEquals(5, results.length());
|
||||||
|
results.close();
|
||||||
|
|
||||||
|
sp = new SearchParameters();
|
||||||
|
sp.addStore(rootNodeRef.getStoreRef());
|
||||||
|
sp.setLanguage(SearchService.LANGUAGE_LUCENE);
|
||||||
|
sp.setQuery("PATH:\"//.\"");
|
||||||
|
sp.excludeDataInTheCurrentTransaction(true);
|
||||||
|
results = serviceRegistry.getSearchService().query(sp);
|
||||||
|
assertEquals(15, results.length());
|
||||||
|
results.close();
|
||||||
|
|
||||||
tx.rollback();
|
tx.rollback();
|
||||||
|
|
||||||
sp = new SearchParameters();
|
sp = new SearchParameters();
|
||||||
|
Reference in New Issue
Block a user