tez-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Saikat (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (TEZ-2574) Make a better Metadata Value split choice in Pipeline sort
Date Sat, 04 Jul 2015 23:58:04 GMT

    [ https://issues.apache.org/jira/browse/TEZ-2574?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14614095#comment-14614095
] 

Saikat edited comment on TEZ-2574 at 7/4/15 11:57 PM:
------------------------------------------------------

added two debug log(TBD need to remove in final patch), since not able to reproduce following
assertion in local setup.

java.lang.AssertionError: null
	at org.apache.tez.runtime.library.common.sort.impl.IFile$Writer.append(IFile.java:374)
	at org.apache.tez.runtime.library.common.sort.impl.PipelinedSorter.spill(PipelinedSorter.java:457)
	at org.apache.tez.runtime.library.common.sort.impl.PipelinedSorter.flush(PipelinedSorter.java:522)
	at org.apache.tez.runtime.library.common.sort.impl.TestPipelinedSorter.writeData2(TestPipelinedSorter.java:318)
	at org.apache.tez.runtime.library.common.sort.impl.TestPipelinedSorter.basicTest2(TestPipelinedSorter.java:301)
	at org.apache.tez.runtime.library.common.sort.impl.TestPipelinedSorter.testWithVariableKVLength(TestPipelinedSorter.java:207)


was (Author: saikatr):
added two debug log(TBD need to remove in final patch), since not able to reproduce assertion
in local setup.

> Make a better Metadata Value split choice in Pipeline sort
> ----------------------------------------------------------
>
>                 Key: TEZ-2574
>                 URL: https://issues.apache.org/jira/browse/TEZ-2574
>             Project: Apache Tez
>          Issue Type: Improvement
>            Reporter: Saikat
>            Assignee: Saikat
>         Attachments: TEZ-2574.1.patch, TEZ-2574.2.patch, TEZ-2574.patch
>
>
> In the current implementation of pipeline sort, when a new sort span object is created
with a hard coded value of 1M items and 16 bytes per item.
> According to the present code logic, 
>       int metasize = METASIZE*maxItems;
>       int dataSize = maxItems * perItem;
>       if(capacity < (metasize+dataSize)) {
>         // try to allocate less meta space, because we have sample data
>         metasize = METASIZE*(capacity/(perItem+METASIZE));
>       }
> if capacity is less than 32mb, the buffer will be halved into meta and value buffers,
which is not efficient.
> We need a more generic split, based on the KV pair size written to the buffer.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message