You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "Michael Miller (JIRA)" <ji...@apache.org> on 2017/05/03 17:12:04 UTC

[jira] [Commented] (ACCUMULO-4633) ArithmeticException on TabletServerBatchWriter#logStats

    [ https://issues.apache.org/jira/browse/ACCUMULO-4633?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15995222#comment-15995222 ] 

Michael Miller commented on ACCUMULO-4633:
------------------------------------------

Easy fix if there aren't problems with numBatches = 0:
{code}
      log.trace(String.format("tservers per batch   : %,8.2f avg  %,6d min %,6d max", (float) (numBatches.get() != 0 ? (tabletServersBatchSum.get() / numBatches.get()) : 0),
          minTabletServersBatch.get(), maxTabletServersBatch.get()));
      log.trace(String.format("tablets per batch    : %,8.2f avg  %,6d min %,6d max", (float) (numBatches.get() != 0 ? (tabletBatchSum.get() / numBatches.get()) : 0), minTabletBatch.get(),
          maxTabletBatch.get()));
{code}

If you think this is all we need, I will push the fix up.

> ArithmeticException on TabletServerBatchWriter#logStats
> -------------------------------------------------------
>
>                 Key: ACCUMULO-4633
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-4633
>             Project: Accumulo
>          Issue Type: Bug
>    Affects Versions: 1.7.3
>            Reporter: Adam J Shook
>            Priority: Minor
>
> Getting the below divide by zero error.  It is related to replication, but I imagine it could occur at any stage.
> {code}
> Error trying to close write-ahead logs for replication table
> 	java.lang.ArithmeticException: / by zero
> 		at org.apache.accumulo.core.client.impl.TabletServerBatchWriter.logStats(TabletServerBatchWriter.java:418)
> 		at org.apache.accumulo.core.client.impl.TabletServerBatchWriter.close(TabletServerBatchWriter.java:369)
> 		at org.apache.accumulo.core.client.impl.BatchWriterImpl.close(BatchWriterImpl.java:54)
> 		at org.apache.accumulo.gc.replication.CloseWriteAheadLogReferences.updateReplicationEntries(CloseWriteAheadLogReferences.java:271)
> 		at org.apache.accumulo.gc.replication.CloseWriteAheadLogReferences.run(CloseWriteAheadLogReferences.java:154)
> 		at org.apache.accumulo.gc.SimpleGarbageCollector.run(SimpleGarbageCollector.java:569)
> 		at org.apache.accumulo.gc.SimpleGarbageCollector.main(SimpleGarbageCollector.java:159)
> 		at org.apache.accumulo.gc.GCExecutable.execute(GCExecutable.java:34)
> 		at org.apache.accumulo.start.Main$1.run(Main.java:120)
> 		at java.lang.Thread.run(Thread.java:745)
> {code}
> {code}
> Caught Exception trying to remove finished Replication records
> 	java.lang.ArithmeticException: / by zero
> 		at org.apache.accumulo.core.client.impl.TabletServerBatchWriter.logStats(TabletServerBatchWriter.java:418)
> 		at org.apache.accumulo.core.client.impl.TabletServerBatchWriter.close(TabletServerBatchWriter.java:369)
> 		at org.apache.accumulo.core.client.impl.BatchWriterImpl.close(BatchWriterImpl.java:54)
> 		at org.apache.accumulo.master.replication.RemoveCompleteReplicationRecords.run(RemoveCompleteReplicationRecords.java:100)
> 		at org.apache.accumulo.master.replication.ReplicationDriver.run(ReplicationDriver.java:110)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)