Repository: incubator-trafodion
Updated Branches:
  refs/heads/master ebafce11b -> b4ab0185e


[TRAFODION-2043] Bulk load may fail if bucket cache is configured and large


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/6b074034
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/6b074034
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/6b074034

Branch: refs/heads/master
Commit: 6b074034700bee8b08f9aec149cb696fd49f4ca9
Parents: 26076ab
Author: Dave Birdsall <[email protected]>
Authored: Thu Jun 9 20:09:30 2016 +0000
Committer: Dave Birdsall <[email protected]>
Committed: Thu Jun 9 20:09:30 2016 +0000

----------------------------------------------------------------------
 core/sql/src/main/java/org/trafodion/sql/HBaseClient.java    | 8 ++++++++
 .../sql/src/main/java/org/trafodion/sql/HBulkLoadClient.java | 3 ++-
 2 files changed, 10 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/6b074034/core/sql/src/main/java/org/trafodion/sql/HBaseClient.java
----------------------------------------------------------------------
diff --git a/core/sql/src/main/java/org/trafodion/sql/HBaseClient.java 
b/core/sql/src/main/java/org/trafodion/sql/HBaseClient.java
index 7f27f46..11e4f2e 100644
--- a/core/sql/src/main/java/org/trafodion/sql/HBaseClient.java
+++ b/core/sql/src/main/java/org/trafodion/sql/HBaseClient.java
@@ -1357,6 +1357,14 @@ public class HBaseClient {
         nano2 = System.nanoTime();
         logger.debug("FileSystem.get() took " + ((nano2 - nano1) + 500000) / 
1000000 + " milliseconds.");
       }
+
+      // Make sure the config doesn't specify HBase bucket cache. If it does,
+      // then the CacheConfig constructor may fail with a Java OutOfMemory 
+      // exception because our JVM isn't configured with large enough memory.
+      String ioEngine = config.get(HConstants.BUCKET_CACHE_IOENGINE_KEY,null);
+      if (ioEngine != null) {
+          config.unset(HConstants.BUCKET_CACHE_IOENGINE_KEY); // delete the 
property
+      }
       CacheConfig cacheConf = new CacheConfig(config);
       String hbaseRootPath = config.get(HConstants.HBASE_DIR).trim();
       if (hbaseRootPath.charAt(0) != '/')

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/6b074034/core/sql/src/main/java/org/trafodion/sql/HBulkLoadClient.java
----------------------------------------------------------------------
diff --git a/core/sql/src/main/java/org/trafodion/sql/HBulkLoadClient.java 
b/core/sql/src/main/java/org/trafodion/sql/HBulkLoadClient.java
index 0635ace..e80df3d 100644
--- a/core/sql/src/main/java/org/trafodion/sql/HBulkLoadClient.java
+++ b/core/sql/src/main/java/org/trafodion/sql/HBulkLoadClient.java
@@ -199,7 +199,8 @@ public class HBulkLoadClient
                                  .withDataBlockEncoding(dataBlockEncoding)
                                  .build();
 
-    writer =    HFile.getWriterFactory(config, new CacheConfig(config))
+
+    writer =    HFile.getWriterFactoryNoCache(config)
                      .withPath(fileSys, hfilePath)
                      .withFileContext(hfileContext)
                      .withComparator(KeyValue.COMPARATOR)

Reply via email to