Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Fixed
-
None
-
None
-
Reviewed
Description
In HStore.removeCompactedFiles(), we only clear archived files from StoreFileManager's list of compactedfiles if all files were archived successfully. If we encounter an error archiving any of the files, then any files which were already archived will remain in the list of compactedfiles.
Even worse, this means that all subsequent attempts to archive the list of compacted files will fail (as the previously successfully archived files still in the list will now throw FileNotFoundException), and the list of compactedfiles will never be cleared from that point on.
Finally, when the region closes, we will again throw an exception out of HStore.removeCompactedFiles(), in this case causing a regionserver abort.