Murtadha Hubail has submitted this change and it was merged.

Change subject: [ASTERIXDB-2072][STO] Do Not Delete Checkpoints on 
ClosedByInterruptException
......................................................................


[ASTERIXDB-2072][STO] Do Not Delete Checkpoints on ClosedByInterruptException

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
- On ClosedByInterruptException, don't delete checkpoints since
  they are not corrupted.

Change-Id: I7581eb15558dd656d9e2de1469845371dcc13e4b
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1975
Sonar-Qube: Jenkins <[email protected]>
Integration-Tests: Jenkins <[email protected]>
Reviewed-by: Michael Blow <[email protected]>
Tested-by: Jenkins <[email protected]>
---
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/AbstractCheckpointManager.java
1 file changed, 5 insertions(+), 0 deletions(-)

Approvals:
  Jenkins: Verified; No violations found; Verified
  Michael Blow: Looks good to me, approved



diff --git 
a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/AbstractCheckpointManager.java
 
b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/AbstractCheckpointManager.java
index 24d316b..2a075f1 100644
--- 
a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/AbstractCheckpointManager.java
+++ 
b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/AbstractCheckpointManager.java
@@ -23,6 +23,7 @@
 import java.io.FilenameFilter;
 import java.io.IOException;
 import java.io.OutputStream;
+import java.nio.channels.ClosedByInterruptException;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
@@ -91,6 +92,10 @@
                 LOGGER.log(Level.WARNING, "Reading checkpoint file: " + 
file.getAbsolutePath());
                 String jsonString = new 
String(Files.readAllBytes(Paths.get(file.getAbsolutePath())));
                 checkpointObjectList.add(Checkpoint.fromJson(jsonString));
+            } catch (ClosedByInterruptException e) {
+                Thread.currentThread().interrupt();
+                LOGGER.log(Level.WARNING, "Interrupted while reading 
checkpoint file: " + file.getAbsolutePath(), e);
+                throw new ACIDException(e);
             } catch (IOException e) {
                 // ignore corrupted checkpoint file
                 LOGGER.log(Level.WARNING, "Failed to read checkpoint file: " + 
file.getAbsolutePath(), e);

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1975
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I7581eb15558dd656d9e2de1469845371dcc13e4b
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <[email protected]>
Gerrit-Reviewer: Jenkins <[email protected]>
Gerrit-Reviewer: Michael Blow <[email protected]>
Gerrit-Reviewer: Murtadha Hubail <[email protected]>

Reply via email to