You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "Christopher Tubbs (JIRA)" <ji...@apache.org> on 2014/09/23 20:40:34 UTC

[jira] [Commented] (ACCUMULO-3163) Mutation could (maybe) benefit from additional validity checks

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

Christopher Tubbs commented on ACCUMULO-3163:
---------------------------------------------

This is a "maybe", because random data corruption can't really be protected against perfectly (it could always get corrupt after we finish deserializing...), and the RPC layer should already have some checksums on the data (TCP checksum).

> Mutation could (maybe) benefit from additional validity checks
> --------------------------------------------------------------
>
>                 Key: ACCUMULO-3163
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-3163
>             Project: Accumulo
>          Issue Type: Improvement
>         Environment: Accumulo 1.4
>            Reporter: Christopher Tubbs
>
> In a 1.4 instance, a mutation was apparently corrupted when it was received by the tserver. It then got written to the WAL in a corrupted form, and the tserver (likely, as far as can be discerned) failed to deserialize the data to insert it into the in-memory tree. At some point this tablet went offline, and failed to be assigned, because WAL recovery could not complete (specifically, an ArrayIndexOutOfBoundsException, because the length of a column qualifier was much larger than it should have been, and much larger than the array).
> To protect against corrupt data entering the WAL, the client could provide a fast checksum on the array, to validate its contents before writing to the WAL.
> The lengths of the fields could be checked for sanity when deserializing, and throw a more informative error than index out of bounds.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)