Skip to content

Commit

Permalink
add deep index on encounter to trigger cascade index on individual
Browse files Browse the repository at this point in the history
  • Loading branch information
naknomum committed Feb 3, 2025
1 parent 81fc7fe commit 925e233
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 2 deletions.
45 changes: 45 additions & 0 deletions src/main/java/org/ecocean/Encounter.java
Original file line number Diff line number Diff line change
Expand Up @@ -4311,6 +4311,51 @@ public void opensearchDocumentSerializer(JsonGenerator jgen, Shepherd myShepherd
}
}

public void opensearchIndexDeep()
throws IOException {
this.opensearchIndex();

final String encId = this.getId();
ExecutorService executor = Executors.newFixedThreadPool(4);
Runnable rn = new Runnable() {
public void run() {
Shepherd bgShepherd = new Shepherd("context0");
bgShepherd.setAction("Encounter.opensearchIndexDeep_" + encId);
bgShepherd.beginDBTransaction();
try {
Encounter enc = bgShepherd.getEncounter(encId);
if ((enc == null) || !enc.hasMarkedIndividual()) {
// bgShepherd.rollbackAndClose();
executor.shutdown();
return;
}
MarkedIndividual indiv = enc.getIndividual();
System.out.println("opensearchIndexDeep() background indexing indiv " +
indiv.getId() + " via enc " + encId);
try {
indiv.opensearchIndex();
} catch (Exception ex) {
System.out.println("opensearchIndexDeep() background indexing " +
indiv.getId() + " FAILED: " + ex.toString());
ex.printStackTrace();
}
} catch (Exception e) {
System.out.println("opensearchIndexDeep() backgrounding Encounter " + encId +
" hit an exception.");
e.printStackTrace();
} finally {
bgShepherd.rollbackAndClose();
}
System.out.println("opensearchIndexDeep() backgrounding Encounter " + encId +
" finished.");
executor.shutdown();
}
};
System.out.println("opensearchIndexDeep() begin backgrounding indiv for " + this);
executor.execute(rn);
System.out.println("opensearchIndexDeep() [foreground] finished for Encounter " + encId);
}

// given a doc from opensearch, can user access it?
public static boolean opensearchAccess(org.json.JSONObject doc, User user,
Shepherd myShepherd) {
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/org/ecocean/MarkedIndividual.java
Original file line number Diff line number Diff line change
Expand Up @@ -2840,8 +2840,8 @@ public void run() {
int ct = 0;
for (Encounter enc : indiv.getEncounters()) {
ct++;
System.out.println("opensearchIndexDeep() background indexing " +
enc.getId() + " via " + indivId + " [" + ct + "/" + total + "]");
System.out.println("opensearchIndexDeep() background indexing enc " +
enc.getId() + " via indiv " + indivId + " [" + ct + "/" + total + "]");
try {
enc.opensearchIndex();
} catch (Exception ex) {
Expand Down

0 comments on commit 925e233

Please sign in to comment.