HADOOP-12352. Delay in checkpointing Trash can leave trash for 2 intervals before deleting. Contributed by Casey Brotherton.
This commit is contained in:
parent
57c7ae1aff
commit
af78767870
@ -796,6 +796,9 @@ Release 2.8.0 - UNRELEASED
|
||||
|
||||
BUG FIXES
|
||||
|
||||
HADOOP-12352. Delay in checkpointing Trash can leave trash for 2 intervals
|
||||
before deleting (Casey Brotherton via harsh)
|
||||
|
||||
HADOOP-11802: DomainSocketWatcher thread terminates sometimes after there
|
||||
is an I/O error during requestShortCircuitShm (cmccabe)
|
||||
|
||||
|
@ -161,12 +161,19 @@ public boolean moveToTrash(Path path) throws IOException {
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public void createCheckpoint() throws IOException {
|
||||
createCheckpoint(new Date());
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public void createCheckpoint(Date date) throws IOException {
|
||||
|
||||
if (!fs.exists(current)) // no trash, no checkpoint
|
||||
return;
|
||||
|
||||
Path checkpointBase;
|
||||
synchronized (CHECKPOINT) {
|
||||
checkpointBase = new Path(trash, CHECKPOINT.format(new Date()));
|
||||
checkpointBase = new Path(trash, CHECKPOINT.format(date));
|
||||
|
||||
}
|
||||
Path checkpoint = checkpointBase;
|
||||
|
||||
@ -287,7 +294,7 @@ public void run() {
|
||||
TrashPolicyDefault trash = new TrashPolicyDefault(
|
||||
fs, home.getPath(), conf);
|
||||
trash.deleteCheckpoint();
|
||||
trash.createCheckpoint();
|
||||
trash.createCheckpoint(new Date(now));
|
||||
} catch (IOException e) {
|
||||
LOG.warn("Trash caught: "+e+". Skipping "+home.getPath()+".");
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user