[teiid-issues] [JBoss JIRA] (TEIID-2460) Weird behavior when Max buffer space restriction is hit

Steven Hawkins (JIRA) jira-events at lists.jboss.org
Fri Apr 5 15:09:41 EDT 2013


    [ https://issues.jboss.org/browse/TEIID-2460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12765337#comment-12765337 ] 

Steven Hawkins commented on TEIID-2460:
---------------------------------------

I think this should be improved, but it does not need to hold up the 7.7.6.  As it still appears to me that normal operation resumes after an offending tuplebuffer references have been cleaned up.  Also the intent of the space limit is just a stop gap to prevent run-away disk usage - the feature was not designed nor required to immediately and gracefully handle the situation. 

There are a couple of things to do:
1. Not log the full stacktrace at the error level when an exception is caught moving a batch out of the memory buffer
2. Proactively remove the entire cache group if the move fails
3. Address TEIID-2430 (which will probably be tied to the command context)
4. See if we can even more proactively interrupt a process that has lost a batch (which would undo the assumption that the situation may be recoverable).
                
> Weird behavior when Max buffer space restriction is hit 
> --------------------------------------------------------
>
>                 Key: TEIID-2460
>                 URL: https://issues.jboss.org/browse/TEIID-2460
>             Project: Teiid
>          Issue Type: Bug
>    Affects Versions: 7.7.6
>            Reporter: Filip Nguyen
>            Assignee: Steven Hawkins
>         Attachments: teiid-jboss-beans.xml
>
>
> I was trying to restrict the disk space used by buffer manager (see steps to reproduce for my methodology). When the disk limit is hit, it really tries to stop the query, but doesn't succeed immediately. 
> There is a big amount of exceptions [1] for relatively long period of time (minutes for big files), until it fails eventually with [2]. The error [2] is also given back to the JDBC client. 
> Problem is that after the query fails in this fashion, the whole buffer disk space is still occupied and any new query, that needs even small (acceptable) buffer disk space, fails.
> Only way that I have found to make the buffer space usable again is to restart the server.
> [1]  Error transferring block to storage 149742
> java.io.IOException: Max buffer space of 31,457,280 bytes has been exceed.  The current operation will be aborted.
> [2]  org.teiid.jdbc.TeiidSQLException: Batch not found in storage 50937

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the teiid-issues mailing list