This is an automated email from the ASF dual-hosted git repository.

mblow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git

commit e64d04628930c3aac2d4b3d10a098f35e9ca0464
Author: Murtadha Hubail <[email protected]>
AuthorDate: Tue Jul 18 17:22:24 2023 +0300

    [ASTERIXDB-3226][STO] Warn on missing primary index during flush
    
    - user model changes: no
    - storage format changes: no
    - interface changes: no
    
    Details:
    
    - To account for leaked secondary files, warn rather than halting
      on missing primary index during flush to allow recovery to complete.
      Eventually, the leaked files will be deleted during global recovery.
    - Fix log message.
    
    Change-Id: I7858a67cfc97fb1fde01c463a256083952d51543
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17647
    Reviewed-by: Michael Blow <[email protected]>
    Integration-Tests: Jenkins <[email protected]>
    Tested-by: Jenkins <[email protected]>
---
 .../apache/asterix/app/message/ExecuteStatementRequestMessage.java | 2 +-
 .../asterix/common/context/PrimaryIndexOperationTracker.java       | 7 +++----
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/ExecuteStatementRequestMessage.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/ExecuteStatementRequestMessage.java
index 9b722df12c..05bc87b2f5 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/ExecuteStatementRequestMessage.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/ExecuteStatementRequestMessage.java
@@ -244,6 +244,6 @@ public class ExecuteStatementRequestMessage implements 
ICcAddressedMessage {
     @Override
     public String toString() {
         return String.format("%s(id=%s, from=%s, uuid=%s): %s", 
getClass().getSimpleName(), requestMessageId,
-                requestNodeId, LogRedactionUtil.statement(statementsText), 
requestReference.getUuid());
+                requestNodeId, requestReference.getUuid(), 
LogRedactionUtil.statement(statementsText));
     }
 }
diff --git 
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/PrimaryIndexOperationTracker.java
 
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/PrimaryIndexOperationTracker.java
index b0d8e02af7..8491f6ccb9 100644
--- 
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/PrimaryIndexOperationTracker.java
+++ 
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/PrimaryIndexOperationTracker.java
@@ -51,7 +51,6 @@ import 
org.apache.hyracks.storage.am.lsm.common.impls.FlushOperation;
 import org.apache.hyracks.storage.am.lsm.common.impls.LSMComponentId;
 import org.apache.hyracks.storage.common.IModificationOperationCallback;
 import org.apache.hyracks.storage.common.ISearchOperationCallback;
-import org.apache.hyracks.util.ExitUtil;
 import org.apache.hyracks.util.annotations.NotThreadSafe;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
@@ -151,10 +150,10 @@ public class PrimaryIndexOperationTracker extends 
BaseOperationTracker implement
                 }
             }
             if (primaryLsmIndex == null) {
-                LOGGER.fatal(
-                        "Primary index not found in dataset {} and partition 
{} open indexes {}; halting to clear memory state",
+                LOGGER.warn(
+                        "Primary index not found in dataset {} and partition 
{} open indexes {}; possible secondary index leaked files",
                         dsInfo.getDatasetID(), partition, indexes);
-                ExitUtil.halt(ExitUtil.EC_INCONSISTENT_STORAGE_REFERENCES);
+                return;
             }
             for (ILSMIndex lsmIndex : indexes) {
                 ILSMOperationTracker opTracker = 
lsmIndex.getOperationTracker();

Reply via email to