Use buffered tanslog type also when sync is set to 0

When settings sync to 0, we benefit from using the buffered type, no need to change to simple, since we get a chance to fsync multiple operations (for that single operation) and not have to sync for the other ones before returning each one
This commit is contained in:
Shay Banon 2015-05-05 20:17:36 +02:00
parent 3976724882
commit ebac29d8a2
1 changed files with 2 additions and 11 deletions

View File

@ -152,10 +152,10 @@ public class Translog extends AbstractIndexShardComponent implements IndexShardC
syncInterval = indexSettings.getAsTime(INDEX_TRANSLOG_SYNC_INTERVAL, TimeValue.timeValueSeconds(5));
if (syncInterval.millis() > 0 && threadPool != null) {
syncOnEachOperation(false);
this.syncOnEachOperation = false;
syncScheduler = threadPool.schedule(syncInterval, ThreadPool.Names.SAME, new Sync());
} else if (syncInterval.millis() == 0) {
syncOnEachOperation(true);
this.syncOnEachOperation = true;
}
if (indexSettingsService != null) {
@ -507,15 +507,6 @@ public class Translog extends AbstractIndexShardComponent implements IndexShardC
}
}
public void syncOnEachOperation(boolean syncOnEachOperation) {
this.syncOnEachOperation = syncOnEachOperation;
if (syncOnEachOperation) {
type = TranslogFile.Type.SIMPLE;
} else {
type = TranslogFile.Type.BUFFERED;
}
}
/** package private for testing */
String getFilename(long translogId) {
return TRANSLOG_FILE_PREFIX + translogId;