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)

Reply via email to