From 1c2733ebee4c8711f9b3f1287b2b4799b4d60e09 Mon Sep 17 00:00:00 2001 From: kimchy Date: Fri, 24 Sep 2010 12:29:52 +0200 Subject: [PATCH] add flush to gateway --- .../org/elasticsearch/index/translog/Translog.java | 5 +++++ .../elasticsearch/index/translog/fs/FsTranslog.java | 12 ++++++++++++ 2 files changed, 17 insertions(+) diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/index/translog/Translog.java b/modules/elasticsearch/src/main/java/org/elasticsearch/index/translog/Translog.java index 4c253376a93..b5fab93ae4b 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/index/translog/Translog.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/index/translog/Translog.java @@ -87,6 +87,11 @@ public interface Translog extends IndexShardComponent { */ Snapshot snapshot(Snapshot snapshot); + /** + * Flushes the translog. + */ + void flush(); + /** * Closes the transaction log. */ diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/index/translog/fs/FsTranslog.java b/modules/elasticsearch/src/main/java/org/elasticsearch/index/translog/fs/FsTranslog.java index 7bce1947972..74cdc79725c 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/index/translog/fs/FsTranslog.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/index/translog/fs/FsTranslog.java @@ -185,6 +185,18 @@ public class FsTranslog extends AbstractIndexShardComponent implements Translog } } + @Override public void flush() { + synchronized (mutex) { + if (raf != null) { + try { + raf.raf().getFD().sync(); + } catch (Exception e) { + // ignore + } + } + } + } + @Override public void close(boolean delete) { synchronized (mutex) { if (raf != null) {