You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "Keith Turner (JIRA)" <ji...@apache.org> on 2015/04/15 17:28:59 UTC

[jira] [Commented] (ACCUMULO-3733) support an ingest path that avoids Mutation objects

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

Keith Turner commented on ACCUMULO-3733:
----------------------------------------

Would be nice to do some measurements to show this is a problem.  Putting performance aside, this is cumbersome from an API standpoint. 

We could have a constructor for mutation that takes a Key Value.  Maybe that would make this a little less cumbersome and possibly be more optimal.

{code:java}
   class Mutation {
       /**
        * Optimally creates a mutation from a Key Value
        */
       public Mutation(Key k, Value v) {...}

      /**
       * Could also do this.
       */
       Iterator<Entry<Key, Value>> kvIterator(){}
   }
{code}

Another thing to think about from a convenience perspective is providing transformation functions that could be used w/ guava.  The functions could be optimized.  Having the {{Mutation(Key,Value)}} constructor would make it easy for users to create optimal functions of this sort.  






> support an ingest path that avoids Mutation objects
> ---------------------------------------------------
>
>                 Key: ACCUMULO-3733
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-3733
>             Project: Accumulo
>          Issue Type: New Feature
>            Reporter: Adam Fuchs
>            Priority: Minor
>
> I had a thought about a potential performance/API improvement last night. Mutations are great for ensuring that multiple key/value changes to the same row happen atomically, but for some applications they require unnecessary transformation of key/value pairs in and out of the Mutation structure with no real change in information content. We might be able to improve both ingest performance and simplicity of the API by supporting ingesting streams or containers of key/value objects directly.



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