accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Keith Turner (JIRA)" <>
Subject [jira] [Commented] (ACCUMULO-3733) support an ingest path that avoids Mutation objects
Date Wed, 15 Apr 2015 15:28:59 GMT


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.

   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(){}

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:
>             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

View raw message