[teiid-commits] teiid SVN: r2916 - in trunk/engine/src/main/java/org/teiid: query/processor/relational and 1 other directory.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Thu Feb 17 13:52:13 EST 2011


Author: shawkins
Date: 2011-02-17 13:52:11 -0500 (Thu, 17 Feb 2011)
New Revision: 2916

Modified:
   trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java
   trunk/engine/src/main/java/org/teiid/query/processor/relational/JoinNode.java
Log:
TEIID-1476 updates to prevent unintended exceptions

Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java	2011-02-17 17:32:44 UTC (rev 2915)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java	2011-02-17 18:52:11 UTC (rev 2916)
@@ -204,7 +204,13 @@
                 	while (cause.getCause() != null && cause.getCause() != cause) {
                 		cause = cause.getCause();
                 	}
-                	StackTraceElement elem = cause.getStackTrace()[0];
+                	StackTraceElement[] elems = cause.getStackTrace();
+                	Object elem = null;
+                	if (elems.length > 0) {
+                		elem = cause.getStackTrace()[0];
+                	} else {
+                		elem = cause.getMessage();
+                	}
                     LogManager.logWarning(LogConstants.CTX_DQP, QueryPlugin.Util.getString("ProcessWorker.processing_error", e.getMessage(), requestID, e.getClass().getName(), elem)); //$NON-NLS-1$
                 }else {
                     LogManager.logError(LogConstants.CTX_DQP, e, QueryPlugin.Util.getString("ProcessWorker.error", requestID)); //$NON-NLS-1$

Modified: trunk/engine/src/main/java/org/teiid/query/processor/relational/JoinNode.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/processor/relational/JoinNode.java	2011-02-17 17:32:44 UTC (rev 2915)
+++ trunk/engine/src/main/java/org/teiid/query/processor/relational/JoinNode.java	2011-02-17 18:52:11 UTC (rev 2916)
@@ -274,7 +274,9 @@
     public void closeDirect() {
         super.closeDirect();
         joinStrategy.close();
-    	this.getContext().getVariableContext().setGlobalValue(this.dependentValueSource, null);
+        if (this.getContext() != null) {
+        	this.getContext().getVariableContext().setGlobalValue(this.dependentValueSource, null);
+        }
     }
 
     public JoinType getJoinType() {



More information about the teiid-commits mailing list