Skip to content

Commit 1f66420

Browse files
committed
Removed the few autocommit-related changes previously borrowed from 10547, to keep things separate and clear, for testing etc. #10554
1 parent 1a097cc commit 1f66420

File tree

2 files changed

+20
-23
lines changed

2 files changed

+20
-23
lines changed

src/main/java/edu/harvard/iq/dataverse/search/IndexServiceBean.java

+13-16
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,7 @@ public Future<String> indexDataverse(Dataverse dataverse, boolean processPaths)
312312
String status;
313313
try {
314314
if (dataverse.getId() != null) {
315-
solrClientService.getSolrClient().add(docs, COMMIT_WITHIN);
315+
solrClientService.getSolrClient().add(docs);
316316
} else {
317317
logger.info("WARNING: indexing of a dataverse with no id attempted");
318318
}
@@ -321,13 +321,13 @@ public Future<String> indexDataverse(Dataverse dataverse, boolean processPaths)
321321
logger.info(status);
322322
return new AsyncResult<>(status);
323323
}
324-
/*try {
324+
try {
325325
solrClientService.getSolrClient().commit();
326326
} catch (SolrServerException | IOException ex) {
327327
status = ex.toString();
328328
logger.info(status);
329329
return new AsyncResult<>(status);
330-
}*/
330+
}
331331

332332
dvObjectService.updateContentIndexTime(dataverse);
333333
IndexResponse indexResponse = solrIndexService.indexPermissionsForOneDvObject(dataverse);
@@ -353,7 +353,6 @@ public void indexDatasetInNewTransaction(Long datasetId) { //Dataset dataset) {
353353
private static final Map<Long, Boolean> INDEXING_NOW = new ConcurrentHashMap<>();
354354
// semaphore for async indexing
355355
private static final Semaphore ASYNC_INDEX_SEMAPHORE = new Semaphore(JvmSettings.MAX_ASYNC_INDEXES.lookupOptional(Integer.class).orElse(4), true);
356-
static final int COMMIT_WITHIN = 5000;
357356

358357
@Inject
359358
@Metric(name = "index_permit_wait_time", absolute = true, unit = MetricUnits.NANOSECONDS,
@@ -1536,8 +1535,8 @@ private String addOrUpdateDataset(IndexableDataset indexableDataset, Set<Long> d
15361535
final SolrInputDocuments docs = toSolrDocs(indexableDataset, datafilesInDraftVersion);
15371536

15381537
try {
1539-
solrClientService.getSolrClient().add(docs.getDocuments(), COMMIT_WITHIN);
1540-
//solrClientService.getSolrClient().commit();
1538+
solrClientService.getSolrClient().add(docs.getDocuments());
1539+
solrClientService.getSolrClient().commit();
15411540
} catch (SolrServerException | IOException ex) {
15421541
if (ex.getCause() instanceof SolrServerException) {
15431542
throw new SolrServerException(ex);
@@ -1789,8 +1788,8 @@ private void updatePathForExistingSolrDocs(DvObject object) throws SolrServerExc
17891788

17901789
sid.removeField(SearchFields.SUBTREE);
17911790
sid.addField(SearchFields.SUBTREE, paths);
1792-
UpdateResponse addResponse = solrClientService.getSolrClient().add(sid, COMMIT_WITHIN);
1793-
//UpdateResponse commitResponse = solrClientService.getSolrClient().commit();
1791+
UpdateResponse addResponse = solrClientService.getSolrClient().add(sid);
1792+
UpdateResponse commitResponse = solrClientService.getSolrClient().commit();
17941793
if (object.isInstanceofDataset()) {
17951794
for (DataFile df : dataset.getFiles()) {
17961795
solrQuery.setQuery(SearchUtil.constructQuery(SearchFields.ENTITY_ID, df.getId().toString()));
@@ -1803,8 +1802,8 @@ private void updatePathForExistingSolrDocs(DvObject object) throws SolrServerExc
18031802
}
18041803
sid.removeField(SearchFields.SUBTREE);
18051804
sid.addField(SearchFields.SUBTREE, paths);
1806-
addResponse = solrClientService.getSolrClient().add(sid, COMMIT_WITHIN);
1807-
//commitResponse = solrClientService.getSolrClient().commit();
1805+
addResponse = solrClientService.getSolrClient().add(sid);
1806+
commitResponse = solrClientService.getSolrClient().commit();
18081807
}
18091808
}
18101809
}
@@ -1846,16 +1845,15 @@ public String delete(Dataverse doomed) {
18461845
logger.fine("deleting Solr document for dataverse " + doomed.getId());
18471846
UpdateResponse updateResponse;
18481847
try {
1849-
updateResponse = solrClientService.getSolrClient().deleteById(solrDocIdentifierDataverse + doomed.getId(), COMMIT_WITHIN);
1848+
updateResponse = solrClientService.getSolrClient().deleteById(solrDocIdentifierDataverse + doomed.getId());
18501849
} catch (SolrServerException | IOException ex) {
18511850
return ex.toString();
18521851
}
1853-
/*try {
1852+
try {
18541853
solrClientService.getSolrClient().commit();
18551854
} catch (SolrServerException | IOException ex) {
18561855
return ex.toString();
18571856
}
1858-
*/
18591857
String response = "Successfully deleted dataverse " + doomed.getId() + " from Solr index. updateReponse was: " + updateResponse.toString();
18601858
logger.fine(response);
18611859
return response;
@@ -1872,16 +1870,15 @@ public String removeSolrDocFromIndex(String doomed) {
18721870
logger.fine("deleting Solr document: " + doomed);
18731871
UpdateResponse updateResponse;
18741872
try {
1875-
updateResponse = solrClientService.getSolrClient().deleteById(doomed, COMMIT_WITHIN);
1873+
updateResponse = solrClientService.getSolrClient().deleteById(doomed);
18761874
} catch (SolrServerException | IOException ex) {
18771875
return ex.toString();
18781876
}
1879-
/*try {
1877+
try {
18801878
solrClientService.getSolrClient().commit();
18811879
} catch (SolrServerException | IOException ex) {
18821880
return ex.toString();
18831881
}
1884-
*/
18851882
String response = "Attempted to delete " + doomed + " from Solr index. updateReponse was: " + updateResponse.toString();
18861883
logger.fine(response);
18871884
return response;

src/main/java/edu/harvard/iq/dataverse/search/SolrIndexServiceBean.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -356,8 +356,8 @@ private void persistToSolr(Collection<SolrInputDocument> docs) throws SolrServer
356356
/**
357357
* @todo Do something with these responses from Solr.
358358
*/
359-
UpdateResponse addResponse = solrClientService.getSolrClient().add(docs, IndexServiceBean.COMMIT_WITHIN);
360-
//UpdateResponse commitResponse = solrClientService.getSolrClient().commit();
359+
UpdateResponse addResponse = solrClientService.getSolrClient().add(docs);
360+
UpdateResponse commitResponse = solrClientService.getSolrClient().commit();
361361
}
362362

363363
public IndexResponse indexPermissionsOnSelfAndChildren(long definitionPointId) {
@@ -497,26 +497,26 @@ public IndexResponse deleteMultipleSolrIds(List<String> solrIdsToDelete) {
497497
return new IndexResponse("nothing to delete");
498498
}
499499
try {
500-
solrClientService.getSolrClient().deleteById(solrIdsToDelete, IndexServiceBean.COMMIT_WITHIN);
500+
solrClientService.getSolrClient().deleteById(solrIdsToDelete);
501501
} catch (SolrServerException | IOException ex) {
502502
/**
503503
* @todo mark these for re-deletion
504504
*/
505505
return new IndexResponse("problem deleting the following documents from Solr: " + solrIdsToDelete);
506506
}
507-
/*try {
507+
try {
508508
solrClientService.getSolrClient().commit();
509509
} catch (SolrServerException | IOException ex) {
510510
return new IndexResponse("problem committing deletion of the following documents from Solr: " + solrIdsToDelete);
511-
}*/
511+
}
512512
return new IndexResponse("no known problem deleting the following documents from Solr:" + solrIdsToDelete);
513513
}
514514

515515
public JsonObjectBuilder deleteAllFromSolrAndResetIndexTimes() throws SolrServerException, IOException {
516516
JsonObjectBuilder response = Json.createObjectBuilder();
517517
logger.info("attempting to delete all Solr documents before a complete re-index");
518-
solrClientService.getSolrClient().deleteByQuery("*:*", IndexServiceBean.COMMIT_WITHIN);
519-
//solrClientService.getSolrClient().commit();
518+
solrClientService.getSolrClient().deleteByQuery("*:*");
519+
solrClientService.getSolrClient().commit();
520520
int numRowsAffected = dvObjectService.clearAllIndexTimes();
521521
response.add(numRowsClearedByClearAllIndexTimes, numRowsAffected);
522522
response.add(messageString, "Solr index and database index timestamps cleared.");

0 commit comments

Comments
 (0)