Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Analyze & Fix Errors due to tez config changes #21

Merged
merged 1 commit into from
Jul 25, 2024
Merged

Conversation

tanishq-chugh
Copy link
Collaborator

groupby3_map_multi_distinct Analysis:

We had increased the tez container size from 128 to 256mb to address OOM errors. Now this qtest has a property - set hive.map.aggr=true; . If this property is set to true, a background check runs first named - checkMapSideAggregation(), to verify that there is enough space available to store the hash table that would be required in order to do this aggregation. The allotted space for this aggregation is half of container size and with half of 128mb, it was not enough to store this generated table, but with half of 256mb, now it is sufficient to store this table and hence map side aggregation happens. With this aggregation, the hashes for only these 307 distinct rows out of 500 rows are generated and stored and duplicate rows are mapped to this hashes. Thus, the change in statistics which is expected.

groupBy_3_map_multi_distinct_proof_128_vs_256

mm_all Analysis:
We had increased the tez container size from 128 to 256mb to address OOM errors. Now, total memory allocated to LLAP daemon is 4096mb and with each container size increased to 256 mb, available slots = 4096/256 = 16
With increased container size, split size increases and thus each task have higher resources. Due to this, each task computes larger number of rows and corrresponds to one hive side file each. The amount of data processed remains the same, just the amount of data processed by each task increases. Thus only 16 hive files are generated.

mm_all_2 mm_all_3

mm_dp Analysis:
The error in this test case arised only because of difference in the random numbers generated. The random number generation not only depends on the seed value passed but also on the available task resources. As above, the task resources have increased and each task processes higher number of rows, generating higher number of random numbers, the random numbers generated are different bw container sizes of 128 and 256.

@tanishq-chugh tanishq-chugh merged commit 36f8f07 into jdk-17 Jul 25, 2024
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant