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:
parent
3976724882
commit
ebac29d8a2
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue