While the patch is an improvement for queries with tag filters, we're still occasionally seeing stack traces that we don't get with Apache HBase. Here's a couple examples - this query works some of the time, but if I keep changing the time range, I eventually hit one of these errors.
10:22:59.936 ERROR [HttpQuery.logError] - [id: 0xb6680995, /
192.168.6.24:50241 => /
192.168.92.110:4242] Internal Server Error on /q?start=2015/01/26-07:45:00&end=2015/01/28-10:08:10&m=sum:statistics.client.timeavg%7Busername=*%7D&o=&yrange=%5B0:%5D&wxh=1505x649&json
net.opentsdb.core.IllegalDataException: HBase returned a row that doesn't match our scanner (Scanner(table="/opentsdb/tsdb", start_key=[0, 0, 70, 84, -56, -7, 112, 0, 0, 6, 0, 81, -102, 0, 0, 16, 0, 73, -105, 0, 0, 19, 0, 81, -90, 0, 0, 20, 0, 84, -119, 0, 0, 22, 0, 73, 71, 0, 0, 23, 0, 81, 109], stop_key="\x00\x00 FT\xC9\tl", columns={"t"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter("(?s)^.{7}(?:.{6})*\Q^@^@^T\E.{3}(?:.{6})*$", ISO-8859-1), scanner_id=0x0000000000000000), mresultScanner=com.mapr.fs.MapRResultScanner@175a9e02)! [KeyValue(key=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], family="t", qualifier=[0, 0], value=[0, 0, 0, 0], timestamp=1422457601982)] does not start with [0, 0, 70]
at net.opentsdb.core.TsdbQuery$1ScannerCB.call(TsdbQuery.java:398) ~[tsdb-2.0.1.jar:]
at net.opentsdb.core.TsdbQuery$1ScannerCB.call(TsdbQuery.java:352) ~[tsdb-2.0.1.jar:]
at com.stumbleupon.async.Deferred.doCall(Deferred.java:1278) ~[suasync-1.4.0.jar:fe17b98]
at com.stumbleupon.async.Deferred.runCallbacks(Deferred.java:1257) ~[suasync-1.4.0.jar:fe17b98]
at com.stumbleupon.async.Deferred.callback(Deferred.java:1005) ~[suasync-1.4.0.jar:fe17b98]
at org.hbase.async.HBaseRpc.callback(HBaseRpc.java:538) ~[asynchbase-1.5.0-mapr-1501.jar:na]
at org.hbase.async.MapRThreadPool$ScanRpcRunnable.run(MapRThreadPool.java:436) ~[asynchbase-1.5.0-mapr-1501.jar:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_65]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_65]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_65]
10:29:45.472 ERROR [HttpQuery.logError] - [id: 0x8d71d509, /
192.168.6.24:50426 => /
192.168.92.109:4242] Internal Server Error on /q?start=2015/01/27-09:58:00&end=2015/01/28-10:29:19&m=statistics.client.timeavg%7Busername=*%7D&o=&yrange=%5B0:%5D&wxh=1505x649&json
net.opentsdb.core.IllegalDataException: HBase returned a row that doesn't match our scanner (Scanner(table="/opentsdb/tsdb", start_key=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], stop_key="\x00\x004T\xC9\x0Ea", columns={"t"}, populate_blockcache=true, max_num_rows=128, max_num_kvs=4096, region=null, filter=KeyRegexpFilter("(?s)^.{7}(?:.{6})*\Q^@^@^T\E.{3}(?:.{6})*$", ISO-8859-1), scanner_id=0x0EAD000CC000DEAD), mresultScanner=com.mapr.fs.MapRResultScanner@3c6a2757)! [KeyValue(key=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], family="t", qualifier=[0, 0], value=[0, 0, 0, 0], timestamp=1422372805257), KeyValue(key=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], family="t", qualifier=[0, 0], value=[0, 0, 0, 0], timestamp=1422374184071), KeyValue(key=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], family="t", qualifier=[0, 0], value=[0, 0, 0, 0], timestamp=1422376797761)] does not start with [0, 0, 52]
at net.opentsdb.core.TsdbQuery$1ScannerCB.call(TsdbQuery.java:398) ~[tsdb-2.0.1.jar:]
at net.opentsdb.core.TsdbQuery$1ScannerCB.call(TsdbQuery.java:352) ~[tsdb-2.0.1.jar:]
at com.stumbleupon.async.Deferred.doCall(Deferred.java:1278) ~[suasync-1.4.0.jar:fe17b98]
at com.stumbleupon.async.Deferred.runCallbacks(Deferred.java:1257) ~[suasync-1.4.0.jar:fe17b98]
at com.stumbleupon.async.Deferred.callback(Deferred.java:1005) ~[suasync-1.4.0.jar:fe17b98]
at org.hbase.async.HBaseRpc.callback(HBaseRpc.java:538) ~[asynchbase-1.5.0-mapr-1501.jar:na]
at org.hbase.async.MapRThreadPool$ScanRpcRunnable.run(MapRThreadPool.java:436) ~[asynchbase-1.5.0-mapr-1501.jar:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_65]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_65]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_65]