[
https://issues.jboss.org/browse/TEIID-2460?page=com.atlassian.jira.plugin...
]
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