HDDS-14652. Handle NoSuchFileException during the bootstrap tarball transfer.#9784
Draft
sadanand48 wants to merge 4 commits intoapache:masterfrom
Draft
HDDS-14652. Handle NoSuchFileException during the bootstrap tarball transfer.#9784sadanand48 wants to merge 4 commits intoapache:masterfrom
sadanand48 wants to merge 4 commits intoapache:masterfrom
Conversation
added 2 commits
February 18, 2026 14:09
added 2 commits
February 18, 2026 17:26
Contributor
Author
|
@SaketaChalamchala Could you please take a look? |
| Files.createLink(link.toPath(), file.toPath()); | ||
| try { | ||
| Files.createLink(link.toPath(), file.toPath()); | ||
| } catch (NoSuchFileException noSuchFileException) { |
Contributor
There was a problem hiding this comment.
Thanks for the patch @sadanand48. Do we want to handle the NoSuchFileException in the framework class? What if this function is called by mutiple processed in the future.
I think we should throw the IOException if the hardlink creation fails and let the caller handle the exception how it wants.
| inode = getINode(file); | ||
| FileTime mTime = Files.getLastModifiedTime(file); | ||
| return String.format("%s-%s", inode, mTime.toMillis()); | ||
| } catch (NoSuchFileException e) { |
Contributor
There was a problem hiding this comment.
Same comment as above.
I think instead of handling the error in the util function we should let the caller, in our case the inode based checkpoint servlet handle the exception.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes were proposed in this pull request?
While transferring the contents from SST backup dir, it can so happen that the DAG Pruner can delete the non-leaf nodes (SST files that are present on the disk) but not remove them from the compaction log.
We iterate the compaction log to get the list of backup sst files to transfer, this can lead to a situation where we are trying to transfer a file cleaned up by the pruner which will throw NoSuchFileException. The bootstrap will fail and retrigger only to be stuck again in a loop.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-14652
How was this patch tested?
will add