Index: core/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java =================================================================== --- core/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java (revision 941080) +++ core/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java (working copy) @@ -670,9 +670,10 @@ this.unflushedEntries.incrementAndGet(); this.numEntries.incrementAndGet(); } - - // sync txn to file system - this.sync(isMetaRegion); + if (isMetaRegion || !regionInfo.getTableDesc().isDeferredLogFlush()) { + // sync txn to file system + this.sync(isMetaRegion); + } } /** @@ -721,8 +722,10 @@ // Only count 1 row as an unflushed entry. this.unflushedEntries.incrementAndGet(); } - // sync txn to file system - this.sync(info.isMetaRegion()); + if (info.isMetaRegion() || !info.getTableDesc().isDeferredLogFlush()) { + // sync txn to file system + this.sync(info.isMetaRegion()); + } } /** Index: core/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java =================================================================== --- core/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java (revision 941080) +++ core/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java (working copy) @@ -94,7 +94,7 @@ public static final long DEFAULT_MAX_FILESIZE = 1024*1024*256L; - public static final boolean DEFAULT_DEFERRED_LOG_FLUSH = true; + public static final boolean DEFAULT_DEFERRED_LOG_FLUSH = false; private volatile Boolean meta = null; private volatile Boolean root = null;