[
https://issues.apache.org/jira/browse/HIVE-11472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14697079#comment-14697079
]
Hive QA commented on HIVE-11472:
--------------------------------
{color:green}Overall{color}: +1 all checks pass
Here are the results of testing the latest attachment:
https://issues.apache.org/jira/secure/attachment/12750476/HIVE-11472.2.patch
{color:green}SUCCESS:{color} +1 9358 tests passed
Test results:
http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/4965/testReport
Console output:
http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/4965/console
Test logs:
http://ec2-174-129-184-35.compute-1.amazonaws.com/logs/PreCommit-HIVE-TRUNK-Build-4965/
Messages:
{noformat}
Executing org.apache.hive.ptest.execution.PrepPhase
Executing org.apache.hive.ptest.execution.ExecutionPhase
Executing org.apache.hive.ptest.execution.ReportingPhase
{noformat}
This message is automatically generated.
ATTACHMENT ID: 12750476 - PreCommit-HIVE-TRUNK-Build
> ORC StringDirectTreeReader is thrashing the GC due to byte[] allocation per
> row
> -------------------------------------------------------------------------------
>
> Key: HIVE-11472
> URL: https://issues.apache.org/jira/browse/HIVE-11472
> Project: Hive
> Issue Type: Bug
> Affects Versions: 1.3.0, 2.0.0
> Reporter: Gopal V
> Assignee: Gopal V
> Priority: Minor
> Labels: Performance
> Fix For: 1.3.0, 2.0.0
>
> Attachments: HIVE-11472.1.patch, HIVE-11472.2.patch
>
>
> For every row x column
> {code}
> int len = (int) lengths.next();
> int offset = 0;
> byte[] bytes = new byte[len];
> while (len > 0) {
> int written = stream.read(bytes, offset, len);
> if (written < 0) {
> throw new EOFException("Can't finish byte read from " + stream);
> }
> {code}
> https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/io/orc/TreeReaderFactory.java#L1552
> This is not a big issue until it misses the GC TLAB.
> From hadoop-2.6.x (HADOOP-10855) you can read into a Text directly.
> Possibly can create a different TreeReader from the factory for 2.6.x & use a
> DataInputStream per stream and prevent an allocation in the inner loop.
> {code}
> int len = (int) lengths.next();
> result.readWithKnownLength(datastream, len);
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)