You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2016/12/30 08:10:42 UTC
[17/50] [abbrv] kylin git commit: close OLAPEnumerator at exception
close OLAPEnumerator at exception
bug fix
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/596ab51b
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/596ab51b
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/596ab51b
Branch: refs/heads/master-hbase1.x
Commit: 596ab51b4b98ae0923a134ede56c0ceb2f23bb66
Parents: 53b6c8c
Author: Hongbin Ma <ma...@apache.org>
Authored: Sat Dec 24 18:19:02 2016 +0800
Committer: Hongbin Ma <ma...@apache.org>
Committed: Tue Dec 27 22:17:30 2016 +0800
----------------------------------------------------------------------
.../kylin/query/enumerator/OLAPEnumerator.java | 33 +++++++++++++-------
1 file changed, 22 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/596ab51b/query/src/main/java/org/apache/kylin/query/enumerator/OLAPEnumerator.java
----------------------------------------------------------------------
diff --git a/query/src/main/java/org/apache/kylin/query/enumerator/OLAPEnumerator.java b/query/src/main/java/org/apache/kylin/query/enumerator/OLAPEnumerator.java
index c7b3c71..e4fc937 100644
--- a/query/src/main/java/org/apache/kylin/query/enumerator/OLAPEnumerator.java
+++ b/query/src/main/java/org/apache/kylin/query/enumerator/OLAPEnumerator.java
@@ -61,20 +61,31 @@ public class OLAPEnumerator implements Enumerator<Object[]> {
@Override
public boolean moveNext() {
- if (cursor == null) {
- cursor = queryStorage();
- }
+ try {
+ if (cursor == null) {
+ cursor = queryStorage();
+ }
- if (!cursor.hasNext()) {
- return false;
- }
+ if (!cursor.hasNext()) {
+ return false;
+ }
- ITuple tuple = cursor.next();
- if (tuple == null) {
- return false;
+ ITuple tuple = cursor.next();
+ if (tuple == null) {
+ return false;
+ }
+ convertCurrentRow(tuple);
+ return true;
+ } catch (Exception e) {
+ try {
+ if (cursor != null) {
+ cursor.close();
+ }
+ } catch (Exception ee) {
+ logger.info("Error when closing cursor, ignore it", ee);
+ }
+ throw e;
}
- convertCurrentRow(tuple);
- return true;
}
private Object[] convertCurrentRow(ITuple tuple) {