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)
