hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vrushali C (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (YARN-4025) Deal with byte representations of Longs in writer code
Date Sat, 08 Aug 2015 07:51:45 GMT

     [ https://issues.apache.org/jira/browse/YARN-4025?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Vrushali C updated YARN-4025:
    Attachment: YARN-4025-YARN-2928.001.patch

Attaching patch v001.

I have updated the HBaseTimelineWriter to avoid unnecessary conversions from byte[] to Strings.
To allow that, I have added APIs that accept byte[] in ColumnHelper#getColumnQualifier and
 EntityColumnPrefix.#store .

I also added a EntityColumnPrefix#readResultsHavingCompoundColumnQualifiers and ColumnHelper#readResultsHavingCompoundColumnQualifiers
to help read results that have compound columns.

The unit test has an example of how to read the Timeline Event's compound column qualifier.

I have also updated the unit test to remove an internal call to another unit test, I moved
that second unit to be a @ Test unit test itself.

Last but not the least, I have updated the Separators for values/compound qualifiers to be
"=" instead of "?" to help easier implementation of reader code since splitting on "?" is
not easy due to "?" being a wildcard. 

Would appreciate your review. 

> Deal with byte representations of Longs in writer code
> ------------------------------------------------------
>                 Key: YARN-4025
>                 URL: https://issues.apache.org/jira/browse/YARN-4025
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: timelineserver
>            Reporter: Vrushali C
>            Assignee: Vrushali C
>         Attachments: YARN-4025-YARN-2928.001.patch
> Timestamps are being stored as Longs in hbase by the HBaseTimelineWriterImpl code. There
seem to be some places in the code where there are conversions between Long to byte[] to String
for easier argument passing between function calls. Then these values end up being converted
back to byte[] while storing in hbase. 
> It would be better to pass around byte[] or the Longs themselves  as applicable. 
> This may result in some api changes (store function) as well in adding a few more function
calls like getColumnQualifier which accepts a pre-encoded byte array. It will be in addition
to the existing api which accepts a String and the ColumnHelper to return a byte[] column
name instead of a String one. 
> Filing jira to track these changes.

This message was sent by Atlassian JIRA

View raw message