[
https://issues.apache.org/jira/browse/TEZ-373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13965623#comment-13965623
]
Bikas Saha commented on TEZ-373:
--------------------------------
USerPayload should have a PB object for serde so that we dont have to do this.
{code}- out.write(userPayload);
+ byte[] payload = userPayload.getBytes();
+ out.writeInt(payload.length);{code}
Once the UserPayload object has been deserialized into the internal code, we
should be passing it around directly instead of the byte[] that we passed
around initially. We would expect this method to now expect a UserPayload
object instead of byte[], right? Same for other places in non-user facing code
where we are currently passing around raw byte[]s. This is the basic premise of
this jira - to encapsulate all internal uses of user payload byte[] into a new
UserPayload object.
{code} EdgeManagerContextImpl(String srcVertexName, String destVertexName,
@Nullable byte[] userPayload) {
@@ -66,12 +67,12 @@ public class Edge {
checkNotNull(destVertexName, "destVertexName is null");
this.srcVertexName = srcVertexName;
this.destVertexName = destVertexName;
- this.userPayload = userPayload;
+ this.userPayload = new UserPayload(userPayload);{code}
Sorry for the late review. Was caught up with the release.
> Create UserPayload class
> ------------------------
>
> Key: TEZ-373
> URL: https://issues.apache.org/jira/browse/TEZ-373
> Project: Apache Tez
> Issue Type: Sub-task
> Reporter: Bikas Saha
> Assignee: Tsuyoshi OZAWA
> Labels: newbie
> Attachments: TEZ-373.1.patch, TEZ-373.2.patch, TEZ-373.3.patch,
> TEZ-373.4.patch, TEZ-373.5.patch
>
>
> Currently Tez allows user payload to be passed as byte[]. Within Tez code is
> hard to understand where byte[] is userPayload and where is not user payload.
> If we create a TezUserPayload class that contains byte[] as a member then its
> much easier to search and identify in code.
--
This message was sent by Atlassian JIRA
(v6.2#6252)