[jira] [Resolved] (TEZ-4210) Use task counter information to compute keycount during hashtable loading
[ https://issues.apache.org/jira/browse/TEZ-4210?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Rajesh Balamohan resolved TEZ-4210. --- Resolution: Won't Fix > Use task counter information to compute keycount during hashtable loading > - > > Key: TEZ-4210 > URL: https://issues.apache.org/jira/browse/TEZ-4210 > Project: Apache Tez > Issue Type: Bug >Reporter: Rajesh Balamohan >Priority: Major > > There are cases when compiler misestimates key count and this results in a > number of hashtable resizes during runtime. > [https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/fast/VectorMapJoinFastHashTableLoader.java#L128] > In such cases, it would be good to get "approximate_input_records" (TEZ-4207) > counter from upstream to compute the key count more accurately at runtime. > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (TEZ-4210) Use task counter information to compute keycount during hashtable loading
Rajesh Balamohan created TEZ-4210: - Summary: Use task counter information to compute keycount during hashtable loading Key: TEZ-4210 URL: https://issues.apache.org/jira/browse/TEZ-4210 Project: Apache Tez Issue Type: Bug Reporter: Rajesh Balamohan There are cases when compiler misestimates key count and this results in a number of hashtable resizes during runtime. [https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/fast/VectorMapJoinFastHashTableLoader.java#L128] In such cases, it would be good to get "approximate_input_records" (TEZ-4207) counter from upstream to compute the key count more accurately at runtime. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Resolved] (TEZ-4209) Use task counter information to compute keycount during hashtable loading
[ https://issues.apache.org/jira/browse/TEZ-4209?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Rajesh Balamohan resolved TEZ-4209. --- Resolution: Won't Fix > Use task counter information to compute keycount during hashtable loading > - > > Key: TEZ-4209 > URL: https://issues.apache.org/jira/browse/TEZ-4209 > Project: Apache Tez > Issue Type: Bug >Reporter: Rajesh Balamohan >Priority: Major > > There are cases when compiler misestimates key count and this results in a > number of hashtable resizes during runtime. > [https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/fast/VectorMapJoinFastHashTableLoader.java#L128] > In such cases, it would be good to get "approximate_input_records" (TEZ-4207) > counter from upstream to compute the key count more accurately at runtime. > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (TEZ-4209) Use task counter information to compute keycount during hashtable loading
[ https://issues.apache.org/jira/browse/TEZ-4209?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17167635#comment-17167635 ] Rajesh Balamohan commented on TEZ-4209: --- Supposed to be created in Hive project. Ignore this ticket. > Use task counter information to compute keycount during hashtable loading > - > > Key: TEZ-4209 > URL: https://issues.apache.org/jira/browse/TEZ-4209 > Project: Apache Tez > Issue Type: Bug >Reporter: Rajesh Balamohan >Priority: Major > > There are cases when compiler misestimates key count and this results in a > number of hashtable resizes during runtime. > [https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/fast/VectorMapJoinFastHashTableLoader.java#L128] > In such cases, it would be good to get "approximate_input_records" (TEZ-4207) > counter from upstream to compute the key count more accurately at runtime. > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (TEZ-4209) Use task counter information to compute keycount during hashtable loading
Rajesh Balamohan created TEZ-4209: - Summary: Use task counter information to compute keycount during hashtable loading Key: TEZ-4209 URL: https://issues.apache.org/jira/browse/TEZ-4209 Project: Apache Tez Issue Type: Bug Reporter: Rajesh Balamohan There are cases when compiler misestimates key count and this results in a number of hashtable resizes during runtime. [https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/fast/VectorMapJoinFastHashTableLoader.java#L128] In such cases, it would be good to get "approximate_input_records" (TEZ-4207) counter from upstream to compute the key count more accurately at runtime. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (TEZ-4175) Consider removing YarnConfiguration where it's possible
[ https://issues.apache.org/jira/browse/TEZ-4175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17167318#comment-17167318 ] TezQA commented on TEZ-4175: | (/) *{color:green}+1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 12m 26s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} dupname {color} | {color:green} 0m 0s{color} | {color:green} No case conflicting files found. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 5 new or modified test files. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 41s{color} | {color:blue} Maven dependency ordering for branch {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 5m 22s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 2m 22s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 2m 14s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 2m 34s{color} | {color:green} master passed {color} | | {color:blue}0{color} | {color:blue} spotbugs {color} | {color:blue} 0m 35s{color} | {color:blue} Used deprecated FindBugs config; considering switching to SpotBugs. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 4m 52s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 10s{color} | {color:blue} Maven dependency ordering for patch {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 2m 15s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 36s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 36s{color} | {color:green} the patch passed {color} | | {color:orange}-0{color} | {color:orange} checkstyle {color} | {color:orange} 0m 15s{color} | {color:orange} tez-api: The patch generated 1 new + 125 unchanged - 3 fixed = 126 total (was 128) {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 12s{color} | {color:green} tez-mapreduce: The patch generated 0 new + 18 unchanged - 1 fixed = 18 total (was 19) {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 22s{color} | {color:green} tez-dag: The patch generated 0 new + 169 unchanged - 2 fixed = 169 total (was 171) {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 11s{color} | {color:green} tez-tests: The patch generated 0 new + 8 unchanged - 2 fixed = 8 total (was 10) {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 10s{color} | {color:green} The patch passed checkstyle in tez-history-parser {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 10s{color} | {color:green} The patch passed checkstyle in tez-aux-services {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 40s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 5m 6s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} unit {color} | {color:green} 2m 4s{color} | {color:green} tez-api in the patch passed. {color} | | {color:green}+1{color} | {color:green} unit {color} | {color:green} 1m 9s{color} | {color:green} tez-mapreduce in the patch passed. {color} | | {color:green}+1{color} | {color:green} unit {color} | {color:green} 4m 16s{color} | {color:green} tez-dag in the patch passed. {color} | | {color:green}+1{color} | {color:green} unit {color} | {color:green} 35m 17s{color} | {color:green} tez-tests in the patch passed. {color} | | {color:green}+1{color} | {color:green} unit {color} | {color:green} 2m 11s{color} | {color:green} tez-history-parser in the patch passed. {color} | | {color:green}+1{color} | {color:green} unit
[jira] [Updated] (TEZ-4175) Consider removing YarnConfiguration where it's possible
[ https://issues.apache.org/jira/browse/TEZ-4175?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] László Bodor updated TEZ-4175: -- Attachment: TEZ-4175.04.patch > Consider removing YarnConfiguration where it's possible > --- > > Key: TEZ-4175 > URL: https://issues.apache.org/jira/browse/TEZ-4175 > Project: Apache Tez > Issue Type: Improvement >Reporter: László Bodor >Assignee: László Bodor >Priority: Major > Attachments: TEZ-4175.01.patch, TEZ-4175.02.patch, TEZ-4175.03.patch, > TEZ-4175.03.patch, TEZ-4175.04.patch > > > A comment in DAGAppmaster made me think that we don't need to rely on > [YarnConfiguration|https://github.com/apache/hadoop/blob/branch-3.1.3/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java] > in all cases, what if it can be replace with base Configuration... > {code} > // TODO Does this really need to be a YarnConfiguration ? > Configuration conf = new Configuration(new YarnConfiguration()); > {code} > In hadoop 3.1.3 source, I cannot see that it adds e.g. yarn-site as a > resource: > {code} > public YarnConfiguration() { > super(); > } > > public YarnConfiguration(Configuration conf) { > super(conf); > if (! (conf instanceof YarnConfiguration)) { > this.reloadConfiguration(); > } > } > {code} > in current codebase: > {code} > grep -iRH "new YarnConfiguration" --include="*.java" > tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/ATSImportTool.java: > YarnConfiguration yarnConf = new YarnConfiguration(conf); > tez-plugins/tez-aux-services/src/main/java/org/apache/tez/auxservices/ShuffleHandler.java: > super.serviceInit(new YarnConfiguration(conf)); > tez-api/src/test/java/org/apache/tez/dag/api/client/rpc/TestDAGClient.java: > YarnConfiguration yarnConf = new YarnConfiguration(tezConf); > tez-api/src/test/java/org/apache/tez/dag/api/client/rpc/TestDAGClient.java: > YarnConfiguration yarnConf = new YarnConfiguration(tezConf); > tez-api/src/test/java/org/apache/tez/dag/api/client/rpc/TestDAGClient.java: > YarnConfiguration yarnConf = new YarnConfiguration(tezConf); > tez-api/src/test/java/org/apache/tez/client/TestTezClient.java: > tezClient.init(new TezConfiguration(false), new YarnConfiguration()); > tez-api/src/main/java/org/apache/tez/client/TezClient.java: > amConfig.setYarnConfiguration(new > YarnConfiguration(amConfig.getTezConfiguration())); > tez-api/src/main/java/org/apache/tez/client/TezClient.java: > amConfig.setYarnConfiguration(new > YarnConfiguration(amConfig.getTezConfiguration())); > tez-api/src/main/java/org/apache/tez/client/TezClient.java:return > getDAGClient(appId, tezConf, new YarnConfiguration(tezConf), frameworkClient, > ugi); > tez-tests/src/test/java/org/apache/tez/test/FaultToleranceTestRunner.java: > tezConf = new TezConfiguration(new YarnConfiguration()); > tez-tests/src/test/java/org/apache/tez/test/FaultToleranceTestRunner.java: >tezConf = new TezConfiguration(new YarnConfiguration(this.conf)); > tez-mapreduce/src/test/java/org/apache/tez/mapreduce/hadoop/TestMRInputHelpers.java: > Configuration testConf = new YarnConfiguration( > tez-mapreduce/src/main/java/org/apache/tez/mapreduce/client/YARNRunner.java: > this(conf, new ResourceMgrDelegate(new YarnConfiguration(conf))); > tez-dag/src/test/java/org/apache/tez/dag/app/rm/TestContainerReuse.java: > Configuration conf = new Configuration(new YarnConfiguration()); > tez-dag/src/test/java/org/apache/tez/dag/app/rm/TestContainerReuse.java: > Configuration conf = new Configuration(new YarnConfiguration()); > tez-dag/src/test/java/org/apache/tez/dag/app/rm/TestContainerReuse.java: > Configuration tezConf = new Configuration(new YarnConfiguration()); > tez-dag/src/test/java/org/apache/tez/dag/app/rm/TestContainerReuse.java: > Configuration tezConf = new Configuration(new YarnConfiguration()); > tez-dag/src/test/java/org/apache/tez/dag/app/rm/TestContainerReuse.java: > Configuration tezConf = new Configuration(new YarnConfiguration()); > tez-dag/src/test/java/org/apache/tez/dag/app/rm/TestContainerReuse.java: > Configuration tezConf = new Configuration(new YarnConfiguration()); > tez-dag/src/test/java/org/apache/tez/dag/app/rm/TestContainerReuse.java: > Configuration tezConf = new Configuration(new YarnConfiguration()); > tez-dag/src/test/java/org/apache/tez/dag/app/rm/TestContainerReuse.java: > Configuration tezConf = new Configuration(new YarnConfiguration()); > tez-dag/src/test/java/org/apache/tez/dag/app/rm/TestContainerReuse.java: > Configuration tezConf = new Configuration(new YarnConfiguration()); > tez-dag/src/test/java/org/apache/tez/dag/app/rm/TestContainerReuse.java: >
[jira] [Commented] (TEZ-4207) Provide approximate number of input records to be processed in UnorderedKVInput
[ https://issues.apache.org/jira/browse/TEZ-4207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17166999#comment-17166999 ] TezQA commented on TEZ-4207: | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 30s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} dupname {color} | {color:green} 0m 0s{color} | {color:green} No case conflicting files found. {color} | | {color:blue}0{color} | {color:blue} prototool {color} | {color:blue} 0m 0s{color} | {color:blue} prototool was not available. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 1 new or modified test files. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 26s{color} | {color:blue} Maven dependency ordering for branch {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 16s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 56s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 54s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 4s{color} | {color:green} master passed {color} | | {color:blue}0{color} | {color:blue} spotbugs {color} | {color:blue} 0m 55s{color} | {color:blue} Used deprecated FindBugs config; considering switching to SpotBugs. {color} | | {color:red}-1{color} | {color:red} findbugs {color} | {color:red} 0m 52s{color} | {color:red} tez-runtime-library in master has 1 extant findbugs warnings. {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 9s{color} | {color:blue} Maven dependency ordering for patch {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 34s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 32s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} cc {color} | {color:green} 0m 32s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 32s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 27s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 38s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 41s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} unit {color} | {color:green} 1m 45s{color} | {color:green} tez-api in the patch passed. {color} | | {color:green}+1{color} | {color:green} unit {color} | {color:green} 4m 44s{color} | {color:green} tez-runtime-library in the patch passed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 17s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 21m 48s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Docker | ClientAPI=1.40 ServerAPI=1.40 base: https://builds.apache.org/job/PreCommit-TEZ-Build/502/artifact/out/Dockerfile | | JIRA Issue | TEZ-4207 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/13008648/TEZ-4207.1.patch | | Optional Tests | dupname asflicense javac javadoc unit spotbugs findbugs checkstyle compile cc prototool | | uname | Linux e13884a52f6b 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | personality/tez.sh | | git revision | master / 2d7c60849 | | Default Java | Private Build-1.8.0_252-8u252-b09-1~18.04-b09 | | findbugs | https://builds.apache.org/job/PreCommit-TEZ-Build/502/artifact/out/branch-findbugs-tez-runtime-library-warnings.html | | Test Results | https://builds.apache.org/job/PreCommit-TEZ-Build/502/testReport/ | |
[jira] [Updated] (TEZ-4207) Provide approximate number of input records to be processed in UnorderedKVInput
[ https://issues.apache.org/jira/browse/TEZ-4207?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Rajesh Balamohan updated TEZ-4207: -- Attachment: TEZ-4207.1.patch > Provide approximate number of input records to be processed in > UnorderedKVInput > --- > > Key: TEZ-4207 > URL: https://issues.apache.org/jira/browse/TEZ-4207 > Project: Apache Tez > Issue Type: Bug >Reporter: Rajesh Balamohan >Priority: Major > Attachments: TEZ-4207.1.patch, TEZ-4207.wip.patch > > > There are cases when broadcasted data is loaded into hashtable in upstream > applications (e.g Hive). Apps tends to predict the number of entries in the > hashtable diligently, but there are cases where these estimates can be very > complicated at compile time. > > Tez can help in such cases, by providing "approximate number of input records > counter", to be processed in UnorderedKVInput. This is to avoid expensive > rehash when hashtable sizes are not estimated correctly. It would be good to > start with broadcast first and then to move on to unordered partitioned case > later. > > This would help in predicting the number of entries at runtime & can get > better estimates for hashtable. -- This message was sent by Atlassian Jira (v8.3.4#803005)