diff --git a/src/main/java/org/texttechnologylab/uimadb/databases/mongo/Mongo.java b/src/main/java/org/texttechnologylab/uimadb/databases/mongo/Mongo.java index 9a79585..0b56d3e 100755 --- a/src/main/java/org/texttechnologylab/uimadb/databases/mongo/Mongo.java +++ b/src/main/java/org/texttechnologylab/uimadb/databases/mongo/Mongo.java @@ -223,8 +223,6 @@ public String updateElementGridFS(String sMongoID, JCas jcas) throws IOException public String updateElementGridFS(String sMongoID, JCas jcas, @Nullable Document statistics) throws IOException, CASException { - deleteElementGridFS(sMongoID); - GridFSUploadOptions options = new GridFSUploadOptions() .chunkSizeBytes(358400) .metadata(new Document("type", "uima")); @@ -244,7 +242,15 @@ public String updateElementGridFS(String sMongoID, JCas jcas, @Nullable Document } catch (Exception ex) { ex.printStackTrace(); } - return uploadStream.getObjectId().toString(); + + // Try to get new doc ID + String sNewMongoID = uploadStream.getObjectId().toString(); + + // Delete "old" CAS document version from the database. + // NOTE: This was moved to the end of the function to prevent data loss if the function terminates unexpectedly. + deleteElementGridFS(sMongoID); + + return sNewMongoID; }