relax the write concern for bulk data such as GPS and Wind fixes to UNACKNOWLEDGED;

this to increase throughput

Change-Id: I27a5e9a1a8ca4959f9a33297b6726fd2dd84a893
This commit is contained in:
Axel Uhl committed 2019-01-11 15:06:12 +01:00
1 parent 7654aaaa61
commit d0bccd7997
2 files changed
+5 -3

No files matched your search

@@ -2,6 +2,7 @@ package com.sap.sailing.domain.persistence.impl;
import org.bson.Document;
import com.mongodb.WriteConcern;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.sap.sailing.domain.common.Wind;
@@ -29,7 +30,7 @@ public class MongoWindListener implements com.sap.sailing.domain.tracking.WindLi
@Override
public void windDataReceived(Wind wind) {
Document windTrackEntry = mongoObjectFactory.storeWindTrackEntry(trackedRace.getRace(), regattaName, windSource, wind);
windTracksCollection.insertOne(windTrackEntry);
windTracksCollection.withWriteConcern(WriteConcern.UNACKNOWLEDGED).insertOne(windTrackEntry);
}
@Override
@@ -18,6 +18,7 @@ import java.util.logging.Logger;
import org.bson.Document;
import org.bson.conversions.Bson;
import com.mongodb.WriteConcern;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.model.Filters;
@@ -210,7 +211,7 @@ public class MongoSensorFixStoreImpl implements MongoSensorFixStore {
newTo = fixTP;
}
}
fixesCollection.insertMany(dbFixes);
fixesCollection.withWriteConcern(WriteConcern.UNACKNOWLEDGED).insertMany(dbFixes);
final Document updateOperation = new Document();
final Document newMetadata = new Document();
newMetadata.put(FieldNames.DEVICE_ID.name(), dbDeviceId);
@@ -225,7 +226,7 @@ public class MongoSensorFixStoreImpl implements MongoSensorFixStore {
storeTimeRange(newTimeRange, newMetadata, FieldNames.TIMERANGE);
updateOperation.append("$set", newMetadata);
updateOperation.append("$inc", new Document(FieldNames.NUM_FIXES.name(), nrOfTotalFixes));
metadataCollection.updateOne(getDeviceQuery(device), updateOperation, new UpdateOptions().upsert(true));
metadataCollection.withWriteConcern(WriteConcern.UNACKNOWLEDGED).updateOne(getDeviceQuery(device), updateOperation, new UpdateOptions().upsert(true));
} catch (TransformationException e) {
logger.log(Level.WARNING, "Could not store fix in MongoDB");
e.printStackTrace();