accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <>
Subject [jira] [Commented] (ACCUMULO-2832) Improve DefaultFormatter for reuse and object creation
Date Fri, 13 Jun 2014 02:38:02 GMT


ASF subversion and git services commented on ACCUMULO-2832:

Commit 59591273317147600a4299e215114fcf1fc1c341 in accumulo's branch refs/heads/master from
[;h=5959127 ]

ACCUMULO-2832 fixed object creation in Defaultformatter. Uses single Text object.

Signed-off-by: Josh Elser <>

> Improve DefaultFormatter for reuse and object creation
> ------------------------------------------------------
>                 Key: ACCUMULO-2832
>                 URL:
>             Project: Accumulo
>          Issue Type: Improvement
>          Components: shell
>    Affects Versions: 1.5.1, 1.6.0
>            Reporter: Josh Elser
>            Assignee: Jacob Meisler
>            Priority: Trivial
>              Labels: newbie, summit2014
>             Fix For: 1.5.2
>         Attachments: ACCUMULO-2832.patch
> The DefaultFormatter is the class that is used to convert an {{Entry<Key,Value>}}
to the line of text displayed in the shell. Most notably, it encodes non-printable ASCII data
as hex.
> For users who want to implement their own Formatter, they do not have access to the same
formatting methods that the DefaultFormatter uses because of the visibility modifiers on the
methods. These methods should be available for use by other classes. Letting classes extend
the DefaultFormatter would be even better.
> Additionally, in the DefaultFormatter, in the method {{public static String formatEntry(Entry<Key,Value>,
DateFormat)}}, a StringBuilder is used to reduce the number of intermediate String objects
that are created for each concatenation; however, the methods to get each component of the
Key will create a new {{Text}} object each time.
> Method invocations like
> {code}
> key.getRow()
> {code}
> Should be replaced with:
> {code}
> Text buffer = new Text();
> key.getRow(buffer);
> {code}
> Where a single {{Text}} object is reused for the entire method.

This message was sent by Atlassian JIRA

View raw message