[teiid-commits] teiid SVN: r1322 - trunk/engine/src/main/java/org/teiid/dqp/internal/process.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Fri Sep 11 14:15:57 EDT 2009


Author: rareddy
Date: 2009-09-11 14:15:56 -0400 (Fri, 11 Sep 2009)
New Revision: 1322

Modified:
   trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java
Log:
TEIID-826: This error occurs because teiid allows asynchronous closes. Check to make sure the request is still active before closing the lob stream. Closing of the request implicitly closes any lob streams. So, there is no reason for throwing an exception as this timing issue between the request closing before the lob stream closing.  

Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java	2009-09-11 17:43:30 UTC (rev 1321)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java	2009-09-11 18:15:56 UTC (rev 1322)
@@ -327,11 +327,11 @@
             LogManager.logDetail(LogConstants.CTX_DQP, "Request to close the Lob stream with Stream id="+streamId+" instance id="+lobRequestId);  //$NON-NLS-1$//$NON-NLS-2$
         }   
         DQPWorkContext workContext = DQPWorkContext.getWorkContext();
-        RequestWorkItem workItem = getRequestWorkItem(workContext.getRequestID(requestId));
-        workItem.removeLobStream(lobRequestId);
-        ResultsFuture<Void> resultsFuture = new ResultsFuture<Void>();
-        resultsFuture.getResultsReceiver().receiveResults(null);
-        return resultsFuture;
+        RequestWorkItem workItem = safeGetWorkItem(workContext.getRequestID(requestId));
+        if (workItem != null) {
+	        workItem.removeLobStream(lobRequestId);
+        }
+        return null;
     }
 	    
 	public ResultsFuture<LobChunk> requestNextLobChunk(int lobRequestId,



More information about the teiid-commits mailing list