[jira] [Commented] (HDFS-7765) FSOutputSummer throwing ArrayIndexOutOfBoundsException
[ https://issues.apache.org/jira/browse/HDFS-7765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17012431#comment-17012431 ] Hongbing Wang commented on HDFS-7765: - [~jeagles] ok. I will improve the code and test these days. > FSOutputSummer throwing ArrayIndexOutOfBoundsException > -- > > Key: HDFS-7765 > URL: https://issues.apache.org/jira/browse/HDFS-7765 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs-client >Affects Versions: 2.6.0 > Environment: Centos 6, Open JDK 7, Amazon EC2, Accumulo 1.6.2RC4 >Reporter: Keith Turner >Assignee: Janmejay Singh >Priority: Major > Attachments: > 0001-PATCH-HDFS-7765-FSOutputSummer-throwing-ArrayIndexOu.patch, > HDFS-7765.patch > > > While running an Accumulo test, saw exceptions like the following while > trying to write to write ahead log in HDFS. > The exception occurrs at > [FSOutputSummer.java:76|https://github.com/apache/hadoop/blob/release-2.6.0/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSOutputSummer.java#L76] > which is attempting to update a byte array. > {noformat} > 2015-02-06 19:46:49,769 [log.DfsLogger] WARN : Exception syncing > java.lang.reflect.InvocationTargetException > java.lang.ArrayIndexOutOfBoundsException: 4608 > at org.apache.hadoop.fs.FSOutputSummer.write(FSOutputSummer.java:76) > at > org.apache.hadoop.fs.FSDataOutputStream$PositionCache.write(FSDataOutputStream.java:50) > at java.io.DataOutputStream.write(DataOutputStream.java:88) > at java.io.DataOutputStream.writeByte(DataOutputStream.java:153) > at > org.apache.accumulo.tserver.logger.LogFileKey.write(LogFileKey.java:87) > at org.apache.accumulo.tserver.log.DfsLogger.write(DfsLogger.java:526) > at > org.apache.accumulo.tserver.log.DfsLogger.logFileData(DfsLogger.java:540) > at > org.apache.accumulo.tserver.log.DfsLogger.logManyTablets(DfsLogger.java:573) > at > org.apache.accumulo.tserver.log.TabletServerLogger$6.write(TabletServerLogger.java:373) > at > org.apache.accumulo.tserver.log.TabletServerLogger.write(TabletServerLogger.java:274) > at > org.apache.accumulo.tserver.log.TabletServerLogger.logManyTablets(TabletServerLogger.java:365) > at > org.apache.accumulo.tserver.TabletServer$ThriftClientHandler.flush(TabletServer.java:1667) > at > org.apache.accumulo.tserver.TabletServer$ThriftClientHandler.closeUpdate(TabletServer.java:1754) > at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at > org.apache.accumulo.trace.instrument.thrift.RpcServerInvocationHandler.invoke(RpcServerInvocationHandler.java:46) > at > org.apache.accumulo.server.util.RpcWrapper$1.invoke(RpcWrapper.java:47) > at com.sun.proxy.$Proxy22.closeUpdate(Unknown Source) > at > org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$closeUpdate.getResult(TabletClientService.java:2370) > at > org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$closeUpdate.getResult(TabletClientService.java:2354) > at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) > at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) > at > org.apache.accumulo.server.util.TServerUtils$TimedProcessor.process(TServerUtils.java:168) > at > org.apache.thrift.server.AbstractNonblockingServer$FrameBuffer.invoke(AbstractNonblockingServer.java:516) > at > org.apache.accumulo.server.util.CustomNonBlockingServer$1.run(CustomNonBlockingServer.java:77) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at > org.apache.accumulo.trace.instrument.TraceRunnable.run(TraceRunnable.java:47) > at > org.apache.accumulo.core.util.LoggingRunnable.run(LoggingRunnable.java:34) > at java.lang.Thread.run(Thread.java:744) > 2015-02-06 19:46:49,769 [log.DfsLogger] WARN : Exception syncing > java.lang.reflect.InvocationTargetException > 2015-02-06 19:46:49,772 [log.DfsLogger] ERROR: > java.lang.ArrayIndexOutOfBoundsException: 4609 > java.lang.ArrayIndexOutOfBoundsException: 4609 > at org.apache.hadoop.fs.FSOutputSummer.write(FSOutputSummer.java:76) > at > org.apache.hadoop.fs.FSDataOutputStream$PositionCache.write(FSDataOutputStream.java:50) > at java.io.DataOutputStream.write(DataOutputStream.java:88) > at
[jira] [Commented] (HDFS-7765) FSOutputSummer throwing ArrayIndexOutOfBoundsException
[ https://issues.apache.org/jira/browse/HDFS-7765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17012009#comment-17012009 ] Jonathan Turner Eagles commented on HDFS-7765: -- [~wanghongbing], would you be willing to take over this jira? It's been over a year since the assignee has made a comment. > FSOutputSummer throwing ArrayIndexOutOfBoundsException > -- > > Key: HDFS-7765 > URL: https://issues.apache.org/jira/browse/HDFS-7765 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs-client >Affects Versions: 2.6.0 > Environment: Centos 6, Open JDK 7, Amazon EC2, Accumulo 1.6.2RC4 >Reporter: Keith Turner >Assignee: Janmejay Singh >Priority: Major > Attachments: > 0001-PATCH-HDFS-7765-FSOutputSummer-throwing-ArrayIndexOu.patch, > HDFS-7765.patch > > > While running an Accumulo test, saw exceptions like the following while > trying to write to write ahead log in HDFS. > The exception occurrs at > [FSOutputSummer.java:76|https://github.com/apache/hadoop/blob/release-2.6.0/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSOutputSummer.java#L76] > which is attempting to update a byte array. > {noformat} > 2015-02-06 19:46:49,769 [log.DfsLogger] WARN : Exception syncing > java.lang.reflect.InvocationTargetException > java.lang.ArrayIndexOutOfBoundsException: 4608 > at org.apache.hadoop.fs.FSOutputSummer.write(FSOutputSummer.java:76) > at > org.apache.hadoop.fs.FSDataOutputStream$PositionCache.write(FSDataOutputStream.java:50) > at java.io.DataOutputStream.write(DataOutputStream.java:88) > at java.io.DataOutputStream.writeByte(DataOutputStream.java:153) > at > org.apache.accumulo.tserver.logger.LogFileKey.write(LogFileKey.java:87) > at org.apache.accumulo.tserver.log.DfsLogger.write(DfsLogger.java:526) > at > org.apache.accumulo.tserver.log.DfsLogger.logFileData(DfsLogger.java:540) > at > org.apache.accumulo.tserver.log.DfsLogger.logManyTablets(DfsLogger.java:573) > at > org.apache.accumulo.tserver.log.TabletServerLogger$6.write(TabletServerLogger.java:373) > at > org.apache.accumulo.tserver.log.TabletServerLogger.write(TabletServerLogger.java:274) > at > org.apache.accumulo.tserver.log.TabletServerLogger.logManyTablets(TabletServerLogger.java:365) > at > org.apache.accumulo.tserver.TabletServer$ThriftClientHandler.flush(TabletServer.java:1667) > at > org.apache.accumulo.tserver.TabletServer$ThriftClientHandler.closeUpdate(TabletServer.java:1754) > at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at > org.apache.accumulo.trace.instrument.thrift.RpcServerInvocationHandler.invoke(RpcServerInvocationHandler.java:46) > at > org.apache.accumulo.server.util.RpcWrapper$1.invoke(RpcWrapper.java:47) > at com.sun.proxy.$Proxy22.closeUpdate(Unknown Source) > at > org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$closeUpdate.getResult(TabletClientService.java:2370) > at > org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$closeUpdate.getResult(TabletClientService.java:2354) > at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) > at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) > at > org.apache.accumulo.server.util.TServerUtils$TimedProcessor.process(TServerUtils.java:168) > at > org.apache.thrift.server.AbstractNonblockingServer$FrameBuffer.invoke(AbstractNonblockingServer.java:516) > at > org.apache.accumulo.server.util.CustomNonBlockingServer$1.run(CustomNonBlockingServer.java:77) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at > org.apache.accumulo.trace.instrument.TraceRunnable.run(TraceRunnable.java:47) > at > org.apache.accumulo.core.util.LoggingRunnable.run(LoggingRunnable.java:34) > at java.lang.Thread.run(Thread.java:744) > 2015-02-06 19:46:49,769 [log.DfsLogger] WARN : Exception syncing > java.lang.reflect.InvocationTargetException > 2015-02-06 19:46:49,772 [log.DfsLogger] ERROR: > java.lang.ArrayIndexOutOfBoundsException: 4609 > java.lang.ArrayIndexOutOfBoundsException: 4609 > at org.apache.hadoop.fs.FSOutputSummer.write(FSOutputSummer.java:76) > at > org.apache.hadoop.fs.FSDataOutputStream$PositionCache.write(FSDataOutputStream.java:50) > at
[jira] [Commented] (HDFS-7765) FSOutputSummer throwing ArrayIndexOutOfBoundsException
[ https://issues.apache.org/jira/browse/HDFS-7765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17010625#comment-17010625 ] Hongbing Wang commented on HDFS-7765: - [~kturner] [~janmejay] Hello, I encountered the same problem using hadoop2.7. My scenario is this: During the continuous append operation, Client permissions are denied (Client ip is removed from the whitelist). There was an error in the writeChecksumChunks in the flushBuffer method, so count = 0 of the subsequent code cannot be executed. When the white list was restored, the array was out of bounds because buf was not cleared. So, when writeChecksumChunks throws exception, count should be reset. my Changed code in FSOutputSummer: {code:java} protected synchronized int flushBuffer(boolean keep, boolean flushPartial) throws IOException { int bufLen = count; int partialLen = bufLen % sum.getBytesPerChecksum(); int lenToFlush = flushPartial ? bufLen : bufLen - partialLen; if (lenToFlush != 0) { try { //just add try and finally writeChecksumChunks(buf, 0, lenToFlush); } finally { if (!flushPartial || keep) { count = partialLen; System.arraycopy(buf, bufLen - count, buf, 0, count); } else { count = 0; } } } // other code }{code} > FSOutputSummer throwing ArrayIndexOutOfBoundsException > -- > > Key: HDFS-7765 > URL: https://issues.apache.org/jira/browse/HDFS-7765 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs-client >Affects Versions: 2.6.0 > Environment: Centos 6, Open JDK 7, Amazon EC2, Accumulo 1.6.2RC4 >Reporter: Keith Turner >Assignee: Janmejay Singh >Priority: Major > Attachments: > 0001-PATCH-HDFS-7765-FSOutputSummer-throwing-ArrayIndexOu.patch, > HDFS-7765.patch > > > While running an Accumulo test, saw exceptions like the following while > trying to write to write ahead log in HDFS. > The exception occurrs at > [FSOutputSummer.java:76|https://github.com/apache/hadoop/blob/release-2.6.0/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSOutputSummer.java#L76] > which is attempting to update a byte array. > {noformat} > 2015-02-06 19:46:49,769 [log.DfsLogger] WARN : Exception syncing > java.lang.reflect.InvocationTargetException > java.lang.ArrayIndexOutOfBoundsException: 4608 > at org.apache.hadoop.fs.FSOutputSummer.write(FSOutputSummer.java:76) > at > org.apache.hadoop.fs.FSDataOutputStream$PositionCache.write(FSDataOutputStream.java:50) > at java.io.DataOutputStream.write(DataOutputStream.java:88) > at java.io.DataOutputStream.writeByte(DataOutputStream.java:153) > at > org.apache.accumulo.tserver.logger.LogFileKey.write(LogFileKey.java:87) > at org.apache.accumulo.tserver.log.DfsLogger.write(DfsLogger.java:526) > at > org.apache.accumulo.tserver.log.DfsLogger.logFileData(DfsLogger.java:540) > at > org.apache.accumulo.tserver.log.DfsLogger.logManyTablets(DfsLogger.java:573) > at > org.apache.accumulo.tserver.log.TabletServerLogger$6.write(TabletServerLogger.java:373) > at > org.apache.accumulo.tserver.log.TabletServerLogger.write(TabletServerLogger.java:274) > at > org.apache.accumulo.tserver.log.TabletServerLogger.logManyTablets(TabletServerLogger.java:365) > at > org.apache.accumulo.tserver.TabletServer$ThriftClientHandler.flush(TabletServer.java:1667) > at > org.apache.accumulo.tserver.TabletServer$ThriftClientHandler.closeUpdate(TabletServer.java:1754) > at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at > org.apache.accumulo.trace.instrument.thrift.RpcServerInvocationHandler.invoke(RpcServerInvocationHandler.java:46) > at > org.apache.accumulo.server.util.RpcWrapper$1.invoke(RpcWrapper.java:47) > at com.sun.proxy.$Proxy22.closeUpdate(Unknown Source) > at > org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$closeUpdate.getResult(TabletClientService.java:2370) > at > org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$closeUpdate.getResult(TabletClientService.java:2354) > at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) > at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) > at > org.apache.accumulo.server.util.TServerUtils$TimedProcessor.process(TServerUtils.java:168) > at > org.apache.thrift.server.AbstractNonblockingServer$FrameBuffer.invoke(AbstractNonblockingServer.java:516) > at >
[jira] [Commented] (HDFS-7765) FSOutputSummer throwing ArrayIndexOutOfBoundsException
[ https://issues.apache.org/jira/browse/HDFS-7765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16619602#comment-16619602 ] Jonathan Eagles commented on HDFS-7765: --- [~janmejay], I haven't seen much activity on this jira recently. Do you mind if I take this jira over? No worries, if you are going to continue working on this. If I don't hear back either way in a few weeks, I'll assume that you have stepped away from this jira. > FSOutputSummer throwing ArrayIndexOutOfBoundsException > -- > > Key: HDFS-7765 > URL: https://issues.apache.org/jira/browse/HDFS-7765 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs-client >Affects Versions: 2.6.0 > Environment: Centos 6, Open JDK 7, Amazon EC2, Accumulo 1.6.2RC4 >Reporter: Keith Turner >Assignee: Janmejay Singh >Priority: Major > Attachments: > 0001-PATCH-HDFS-7765-FSOutputSummer-throwing-ArrayIndexOu.patch, > HDFS-7765.patch > > > While running an Accumulo test, saw exceptions like the following while > trying to write to write ahead log in HDFS. > The exception occurrs at > [FSOutputSummer.java:76|https://github.com/apache/hadoop/blob/release-2.6.0/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSOutputSummer.java#L76] > which is attempting to update a byte array. > {noformat} > 2015-02-06 19:46:49,769 [log.DfsLogger] WARN : Exception syncing > java.lang.reflect.InvocationTargetException > java.lang.ArrayIndexOutOfBoundsException: 4608 > at org.apache.hadoop.fs.FSOutputSummer.write(FSOutputSummer.java:76) > at > org.apache.hadoop.fs.FSDataOutputStream$PositionCache.write(FSDataOutputStream.java:50) > at java.io.DataOutputStream.write(DataOutputStream.java:88) > at java.io.DataOutputStream.writeByte(DataOutputStream.java:153) > at > org.apache.accumulo.tserver.logger.LogFileKey.write(LogFileKey.java:87) > at org.apache.accumulo.tserver.log.DfsLogger.write(DfsLogger.java:526) > at > org.apache.accumulo.tserver.log.DfsLogger.logFileData(DfsLogger.java:540) > at > org.apache.accumulo.tserver.log.DfsLogger.logManyTablets(DfsLogger.java:573) > at > org.apache.accumulo.tserver.log.TabletServerLogger$6.write(TabletServerLogger.java:373) > at > org.apache.accumulo.tserver.log.TabletServerLogger.write(TabletServerLogger.java:274) > at > org.apache.accumulo.tserver.log.TabletServerLogger.logManyTablets(TabletServerLogger.java:365) > at > org.apache.accumulo.tserver.TabletServer$ThriftClientHandler.flush(TabletServer.java:1667) > at > org.apache.accumulo.tserver.TabletServer$ThriftClientHandler.closeUpdate(TabletServer.java:1754) > at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at > org.apache.accumulo.trace.instrument.thrift.RpcServerInvocationHandler.invoke(RpcServerInvocationHandler.java:46) > at > org.apache.accumulo.server.util.RpcWrapper$1.invoke(RpcWrapper.java:47) > at com.sun.proxy.$Proxy22.closeUpdate(Unknown Source) > at > org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$closeUpdate.getResult(TabletClientService.java:2370) > at > org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$closeUpdate.getResult(TabletClientService.java:2354) > at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) > at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) > at > org.apache.accumulo.server.util.TServerUtils$TimedProcessor.process(TServerUtils.java:168) > at > org.apache.thrift.server.AbstractNonblockingServer$FrameBuffer.invoke(AbstractNonblockingServer.java:516) > at > org.apache.accumulo.server.util.CustomNonBlockingServer$1.run(CustomNonBlockingServer.java:77) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at > org.apache.accumulo.trace.instrument.TraceRunnable.run(TraceRunnable.java:47) > at > org.apache.accumulo.core.util.LoggingRunnable.run(LoggingRunnable.java:34) > at java.lang.Thread.run(Thread.java:744) > 2015-02-06 19:46:49,769 [log.DfsLogger] WARN : Exception syncing > java.lang.reflect.InvocationTargetException > 2015-02-06 19:46:49,772 [log.DfsLogger] ERROR: > java.lang.ArrayIndexOutOfBoundsException: 4609 > java.lang.ArrayIndexOutOfBoundsException: 4609 > at org.apache.hadoop.fs.FSOutputSummer.write(FSOutputSummer.java:76) > at >
[jira] [Commented] (HDFS-7765) FSOutputSummer throwing ArrayIndexOutOfBoundsException
[ https://issues.apache.org/jira/browse/HDFS-7765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16524777#comment-16524777 ] Yuanbo Liu commented on HDFS-7765: -- Any update about this issue? We've met the same issue in our env while writing sequence file into Hadoop Cluster. > FSOutputSummer throwing ArrayIndexOutOfBoundsException > -- > > Key: HDFS-7765 > URL: https://issues.apache.org/jira/browse/HDFS-7765 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs-client >Affects Versions: 2.6.0 > Environment: Centos 6, Open JDK 7, Amazon EC2, Accumulo 1.6.2RC4 >Reporter: Keith Turner >Assignee: Janmejay Singh >Priority: Major > Attachments: > 0001-PATCH-HDFS-7765-FSOutputSummer-throwing-ArrayIndexOu.patch, > HDFS-7765.patch > > > While running an Accumulo test, saw exceptions like the following while > trying to write to write ahead log in HDFS. > The exception occurrs at > [FSOutputSummer.java:76|https://github.com/apache/hadoop/blob/release-2.6.0/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSOutputSummer.java#L76] > which is attempting to update a byte array. > {noformat} > 2015-02-06 19:46:49,769 [log.DfsLogger] WARN : Exception syncing > java.lang.reflect.InvocationTargetException > java.lang.ArrayIndexOutOfBoundsException: 4608 > at org.apache.hadoop.fs.FSOutputSummer.write(FSOutputSummer.java:76) > at > org.apache.hadoop.fs.FSDataOutputStream$PositionCache.write(FSDataOutputStream.java:50) > at java.io.DataOutputStream.write(DataOutputStream.java:88) > at java.io.DataOutputStream.writeByte(DataOutputStream.java:153) > at > org.apache.accumulo.tserver.logger.LogFileKey.write(LogFileKey.java:87) > at org.apache.accumulo.tserver.log.DfsLogger.write(DfsLogger.java:526) > at > org.apache.accumulo.tserver.log.DfsLogger.logFileData(DfsLogger.java:540) > at > org.apache.accumulo.tserver.log.DfsLogger.logManyTablets(DfsLogger.java:573) > at > org.apache.accumulo.tserver.log.TabletServerLogger$6.write(TabletServerLogger.java:373) > at > org.apache.accumulo.tserver.log.TabletServerLogger.write(TabletServerLogger.java:274) > at > org.apache.accumulo.tserver.log.TabletServerLogger.logManyTablets(TabletServerLogger.java:365) > at > org.apache.accumulo.tserver.TabletServer$ThriftClientHandler.flush(TabletServer.java:1667) > at > org.apache.accumulo.tserver.TabletServer$ThriftClientHandler.closeUpdate(TabletServer.java:1754) > at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at > org.apache.accumulo.trace.instrument.thrift.RpcServerInvocationHandler.invoke(RpcServerInvocationHandler.java:46) > at > org.apache.accumulo.server.util.RpcWrapper$1.invoke(RpcWrapper.java:47) > at com.sun.proxy.$Proxy22.closeUpdate(Unknown Source) > at > org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$closeUpdate.getResult(TabletClientService.java:2370) > at > org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$closeUpdate.getResult(TabletClientService.java:2354) > at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) > at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) > at > org.apache.accumulo.server.util.TServerUtils$TimedProcessor.process(TServerUtils.java:168) > at > org.apache.thrift.server.AbstractNonblockingServer$FrameBuffer.invoke(AbstractNonblockingServer.java:516) > at > org.apache.accumulo.server.util.CustomNonBlockingServer$1.run(CustomNonBlockingServer.java:77) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at > org.apache.accumulo.trace.instrument.TraceRunnable.run(TraceRunnable.java:47) > at > org.apache.accumulo.core.util.LoggingRunnable.run(LoggingRunnable.java:34) > at java.lang.Thread.run(Thread.java:744) > 2015-02-06 19:46:49,769 [log.DfsLogger] WARN : Exception syncing > java.lang.reflect.InvocationTargetException > 2015-02-06 19:46:49,772 [log.DfsLogger] ERROR: > java.lang.ArrayIndexOutOfBoundsException: 4609 > java.lang.ArrayIndexOutOfBoundsException: 4609 > at org.apache.hadoop.fs.FSOutputSummer.write(FSOutputSummer.java:76) > at > org.apache.hadoop.fs.FSDataOutputStream$PositionCache.write(FSDataOutputStream.java:50) > at java.io.DataOutputStream.write(DataOutputStream.java:88) >
[jira] [Commented] (HDFS-7765) FSOutputSummer throwing ArrayIndexOutOfBoundsException
[ https://issues.apache.org/jira/browse/HDFS-7765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16428532#comment-16428532 ] Jonathan Eagles commented on HDFS-7765: --- [~janmejay], I think [~wankunde]'s assessment matches my experience for when this issue happens. Once an IOException happens at max buffer size, this class becomes unusable. Much like this other apache stream class as reference, flush if we can't write, then write. That way the state is not modified until safe. https://github.com/apache/commons-io/blob/master/src/main/java/org/apache/commons/io/output/ByteArrayOutputStream.java#L171 {code} public synchronized void write(int b) throws IOException { int newcount = count + 1; if (newcount > buf.length) { flushBuffer(); } buf[count++] = (byte)b; } {code} I haven't checked the rest of the FSOutputSummer for correctness. That is worth checking. > FSOutputSummer throwing ArrayIndexOutOfBoundsException > -- > > Key: HDFS-7765 > URL: https://issues.apache.org/jira/browse/HDFS-7765 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs-client >Affects Versions: 2.6.0 > Environment: Centos 6, Open JDK 7, Amazon EC2, Accumulo 1.6.2RC4 >Reporter: Keith Turner >Assignee: Janmejay Singh >Priority: Major > Attachments: > 0001-PATCH-HDFS-7765-FSOutputSummer-throwing-ArrayIndexOu.patch, > HDFS-7765.patch > > > While running an Accumulo test, saw exceptions like the following while > trying to write to write ahead log in HDFS. > The exception occurrs at > [FSOutputSummer.java:76|https://github.com/apache/hadoop/blob/release-2.6.0/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSOutputSummer.java#L76] > which is attempting to update a byte array. > {noformat} > 2015-02-06 19:46:49,769 [log.DfsLogger] WARN : Exception syncing > java.lang.reflect.InvocationTargetException > java.lang.ArrayIndexOutOfBoundsException: 4608 > at org.apache.hadoop.fs.FSOutputSummer.write(FSOutputSummer.java:76) > at > org.apache.hadoop.fs.FSDataOutputStream$PositionCache.write(FSDataOutputStream.java:50) > at java.io.DataOutputStream.write(DataOutputStream.java:88) > at java.io.DataOutputStream.writeByte(DataOutputStream.java:153) > at > org.apache.accumulo.tserver.logger.LogFileKey.write(LogFileKey.java:87) > at org.apache.accumulo.tserver.log.DfsLogger.write(DfsLogger.java:526) > at > org.apache.accumulo.tserver.log.DfsLogger.logFileData(DfsLogger.java:540) > at > org.apache.accumulo.tserver.log.DfsLogger.logManyTablets(DfsLogger.java:573) > at > org.apache.accumulo.tserver.log.TabletServerLogger$6.write(TabletServerLogger.java:373) > at > org.apache.accumulo.tserver.log.TabletServerLogger.write(TabletServerLogger.java:274) > at > org.apache.accumulo.tserver.log.TabletServerLogger.logManyTablets(TabletServerLogger.java:365) > at > org.apache.accumulo.tserver.TabletServer$ThriftClientHandler.flush(TabletServer.java:1667) > at > org.apache.accumulo.tserver.TabletServer$ThriftClientHandler.closeUpdate(TabletServer.java:1754) > at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at > org.apache.accumulo.trace.instrument.thrift.RpcServerInvocationHandler.invoke(RpcServerInvocationHandler.java:46) > at > org.apache.accumulo.server.util.RpcWrapper$1.invoke(RpcWrapper.java:47) > at com.sun.proxy.$Proxy22.closeUpdate(Unknown Source) > at > org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$closeUpdate.getResult(TabletClientService.java:2370) > at > org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$closeUpdate.getResult(TabletClientService.java:2354) > at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) > at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) > at > org.apache.accumulo.server.util.TServerUtils$TimedProcessor.process(TServerUtils.java:168) > at > org.apache.thrift.server.AbstractNonblockingServer$FrameBuffer.invoke(AbstractNonblockingServer.java:516) > at > org.apache.accumulo.server.util.CustomNonBlockingServer$1.run(CustomNonBlockingServer.java:77) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at > org.apache.accumulo.trace.instrument.TraceRunnable.run(TraceRunnable.java:47) > at >
[jira] [Commented] (HDFS-7765) FSOutputSummer throwing ArrayIndexOutOfBoundsException
[ https://issues.apache.org/jira/browse/HDFS-7765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16290169#comment-16290169 ] wan kun commented on HDFS-7765: --- [~kturner] {code:java} public synchronized void write(int b) throws IOException { buf[count++] = (byte)b; if(count == buf.length) { flushBuffer(); {code} If the flushBuffer() throw IOException in the first time ,the count will larger than buf.length the second time. > FSOutputSummer throwing ArrayIndexOutOfBoundsException > -- > > Key: HDFS-7765 > URL: https://issues.apache.org/jira/browse/HDFS-7765 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs-client >Affects Versions: 2.6.0 > Environment: Centos 6, Open JDK 7, Amazon EC2, Accumulo 1.6.2RC4 >Reporter: Keith Turner >Assignee: Janmejay Singh > Attachments: > 0001-PATCH-HDFS-7765-FSOutputSummer-throwing-ArrayIndexOu.patch, > HDFS-7765.patch > > > While running an Accumulo test, saw exceptions like the following while > trying to write to write ahead log in HDFS. > The exception occurrs at > [FSOutputSummer.java:76|https://github.com/apache/hadoop/blob/release-2.6.0/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSOutputSummer.java#L76] > which is attempting to update a byte array. > {noformat} > 2015-02-06 19:46:49,769 [log.DfsLogger] WARN : Exception syncing > java.lang.reflect.InvocationTargetException > java.lang.ArrayIndexOutOfBoundsException: 4608 > at org.apache.hadoop.fs.FSOutputSummer.write(FSOutputSummer.java:76) > at > org.apache.hadoop.fs.FSDataOutputStream$PositionCache.write(FSDataOutputStream.java:50) > at java.io.DataOutputStream.write(DataOutputStream.java:88) > at java.io.DataOutputStream.writeByte(DataOutputStream.java:153) > at > org.apache.accumulo.tserver.logger.LogFileKey.write(LogFileKey.java:87) > at org.apache.accumulo.tserver.log.DfsLogger.write(DfsLogger.java:526) > at > org.apache.accumulo.tserver.log.DfsLogger.logFileData(DfsLogger.java:540) > at > org.apache.accumulo.tserver.log.DfsLogger.logManyTablets(DfsLogger.java:573) > at > org.apache.accumulo.tserver.log.TabletServerLogger$6.write(TabletServerLogger.java:373) > at > org.apache.accumulo.tserver.log.TabletServerLogger.write(TabletServerLogger.java:274) > at > org.apache.accumulo.tserver.log.TabletServerLogger.logManyTablets(TabletServerLogger.java:365) > at > org.apache.accumulo.tserver.TabletServer$ThriftClientHandler.flush(TabletServer.java:1667) > at > org.apache.accumulo.tserver.TabletServer$ThriftClientHandler.closeUpdate(TabletServer.java:1754) > at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at > org.apache.accumulo.trace.instrument.thrift.RpcServerInvocationHandler.invoke(RpcServerInvocationHandler.java:46) > at > org.apache.accumulo.server.util.RpcWrapper$1.invoke(RpcWrapper.java:47) > at com.sun.proxy.$Proxy22.closeUpdate(Unknown Source) > at > org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$closeUpdate.getResult(TabletClientService.java:2370) > at > org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$closeUpdate.getResult(TabletClientService.java:2354) > at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) > at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) > at > org.apache.accumulo.server.util.TServerUtils$TimedProcessor.process(TServerUtils.java:168) > at > org.apache.thrift.server.AbstractNonblockingServer$FrameBuffer.invoke(AbstractNonblockingServer.java:516) > at > org.apache.accumulo.server.util.CustomNonBlockingServer$1.run(CustomNonBlockingServer.java:77) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at > org.apache.accumulo.trace.instrument.TraceRunnable.run(TraceRunnable.java:47) > at > org.apache.accumulo.core.util.LoggingRunnable.run(LoggingRunnable.java:34) > at java.lang.Thread.run(Thread.java:744) > 2015-02-06 19:46:49,769 [log.DfsLogger] WARN : Exception syncing > java.lang.reflect.InvocationTargetException > 2015-02-06 19:46:49,772 [log.DfsLogger] ERROR: > java.lang.ArrayIndexOutOfBoundsException: 4609 > java.lang.ArrayIndexOutOfBoundsException: 4609 > at org.apache.hadoop.fs.FSOutputSummer.write(FSOutputSummer.java:76) > at >
[jira] [Commented] (HDFS-7765) FSOutputSummer throwing ArrayIndexOutOfBoundsException
[ https://issues.apache.org/jira/browse/HDFS-7765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15832612#comment-15832612 ] Martin Serrano commented on HDFS-7765: -- We've seen this as well under conditions which generate large I/O waits: {noformat} Caused by: java.lang.ArrayIndexOutOfBoundsException: 321984 at org.apache.hadoop.fs.FSOutputSummer.write(FSOutputSummer.java:76) at org.apache.hadoop.fs.FSDataOutputStream$PositionCache.write(FSDataOutputStream.java:50) at java.io.DataOutputStream.writeInt(DataOutputStream.java:197) {noformat} Cloudera 5.8.2 (HDFS 2.6.0) > FSOutputSummer throwing ArrayIndexOutOfBoundsException > -- > > Key: HDFS-7765 > URL: https://issues.apache.org/jira/browse/HDFS-7765 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs-client >Affects Versions: 2.6.0 > Environment: Centos 6, Open JDK 7, Amazon EC2, Accumulo 1.6.2RC4 >Reporter: Keith Turner >Assignee: Janmejay Singh > Attachments: > 0001-PATCH-HDFS-7765-FSOutputSummer-throwing-ArrayIndexOu.patch, > HDFS-7765.patch > > > While running an Accumulo test, saw exceptions like the following while > trying to write to write ahead log in HDFS. > The exception occurrs at > [FSOutputSummer.java:76|https://github.com/apache/hadoop/blob/release-2.6.0/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSOutputSummer.java#L76] > which is attempting to update a byte array. > {noformat} > 2015-02-06 19:46:49,769 [log.DfsLogger] WARN : Exception syncing > java.lang.reflect.InvocationTargetException > java.lang.ArrayIndexOutOfBoundsException: 4608 > at org.apache.hadoop.fs.FSOutputSummer.write(FSOutputSummer.java:76) > at > org.apache.hadoop.fs.FSDataOutputStream$PositionCache.write(FSDataOutputStream.java:50) > at java.io.DataOutputStream.write(DataOutputStream.java:88) > at java.io.DataOutputStream.writeByte(DataOutputStream.java:153) > at > org.apache.accumulo.tserver.logger.LogFileKey.write(LogFileKey.java:87) > at org.apache.accumulo.tserver.log.DfsLogger.write(DfsLogger.java:526) > at > org.apache.accumulo.tserver.log.DfsLogger.logFileData(DfsLogger.java:540) > at > org.apache.accumulo.tserver.log.DfsLogger.logManyTablets(DfsLogger.java:573) > at > org.apache.accumulo.tserver.log.TabletServerLogger$6.write(TabletServerLogger.java:373) > at > org.apache.accumulo.tserver.log.TabletServerLogger.write(TabletServerLogger.java:274) > at > org.apache.accumulo.tserver.log.TabletServerLogger.logManyTablets(TabletServerLogger.java:365) > at > org.apache.accumulo.tserver.TabletServer$ThriftClientHandler.flush(TabletServer.java:1667) > at > org.apache.accumulo.tserver.TabletServer$ThriftClientHandler.closeUpdate(TabletServer.java:1754) > at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at > org.apache.accumulo.trace.instrument.thrift.RpcServerInvocationHandler.invoke(RpcServerInvocationHandler.java:46) > at > org.apache.accumulo.server.util.RpcWrapper$1.invoke(RpcWrapper.java:47) > at com.sun.proxy.$Proxy22.closeUpdate(Unknown Source) > at > org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$closeUpdate.getResult(TabletClientService.java:2370) > at > org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$closeUpdate.getResult(TabletClientService.java:2354) > at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) > at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) > at > org.apache.accumulo.server.util.TServerUtils$TimedProcessor.process(TServerUtils.java:168) > at > org.apache.thrift.server.AbstractNonblockingServer$FrameBuffer.invoke(AbstractNonblockingServer.java:516) > at > org.apache.accumulo.server.util.CustomNonBlockingServer$1.run(CustomNonBlockingServer.java:77) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at > org.apache.accumulo.trace.instrument.TraceRunnable.run(TraceRunnable.java:47) > at > org.apache.accumulo.core.util.LoggingRunnable.run(LoggingRunnable.java:34) > at java.lang.Thread.run(Thread.java:744) > 2015-02-06 19:46:49,769 [log.DfsLogger] WARN : Exception syncing > java.lang.reflect.InvocationTargetException > 2015-02-06 19:46:49,772 [log.DfsLogger] ERROR: > java.lang.ArrayIndexOutOfBoundsException: 4609 >
[jira] [Commented] (HDFS-7765) FSOutputSummer throwing ArrayIndexOutOfBoundsException
[ https://issues.apache.org/jira/browse/HDFS-7765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14325886#comment-14325886 ] surendra singh lilhore commented on HDFS-7765: -- By seeing the logs we are getting ArrayIndexOutOfBoundsException when count reached 4608 (default buffer size 512*9=4608) {code}java.lang.ArrayIndexOutOfBoundsException: 4608{code} But in code for each increment we are checking the buffer length with count, if it is equal we will flush it. {code} buf[count++] = (byte)b; if(count == buf.length) { flushBuffer(); } {code} {code} count += bytesToCopy; if (count == buf.length) { // local buffer is full flushBuffer(); } {code} Means something happened wrong and count reached till full length but buffer not flushed. According to me it is possible when {{write1(byte b[], int off, int len)}} and {{write(int b)}} executed parallel. Sequence is like this 1. In {{write1()}} method line {{count += bytesToCopy}} executed and count reached 4608. 2. Now before {{if (count == buf.length)}} line, {{write()}} method executed. 3. {{buf(count++] = (byte)b;}} will throw ArrayIndexOutOfBoundsException but it will increase the count to 4609. 4. Now line {{if (count == buf.length)}} never true and continue. If I am wrong please correct me, thanks in advance. FSOutputSummer throwing ArrayIndexOutOfBoundsException -- Key: HDFS-7765 URL: https://issues.apache.org/jira/browse/HDFS-7765 Project: Hadoop HDFS Issue Type: Bug Components: hdfs-client Affects Versions: 2.6.0 Environment: Centos 6, Open JDK 7, Amazon EC2, Accumulo 1.6.2RC4 Reporter: Keith Turner Assignee: surendra singh lilhore While running an Accumulo test, saw exceptions like the following while trying to write to write ahead log in HDFS. The exception occurrs at [FSOutputSummer.java:76|https://github.com/apache/hadoop/blob/release-2.6.0/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSOutputSummer.java#L76] which is attempting to update a byte array. {noformat} 2015-02-06 19:46:49,769 [log.DfsLogger] WARN : Exception syncing java.lang.reflect.InvocationTargetException java.lang.ArrayIndexOutOfBoundsException: 4608 at org.apache.hadoop.fs.FSOutputSummer.write(FSOutputSummer.java:76) at org.apache.hadoop.fs.FSDataOutputStream$PositionCache.write(FSDataOutputStream.java:50) at java.io.DataOutputStream.write(DataOutputStream.java:88) at java.io.DataOutputStream.writeByte(DataOutputStream.java:153) at org.apache.accumulo.tserver.logger.LogFileKey.write(LogFileKey.java:87) at org.apache.accumulo.tserver.log.DfsLogger.write(DfsLogger.java:526) at org.apache.accumulo.tserver.log.DfsLogger.logFileData(DfsLogger.java:540) at org.apache.accumulo.tserver.log.DfsLogger.logManyTablets(DfsLogger.java:573) at org.apache.accumulo.tserver.log.TabletServerLogger$6.write(TabletServerLogger.java:373) at org.apache.accumulo.tserver.log.TabletServerLogger.write(TabletServerLogger.java:274) at org.apache.accumulo.tserver.log.TabletServerLogger.logManyTablets(TabletServerLogger.java:365) at org.apache.accumulo.tserver.TabletServer$ThriftClientHandler.flush(TabletServer.java:1667) at org.apache.accumulo.tserver.TabletServer$ThriftClientHandler.closeUpdate(TabletServer.java:1754) at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.accumulo.trace.instrument.thrift.RpcServerInvocationHandler.invoke(RpcServerInvocationHandler.java:46) at org.apache.accumulo.server.util.RpcWrapper$1.invoke(RpcWrapper.java:47) at com.sun.proxy.$Proxy22.closeUpdate(Unknown Source) at org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$closeUpdate.getResult(TabletClientService.java:2370) at org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$closeUpdate.getResult(TabletClientService.java:2354) at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) at org.apache.accumulo.server.util.TServerUtils$TimedProcessor.process(TServerUtils.java:168) at org.apache.thrift.server.AbstractNonblockingServer$FrameBuffer.invoke(AbstractNonblockingServer.java:516) at org.apache.accumulo.server.util.CustomNonBlockingServer$1.run(CustomNonBlockingServer.java:77) at
[jira] [Commented] (HDFS-7765) FSOutputSummer throwing ArrayIndexOutOfBoundsException
[ https://issues.apache.org/jira/browse/HDFS-7765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14325964#comment-14325964 ] Keith Turner commented on HDFS-7765: Seems like this could not happen. * In 2.6.0 {{write(byte b[], int off, int len)}} and {{write(int b)}} are both synchronized. * In 2.6.0 {{write1(byte b[], int off, int len)}} is only called by {{write(byte b[], int off, int len)}}. Therefore {{write1(...)}} is effectively synchronized in 2.6.0. So it does not seem possible that {{write1(...)}} could be executed concurrently w/ {{write(int b)}}. Does this reasoning seem correct? FSOutputSummer throwing ArrayIndexOutOfBoundsException -- Key: HDFS-7765 URL: https://issues.apache.org/jira/browse/HDFS-7765 Project: Hadoop HDFS Issue Type: Bug Components: hdfs-client Affects Versions: 2.6.0 Environment: Centos 6, Open JDK 7, Amazon EC2, Accumulo 1.6.2RC4 Reporter: Keith Turner Assignee: surendra singh lilhore Attachments: HDFS-7765.patch While running an Accumulo test, saw exceptions like the following while trying to write to write ahead log in HDFS. The exception occurrs at [FSOutputSummer.java:76|https://github.com/apache/hadoop/blob/release-2.6.0/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSOutputSummer.java#L76] which is attempting to update a byte array. {noformat} 2015-02-06 19:46:49,769 [log.DfsLogger] WARN : Exception syncing java.lang.reflect.InvocationTargetException java.lang.ArrayIndexOutOfBoundsException: 4608 at org.apache.hadoop.fs.FSOutputSummer.write(FSOutputSummer.java:76) at org.apache.hadoop.fs.FSDataOutputStream$PositionCache.write(FSDataOutputStream.java:50) at java.io.DataOutputStream.write(DataOutputStream.java:88) at java.io.DataOutputStream.writeByte(DataOutputStream.java:153) at org.apache.accumulo.tserver.logger.LogFileKey.write(LogFileKey.java:87) at org.apache.accumulo.tserver.log.DfsLogger.write(DfsLogger.java:526) at org.apache.accumulo.tserver.log.DfsLogger.logFileData(DfsLogger.java:540) at org.apache.accumulo.tserver.log.DfsLogger.logManyTablets(DfsLogger.java:573) at org.apache.accumulo.tserver.log.TabletServerLogger$6.write(TabletServerLogger.java:373) at org.apache.accumulo.tserver.log.TabletServerLogger.write(TabletServerLogger.java:274) at org.apache.accumulo.tserver.log.TabletServerLogger.logManyTablets(TabletServerLogger.java:365) at org.apache.accumulo.tserver.TabletServer$ThriftClientHandler.flush(TabletServer.java:1667) at org.apache.accumulo.tserver.TabletServer$ThriftClientHandler.closeUpdate(TabletServer.java:1754) at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.accumulo.trace.instrument.thrift.RpcServerInvocationHandler.invoke(RpcServerInvocationHandler.java:46) at org.apache.accumulo.server.util.RpcWrapper$1.invoke(RpcWrapper.java:47) at com.sun.proxy.$Proxy22.closeUpdate(Unknown Source) at org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$closeUpdate.getResult(TabletClientService.java:2370) at org.apache.accumulo.core.tabletserver.thrift.TabletClientService$Processor$closeUpdate.getResult(TabletClientService.java:2354) at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) at org.apache.accumulo.server.util.TServerUtils$TimedProcessor.process(TServerUtils.java:168) at org.apache.thrift.server.AbstractNonblockingServer$FrameBuffer.invoke(AbstractNonblockingServer.java:516) at org.apache.accumulo.server.util.CustomNonBlockingServer$1.run(CustomNonBlockingServer.java:77) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at org.apache.accumulo.trace.instrument.TraceRunnable.run(TraceRunnable.java:47) at org.apache.accumulo.core.util.LoggingRunnable.run(LoggingRunnable.java:34) at java.lang.Thread.run(Thread.java:744) 2015-02-06 19:46:49,769 [log.DfsLogger] WARN : Exception syncing java.lang.reflect.InvocationTargetException 2015-02-06 19:46:49,772 [log.DfsLogger] ERROR: java.lang.ArrayIndexOutOfBoundsException: 4609 java.lang.ArrayIndexOutOfBoundsException: 4609 at org.apache.hadoop.fs.FSOutputSummer.write(FSOutputSummer.java:76)