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
[FLINK-9027] [web] Clean up web UI resources by installing shut down hook #5740
Conversation
659479f
to
791473f
Compare
The TaskManagers have one (or more) root directories for all temp files. They only have one shutdown hook that removes them at the very end. No separate hooks in the separate components. Should we try and have the same in the JobManager? Aside form that, I think previously users liked that the jar upload directory was not cleaned by default when they explicitly configured it. Does this change preserve the behavior? |
I agree that having a single shut down hook for cleaning up the temp directory is the best solution. I think that the The upload directory is a good point. With my changes it will always be deleted. If this is not the intended behaviour, then I will adapt it accordingly. In order to not widen the scope of this task too much I would suggest the following:
What do you think @StephanEwen. |
Okay, seems like the TaskManager design diverged from the "single temp dir" assumption we had originally. How about creating the upload dir inside the web temp dir by default (then it is deleted), but not delete it explicitly (in which case it stays if users explicitly configure it to a different location)? |
791473f
to
c9c69e9
Compare
…hook The ClusterEntrypoint creates temp directory for the RestServerEndpoint. This directory contains the web ui files and if not differently configured the web upload directory. In case of a hard shut down, as it happens with bin/stop-cluster.sh the ClusterEntrypoint will clean up this directory by installing a shut down hook. All future directory cleanup tasks should go into this method ClusterEntrypoin#cleanupDirectories.
c9c69e9
to
a4ccfc3
Compare
Sounds like a good idea. |
Thanks for the feedback @StephanEwen. Merging this PR. |
…hook The ClusterEntrypoint creates temp directory for the RestServerEndpoint. This directory contains the web ui files and if not differently configured the web upload directory. In case of a hard shut down, as it happens with bin/stop-cluster.sh the ClusterEntrypoint will clean up this directory by installing a shut down hook. All future directory cleanup tasks should go into this method ClusterEntrypoin#cleanupDirectories. This closes apache#5740.
…hook The ClusterEntrypoint creates temp directory for the RestServerEndpoint. This directory contains the web ui files and if not differently configured the web upload directory. In case of a hard shut down, as it happens with bin/stop-cluster.sh the ClusterEntrypoint will clean up this directory by installing a shut down hook. All future directory cleanup tasks should go into this method ClusterEntrypoin#cleanupDirectories. This closes #5740.
…hook The ClusterEntrypoint creates temp directory for the RestServerEndpoint. This directory contains the web ui files and if not differently configured the web upload directory. In case of a hard shut down, as it happens with bin/stop-cluster.sh the ClusterEntrypoint will clean up this directory by installing a shut down hook. All future directory cleanup tasks should go into this method ClusterEntrypoin#cleanupDirectories. This closes apache#5740.
What is the purpose of the change
The RestServerEndpoint creates temp directories to upload files and store the web ui.
In case of a hard shut down, as it happens with bin/stop-cluster.sh we should still
delete these files. We do this by installing a shut down hook.
Verifying this change
Does this pull request potentially affect one of the following parts:
@Public(Evolving)
: (no)Documentation