You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tez.apache.org by "Siddharth Seth (JIRA)" <ji...@apache.org> on 2014/08/19 12:41:19 UTC

[jira] [Updated] (TEZ-1449) Change user payloads to work with a byte buffer

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

Siddharth Seth updated TEZ-1449:
--------------------------------

    Attachment: TEZ-1449.1.txt

WIP patch. Has most of the events changed to ByteBuffer. VertexManagerEvent, however uses EventPayload, which I'd like to use for all Events, (without additional reference  memory overheads).
EventPayload has the advantage of letting the events remain the same despite being backed by a ByteString/ByteBuffer. However accessing getPayload() will crate a new copy. It's being stored for now, but it's likely better to create on the fly.

Just using ByteBuffer on the Events, would require each of the events to be subclassed - to efficiently use ByteStrings. That'll also require some playing around with the core payload to store an Object instead of a ByteBuffer to reduce a single additional reference.

> Change user payloads to work with a byte buffer
> -----------------------------------------------
>
>                 Key: TEZ-1449
>                 URL: https://issues.apache.org/jira/browse/TEZ-1449
>             Project: Apache Tez
>          Issue Type: Improvement
>            Reporter: Siddharth Seth
>            Assignee: Siddharth Seth
>            Priority: Blocker
>         Attachments: TEZ-1449.1.wip.txt
>
>
> From discussions with [~bikassaha] and [~gopalv] - we should move the events to use bytebuffers as well.
> - This is where excessive copying can be avoided once we move to PB based RPC (or to other libraries which rely on nio)
> - Future proofing the API



--
This message was sent by Atlassian JIRA
(v6.2#6252)