A new configurable memory usage threshold and query throttle mechanism has been delivered to the TrxRegionEndpoint coprocessor. This feature provides a throttling mechanism to either post a trace message indicating the memoryUsage for the regionserver process has exceeded the configured threshold or return an error to the coprocessor RPC call.
For example:
We could detect and send an error when we’ve reached a preconfigured memory usage threshold, e.g. 90%
>>delete from j1 where a = 3;
*** ERROR[8448] Unable to access Hbase interface. Call to ExpHbaseInterface::deleteRow returned error HBASE_ACCESS_ERROR(-705). Cause:
java.io.IOException: org.apache.hadoop.hbase.client.transactional.MemoryUsageException: checkAndDelete memory usage exceeds 90 percent
org.apache.hadoop.hbase.client.transactional.TransactionalTable.checkAndDelete(TransactionalTable.java:361)
org.apache.hadoop.hbase.client.transactional.RMInterface.checkAndDelete(RMInterface.java:196)
org.trafodion.sql.HBaseAccess.HTableClient.checkAndDeleteRow(HTableClient.java:773)
.
--- 0 row(s) deleted.
The default settings for the memoryUsage threshold is 100%. The memoryUsage throttling is set to "warn only" with a boolean value of "true".
The memoryUsage thread is set to sleep for "15" seconds.
To reconfigure these settings use the hbase configuration properties:
"hbase.transaction.memory.threshold" - what is the memoryUsage threshold, default is 100%.
"hbase.transaction.memory.warn.only" - what is the memoryUsage throttling (warning trace message or return error), default is true.
"hbase.transaction.memory.sleep" - what is the new memoryUsage regionserver thread sleep time, default is 15 seconds
A new configurable memory usage threshold and query throttle mechanism has been delivered to the TrxRegionEndpoint coprocessor. This feature provides a throttling mechanism to either post a trace message indicating the memoryUsage for the regionserver process has exceeded the configured threshold or return an error to the coprocessor RPC call.
For example:
We could detect and send an error when we’ve reached a preconfigured memory usage threshold, e.g. 90%
>>delete from j1 where a = 3;
*** ERROR[8448] Unable to access Hbase interface. Call to ExpHbaseInterfa ce::deleteRow returned error HBASE_ACCESS_ ERROR(- 705). Cause: IOException: org.apache. hadoop. hbase.client. transactional. MemoryUsageExce ption: checkAndDelete memory usage exceeds 90 percent hadoop. hbase.client. transactional. TransactionalTa ble.checkAndDel ete(Transaction alTable. java:361) hadoop. hbase.client. transactional. RMInterface. checkAndDelete( RMInterface. java:196) sql.HBaseAccess .HTableClient. checkAndDeleteR ow(HTableClient .java:773)
java.io.
org.apache.
org.apache.
org.trafodion.
.
--- 0 row(s) deleted.
The default settings for the memoryUsage threshold is 100%. The memoryUsage throttling is set to "warn only" with a boolean value of "true".
The memoryUsage thread is set to sleep for "15" seconds.
To reconfigure these settings use the hbase configuration properties:
"hbase. transaction. memory. threshold" - what is the memoryUsage threshold, default is 100%. transaction. memory. warn.only" - what is the memoryUsage throttling (warning trace message or return error), default is true. transaction. memory. sleep" - what is the new memoryUsage regionserver thread sleep time, default is 15 seconds
"hbase.
"hbase.