Skip to content

getBestRegionHost fails with ArrayIndexOutOfBoundsException #6

@thirdeyenick

Description

@thirdeyenick

Hi,
we tried splicer today. After building it and setting up the correct firewall permissions for our regionservers it sadly fails when doing a test query:

curl 'http://127.0.0.1:4245/api/query' --data-binary '{"start":1473715620025,"queries":[{"metric":"nine.telegraf.cpu_usage_user","aggregator":"sum","rate":false,"rateOptions":{"counter":false},"downsample":"10m-max","tags":{}}]}' {"error": "java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException, stacktrace=com.turn.splicer.tsdbutils.SplicerQueryRunner.runQuerySlices(SplicerQueryRunner.java:110), com.turn.splicer.tsdbutils.SplicerQueryRunner.sliceAndRunQuery(SplicerQueryRunner.java:61)"}

I looks like it fails in the end with an "ArrayIndexOutOfBoundsException" in the getBestRegionHost Function:

Oct 05 17:08:48 metrics-splicer-cz41-1 java[12804]: Caused by: java.lang.ArrayIndexOutOfBoundsException: null Oct 05 17:08:48 metrics-splicer-cz41-1 java[12804]: at java.lang.System.arraycopy(Native Method) ~[na:1.8.0_91] Oct 05 17:08:48 metrics-splicer-cz41-1 java[12804]: at com.turn.splicer.hbase.RegionChecker.getBestRegionHost(RegionChecker.java:62) ~[tsdb-splicer-all-0.1.5-2016011901.jar:na] Oct 05 17:08:48 metrics-splicer-cz41-1 java[12804]: at com.turn.splicer.HttpWorker.call(HttpWorker.java:71) ~[tsdb-splicer-all-0.1.5-2016011901.jar:na] Oct 05 17:08:48 metrics-splicer-cz41-1 java[12804]: at com.turn.splicer.HttpWorker.call(HttpWorker.java:27) ~[tsdb-splicer-all-0.1.5-2016011901.jar:na] Oct 05 17:08:48 metrics-splicer-cz41-1 java[12804]: at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_91] Oct 05 17:08:48 metrics-splicer-cz41-1 java[12804]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_91] Oct 05 17:08:48 metrics-splicer-cz41-1 java[12804]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_91]

The correspnding MetricsCacher seems to get a result though:

Oct 05 17:08:48 metrics-splicer-cz41-1 java[12804]: 2016-10-05 17:08:48,069 INFO [splice-pool-1-thread-0] MetricsCache: Looking up key for metric=nine.telegraf.cpu_usage_user. Found result=[0, 0, 35]

Are we doing anything wrong? Thanks for any help.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions