Uploaded image for project: 'Teiid'
  1. Teiid
  2. TEIID-2460

Weird behavior when Max buffer space restriction is hit

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Done
    • 7.7.6
    • 8.4, 7.7.7
    • Query Engine
    • None
    • Hide

      Create a text data source.
      Create a dynamic VDB with file translator to that data source.

      create a big text file:
      for i in {1..1000};do echo "1" >> result0;done
      for i in {1..8};do cat * > result${i};done
      cat * > textfile
      rm result*

      configure the buffer manager: teiid-jboss-beans.xml

      run query via JDBC: ./run.sh localhost 31000 FileTest "SELECT tex.first from (call getTextFiles('textfile')) as file, TEXTTABLE(file COLUMNS first integer) as tex order by tex.first desc"

      Show
      Create a text data source. Create a dynamic VDB with file translator to that data source. create a big text file: for i in {1..1000};do echo "1" >> result0;done for i in {1..8};do cat * > result${i};done cat * > textfile rm result* configure the buffer manager: teiid-jboss-beans.xml run query via JDBC: ./run.sh localhost 31000 FileTest "SELECT tex.first from (call getTextFiles('textfile')) as file, TEXTTABLE(file COLUMNS first integer) as tex order by tex.first desc"
    • Workaround Exists
    • Hide

      Restart the server.

      Show
      Restart the server.

    Description

      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

      Attachments

        Issue Links

          Activity

            People

              rhn-engineering-shawkins Steven Hawkins
              fnguyen_jira Filip Nguyen (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: