KYLIN-3082 move close() call to finally block
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/2309618b Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/2309618b Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/2309618b Branch: refs/heads/master Commit: 2309618b98561531ed31f9faf175efc5269aa172 Parents: b55f496 Author: lidongsjtu <[email protected]> Authored: Thu Dec 21 00:02:08 2017 +0800 Committer: lidongsjtu <[email protected]> Committed: Thu Dec 21 00:02:08 2017 +0800 ---------------------------------------------------------------------- .../kylin/cube/inmemcubing/InMemCubeBuilder.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/2309618b/core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/InMemCubeBuilder.java ---------------------------------------------------------------------- diff --git a/core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/InMemCubeBuilder.java b/core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/InMemCubeBuilder.java index 3a4cf4c..db3eb5d 100644 --- a/core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/InMemCubeBuilder.java +++ b/core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/InMemCubeBuilder.java @@ -344,15 +344,18 @@ public class InMemCubeBuilder extends AbstractInMemCubeBuilder { aggregationScanner.trackMemoryLevel(baseCuboidMemTracker); int count = 0; - for (GTRecord r : aggregationScanner) { - if (count == 0) { - baseCuboidMemTracker.markHigh(); + try { + for (GTRecord r : aggregationScanner) { + if (count == 0) { + baseCuboidMemTracker.markHigh(); + } + baseBuilder.write(r); + count++; } - baseBuilder.write(r); - count++; + } finally { + aggregationScanner.close(); + baseBuilder.close(); } - aggregationScanner.close(); - baseBuilder.close(); long timeSpent = System.currentTimeMillis() - startTime; logger.info("Cuboid " + baseCuboidId + " has " + count + " rows, build takes " + timeSpent + "ms");
