You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "Josh Elser (JIRA)" <ji...@apache.org> on 2014/09/26 18:22:33 UTC

[jira] [Created] (ACCUMULO-3174) Avoid mutation copy on remote replica

Josh Elser created ACCUMULO-3174:
------------------------------------

             Summary: Avoid mutation copy on remote replica
                 Key: ACCUMULO-3174
                 URL: https://issues.apache.org/jira/browse/ACCUMULO-3174
             Project: Accumulo
          Issue Type: Improvement
          Components: replication
            Reporter: Josh Elser
            Assignee: Josh Elser
             Fix For: 1.7.0


To ensure that all replicas see mutations applied in the same order as the source, we need to preserve the timestamp on the received mutations to replicate (either user-assigned or server-assigned).

The way that ServerMutation implements the server-assigned timestamp is done so as to not modify the serialized bytes (for efficiencies sake). The problem arises when the ServerMutation is cast back to a "regular" Mutation, the timestamp that the system assigned, which was tracked outside of the serialized bytes, is lost and a new server-assigned timestamp is used.

The naive way to circumvent this is to copy the ServerMutation into a new Mutation, checking for a system-assigned timestamp and set that on the updates for each Mutation. This has a big downside as the amount of required heap nearly doubled (assuming that the mutations are the majority of memory used).



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