stack created HBASE-12981:
-----------------------------
Summary: FSHLog: UNEXPECTED
java.lang.ArrayIndexOutOfBoundsException: -4
Key: HBASE-12981
URL: https://issues.apache.org/jira/browse/HBASE-12981
Project: HBase
Issue Type: Bug
Components: wal
Affects Versions: 0.98.10
Reporter: stack
Assignee: stack
Fix For: 0.98.11
A user reported the below. It happens after the RS has been running a while.
015-01-20 22:33:23,031 ERROR org.apache.hadoop.hbase.regionserver.wal.FSHLog:
UNEXPECTED
java.lang.ArrayIndexOutOfBoundsException: -4
at
org.apache.hadoop.hbase.regionserver.wal.FSHLog$AsyncWriter.run(FSHLog.java:1149)
at java.lang.Thread.run(Thread.java:745)
2015-01-20 22:33:23,035 INFO org.apache.hadoop.hbase.regionserver.wal.FSHLog:
regionserver60020-WAL.AsyncWriter exiting
##################
Similarly on Node 23 - on 12-20-2014 05:13:
2014-12-20 05:13:40,715 ERROR org.apache.hadoop.hbase.regionserver.wal.FSHLog:
UNEXPECTED
java.lang.ArrayIndexOutOfBoundsException: -3
at
org.apache.hadoop.hbase.regionserver.wal.FSHLog$AsyncWriter.run(FSHLog.java:1149)
at java.lang.Thread.run(Thread.java:745)
###################
Looking in code, I can't see how this could come about other than our write
seqid ran over the top of a long (unlikely). I think this a 0.98 issue since
1.0+ is different here. It does:
int index = Math.abs(this.syncRunnerIndex++) % this.syncRunners.length;
I'm going to add logging of the circumstance that produces a negative index and
then defense against our using negative indices; there could be more going on
in here, more than I can see.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)