forked from Qortal/qortal
Added retry mechanism to relay file deletions, just in case it fails on the first try.
A longer term solution to this hypothetical problem is to store relays in RAM or a temp folder only. Or maybe add an indicator file to instruct the cleanup manager to delete it. But this will require more development. 10 deletion attempts (each 1 second apart) should be enough for now.
This commit is contained in:
parent
8a42dce763
commit
f129e16878
@ -206,7 +206,18 @@ public class ArbitraryDataFileManager {
|
|||||||
// File didn't exist locally before the request, and it's a forwarding request, so delete it
|
// File didn't exist locally before the request, and it's a forwarding request, so delete it
|
||||||
LOGGER.debug("Deleting file {} because it was needed for forwarding only", Base58.encode(hash));
|
LOGGER.debug("Deleting file {} because it was needed for forwarding only", Base58.encode(hash));
|
||||||
ArbitraryDataFile dataFile = arbitraryDataFileMessage.getArbitraryDataFile();
|
ArbitraryDataFile dataFile = arbitraryDataFileMessage.getArbitraryDataFile();
|
||||||
dataFile.delete();
|
|
||||||
|
// Keep trying to delete the data until it is deleted, or we reach 10 attempts
|
||||||
|
for (int i=0; i<10; i++) {
|
||||||
|
if (dataFile.delete()) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
Thread.sleep(1000L);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
// Fall through to exit method
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user