Skip to content

TEZ-4518: Added capability to limit number of spill files being generated - #312

Open
mudit1289 wants to merge 1 commit into
apache:masterfrom
mudit1289:TEZ-4518
Open

TEZ-4518: Added capability to limit number of spill files being generated#312
mudit1289 wants to merge 1 commit into
apache:masterfrom
mudit1289:TEZ-4518

Conversation

@mudit1289

@mudit1289mudit1289 commented Oct 8, 2023

Copy link
Copy Markdown

ASF Jira: https://issues.apache.org/jira/browse/TEZ-4518

We have been facing some issues where many of our cluster node disks go full because of some rogue applications creating a lot of spill data

We wanted to fail the app if more than a threshold amount of spill files are written

In this PR, we are trying to introduce a config to limit the count of sort spill files being written by a container

@tez-yetus

This comment was marked as outdated.

@tez-yetus

This comment was marked as outdated.

@tez-yetus

This comment was marked as outdated.

@tez-yetus

This comment was marked as outdated.

@mudit1289

Copy link
Copy Markdown
Author

@abstractdog@ayushtkn can you please review this

@tez-yetus

This comment was marked as outdated.

@tez-yetus

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 22sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚@author0m 0sThe patch does not contain any @author tags.
+1 💚test4tests0m 0sThe patch appears to include 2 new or modified test files.
_ master Compile Tests _
+1 💚mvninstall18m 7smaster passed
+1 💚compile0m 39smaster passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu122.04
+1 💚compile0m 38smaster passed with JDK Private Build-1.8.0_382-8u382-ga-1~22.04.1-b05
+1 💚checkstyle1m 29smaster passed
+1 💚javadoc0m 49smaster passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu122.04
+1 💚javadoc0m 33smaster passed with JDK Private Build-1.8.0_382-8u382-ga-1~22.04.1-b05
+0 🆗spotbugs1m 42sUsed deprecated FindBugs config; considering switching to SpotBugs.
+1 💚findbugs1m 40smaster passed
_ Patch Compile Tests _
+1 💚mvninstall0m 22sthe patch passed
+1 💚compile0m 24sthe patch passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu122.04
+1 💚javac0m 24sthe patch passed
+1 💚compile0m 22sthe patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~22.04.1-b05
+1 💚javac0m 22sthe patch passed
+1 💚checkstyle0m 23stez-runtime-library: The patch generated 0 new + 215 unchanged - 1 fixed = 215 total (was 216)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚javadoc0m 21sthe patch passed with JDK Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu122.04
+1 💚javadoc0m 19sthe patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~22.04.1-b05
+1 💚findbugs1m 2sthe patch passed
_ Other Tests _
+1 💚unit6m 8stez-runtime-library in the patch passed.
+1 💚asflicense0m 18sThe patch does not generate ASF License warnings.
35m 13s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/tez-multibranch/job/PR-312/6/artifact/out/Dockerfile
GITHUB PR#312
JIRA IssueTEZ-4518
Optional Testsdupname asflicense javac javadoc unit spotbugs findbugs checkstyle compile
unameLinux 876b9f8da1fc 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitypersonality/tez.sh
git revisionmaster / 5bba1ff
Default JavaPrivate Build-1.8.0_382-8u382-ga-1~22.04.1-b05
Multi-JDK versions/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.20.1+1-post-Ubuntu-0ubuntu122.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_382-8u382-ga-1~22.04.1-b05
Test Resultshttps://ci-hadoop.apache.org/job/tez-multibranch/job/PR-312/6/testReport/
Max. process+thread count1100 (vs. ulimit of 5500)
modulesC: tez-runtime-library U: tez-runtime-library
Console outputhttps://ci-hadoop.apache.org/job/tez-multibranch/job/PR-312/6/console
versionsgit=2.34.1 maven=3.6.3 findbugs=3.0.1
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

* the max limit on spill files being generated by the job.
* If limit is reached, this function throws an IOException
*/
private void incrementNumSpills() throws IOException {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shouldn't this duplicated logic go to ExternalSorter instead of all children (PipelinedSorter, DefaultSorter)?

Sign up for freeto 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.

3 participants

@mudit1289@tez-yetus@abstractdog