Skip to content

Commit

Permalink
Checking for INGESTING dbs in initialization
Browse files Browse the repository at this point in the history
  • Loading branch information
AntonioG70 committed Nov 30, 2023
1 parent dee0b55 commit b3687e4
Showing 1 changed file with 30 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,17 @@
*/
package com.databasepreservation.common.server;

import com.databasepreservation.common.client.index.IndexResult;
import com.databasepreservation.common.client.index.filter.Filter;
import com.databasepreservation.common.client.index.sort.Sorter;
import com.databasepreservation.common.client.models.structure.ViewerDatabase;
import com.databasepreservation.common.client.index.facets.Facets;
import com.databasepreservation.common.client.models.structure.ViewerDatabaseStatus;
import com.databasepreservation.common.client.models.structure.ViewerDatabaseValidationStatus;
import org.apache.solr.client.solrj.SolrClient;
import org.roda.core.data.exceptions.GenericException;
import org.roda.core.data.exceptions.RequestNotValidException;
import org.roda.core.data.v2.index.sublist.Sublist;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand Down Expand Up @@ -35,10 +45,30 @@ private static synchronized void instantiate() {
solrManager = new DatabaseRowsSolrManager(solrClient);
configurationManager = new ConfigurationManager();
activityLogStrategyFactory = new ActivityLogStrategyFactory();
try {
checkIngestingDBs();
} catch (GenericException | RequestNotValidException e) {
LOGGER.error("Error checking for ingesting databases in initialization: " + e.getMessage());
}
instantiated = true;
}
}

public static void checkIngestingDBs() throws RequestNotValidException, GenericException {
Filter emptyFilter = new Filter();
Facets emptyFacet = new Facets();

int dbCounter = solrManager.count(ViewerDatabase.class, emptyFilter).intValue();
IndexResult<ViewerDatabase> dataBases = solrManager.find(ViewerDatabase.class, emptyFilter, Sorter.NONE,
new Sublist(0, dbCounter), emptyFacet);

for (ViewerDatabase db : dataBases.getResults()) {
if (db.getStatus().equals(ViewerDatabaseStatus.INGESTING)) {
solrManager.markDatabaseCollection(db.getUuid(), ViewerDatabaseStatus.ERROR);
}
}
}

public static Integer getEnvInt(String name, Integer defaultValue) {
Integer envInt;
try {
Expand Down

0 comments on commit b3687e4

Please sign in to comment.