From 4631663ed88433f9b0e08d01664a50f74fee157a Mon Sep 17 00:00:00 2001 From: Jean-Daniel Cryans Date: Tue, 3 Nov 2009 01:50:34 +0000 Subject: [PATCH] HBASE-1944 Add a "deferred log flush" attribute to HTD caching the boolean git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@832259 13f79535-47bb-0310-9956-ffa450edef68 --- src/java/org/apache/hadoop/hbase/HTableDescriptor.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/java/org/apache/hadoop/hbase/HTableDescriptor.java b/src/java/org/apache/hadoop/hbase/HTableDescriptor.java index 5fc969a3275..561ca277e9c 100644 --- a/src/java/org/apache/hadoop/hbase/HTableDescriptor.java +++ b/src/java/org/apache/hadoop/hbase/HTableDescriptor.java @@ -29,6 +29,7 @@ import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.TreeMap; +import java.util.concurrent.atomic.AtomicBoolean; import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.io.ImmutableBytesWritable; @@ -98,6 +99,7 @@ public class HTableDescriptor implements WritableComparable { private volatile Boolean meta = null; private volatile Boolean root = null; + private Boolean isDeferredLog = null; // Key is hash of the family name. public final Map families = @@ -374,8 +376,12 @@ public class HTableDescriptor implements WritableComparable { /** * @return true if that table's log is hflush by other means */ - public boolean isDeferredLogFlush() { - return isSomething(DEFERRED_LOG_FLUSH_KEY, DEFAULT_DEFERRED_LOG_FLUSH); + public synchronized boolean isDeferredLogFlush() { + if(this.isDeferredLog == null) { + this.isDeferredLog = + isSomething(DEFERRED_LOG_FLUSH_KEY, DEFAULT_DEFERRED_LOG_FLUSH); + } + return this.isDeferredLog; } /**