This is an automated email from the ASF dual-hosted git repository.
peeyush pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git
The following commit(s) were added to refs/heads/master by this push:
new 51c0302add [ASTERIXDB-3426][TX] Error during recovery for atomic
statements
51c0302add is described below
commit 51c0302addd25b6f61018cdf5f8b066f0923c639
Author: Peeyush Gupta <[email protected]>
AuthorDate: Tue Jun 11 08:48:06 2024 -0700
[ASTERIXDB-3426][TX] Error during recovery for atomic statements
- user model changes: no
- storage format changes: no
- interface changes: yes
Change-Id: I2a92e07b230f6a1d4aca2cacff8a568c29615238
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/18362
Integration-Tests: Jenkins <[email protected]>
Tested-by: Jenkins <[email protected]>
Reviewed-by: Peeyush Gupta <[email protected]>
Reviewed-by: Murtadha Hubail <[email protected]>
---
.../org/apache/asterix/app/message/AtomicJobRollbackMessage.java | 2 +-
.../main/java/org/apache/asterix/app/nc/IndexCheckpointManager.java | 6 +++---
.../org/apache/asterix/common/storage/IIndexCheckpointManager.java | 2 +-
.../service/transaction/AtomicNoWALTransactionContext.java | 2 +-
4 files changed, 6 insertions(+), 6 deletions(-)
diff --git
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/AtomicJobRollbackMessage.java
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/AtomicJobRollbackMessage.java
index e611d8fec6..2110bc8e89 100644
---
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/AtomicJobRollbackMessage.java
+++
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/AtomicJobRollbackMessage.java
@@ -71,7 +71,7 @@ public class AtomicJobRollbackMessage implements
INcAddressedMessage {
if (checkpoint.getLastComponentId() == v.getMaxId()) {
LOGGER.info("Removing checkpoint for resource {} for
component id {}", k,
checkpoint.getLastComponentId());
- checkpointManager.deleteLatest(v.getMaxId(), 1);
+ checkpointManager.deleteLatest(v.getMaxId());
}
}
} catch (Exception e) {
diff --git
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/IndexCheckpointManager.java
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/IndexCheckpointManager.java
index 77a4f190a9..4ca9f7cc53 100644
---
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/IndexCheckpointManager.java
+++
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/IndexCheckpointManager.java
@@ -231,18 +231,18 @@ public class IndexCheckpointManager implements
IIndexCheckpointManager {
}
@Override
- public void deleteLatest(long latestId, int historyToDelete) {
+ public void deleteLatest(long latestId) {
try {
final Collection<FileReference> checkpointFiles =
ioManager.list(indexPath, CHECKPOINT_FILE_FILTER);
if (!checkpointFiles.isEmpty()) {
for (FileReference checkpointFile : checkpointFiles) {
- if (getCheckpointIdFromFileName(checkpointFile) >
(latestId - historyToDelete)) {
+ if (read(checkpointFile).getLastComponentId() == latestId)
{
ioManager.delete(checkpointFile);
}
}
}
} catch (Exception e) {
- LOGGER.warn(() -> "Couldn't delete history checkpoints at " +
indexPath, e);
+ LOGGER.warn(() -> "Couldn't delete latest checkpoint file at " +
indexPath, e);
}
}
diff --git
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/storage/IIndexCheckpointManager.java
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/storage/IIndexCheckpointManager.java
index 75557ec111..2cf613bba9 100644
---
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/storage/IIndexCheckpointManager.java
+++
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/storage/IIndexCheckpointManager.java
@@ -102,7 +102,7 @@ public interface IIndexCheckpointManager {
*/
void delete();
- void deleteLatest(long latestId, int historyToDelete);
+ void deleteLatest(long latestId);
/**
* Gets the index last valid component sequence.
diff --git
a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/transaction/AtomicNoWALTransactionContext.java
b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/transaction/AtomicNoWALTransactionContext.java
index 151d9ef01d..a743bb12bd 100644
---
a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/transaction/AtomicNoWALTransactionContext.java
+++
b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/transaction/AtomicNoWALTransactionContext.java
@@ -198,7 +198,7 @@ public class AtomicNoWALTransactionContext extends
AtomicTransactionContext {
if (checkpoint.getLastComponentId() == v.getMaxId()) {
LOGGER.info("Removing checkpoint for resource {} for
component id {}", k,
checkpoint.getLastComponentId());
- checkpointManager.deleteLatest(v.getMaxId(), 1);
+ checkpointManager.deleteLatest(v.getMaxId());
}
}
} catch (HyracksDataException e) {