Skip to content

Commit

Permalink
Index calculation improvements (#7)
Browse files Browse the repository at this point in the history
* Cleanup

* Mongodb tests update
  • Loading branch information
denis256 authored Apr 30, 2023
1 parent 3bd62a9 commit 2c216b7
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 14 deletions.
1 change: 1 addition & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
env.RUN_TEST = '1'
env.RUN_ITEST = '1'
env.MARK_ALWAYS_RUN_ITEST
buildPublicArtifacts()
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.model.*;
import com.mongodb.client.result.UpdateResult;
import com.unidev.polydata4.api.AbstractPolydata;
import com.unidev.polydata4.domain.*;
import lombok.Getter;
Expand Down Expand Up @@ -261,7 +262,7 @@ public BasicPolyList remove(String dataset, Set<String> ids) {
Cache cacheInstance = cache.get();
Set<String> keysToRemove = new HashSet<>();
for (BasicPoly data : list.list()) {
keysToRemove.add(poly + "-read-" + data._id());
keysToRemove.add(dataset + "-read-" + data._id());
}
cacheInstance.removeAll(keysToRemove);
}
Expand Down Expand Up @@ -466,21 +467,15 @@ private void recalculateIndex(String dataset) {

try (MongoCursor<Document> iterator = documents.iterator()) {
BasicPoly indexes = BasicPoly.newPoly(dataset);
UpdateOptions opt = new UpdateOptions().upsert(true);
while (iterator.hasNext()) {
Document next = iterator.next();
String index = next.getString(_ID);
Long count = Long.parseLong(next.get("count") + "");
Long count = Long.parseLong(String.valueOf(next.get("count")));
indexes.put(index, count);
}
Document indexDocument = toDocument(indexes);
Bson update = new Document("$set", indexDocument);
Bson filter = Filters.eq(_ID, dataset);
BulkWriteResult bulkWriteResult = indexCollection(dataset).bulkWrite(List.of(new UpdateOneModel<>(filter, update, opt)));

log.debug("Index write result getInsertedCount {} getModifiedCount {} getMatchedCount {}",
bulkWriteResult.getInsertedCount(), bulkWriteResult.getModifiedCount(),
bulkWriteResult.getMatchedCount());
indexCollection(dataset).replaceOne(filter, indexDocument, new ReplaceOptions().upsert(true));
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,10 +107,7 @@ void insert() {

@Test
void indexUpdate() {
BasicPoly index = polydata.index(polyId).get();
assertThat(index).isNotNull();
assertThat(index.data().isEmpty()).isTrue();

assertThat(polydata.index(polyId).isPresent()).isFalse();
for (int i = 0; i < 100; i++) {
polydata.insert(polyId, Collections.singletonList(
InsertRequest.builder()
Expand All @@ -120,7 +117,7 @@ void indexUpdate() {
);
}

index = polydata.index(polyId).get();
BasicPoly index = polydata.index(polyId).get();
assertThat(index).isNotNull();
assertThat(index.data().isEmpty()).isFalse();

Expand Down

0 comments on commit 2c216b7

Please sign in to comment.