Fix error handling for lsn validation in palm_handle_discard

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage Engines, Storage Engines - Foundations
    • SE Foundations - 2025-10-10
    • None

      In palm_handle_discard, when palm_handle_verify_page encounters an error, the current error-handling rolls back the transaction twice: once in the err section of palm_handle_verify_page, and then again in palm_handle_discard after the error is returned via PALM_KV_ERR(palm, session, palm_handle_verify_page(plh, session, page_id, lsn)). This double rollback leads to the assertion failure Assertion 'context->lmdb_txn != NULL' failed, since the transaction has already been rolled back. This ticket aims to redesign the error-handling flow to ensure that palm_kv_rollback_transaction is only called once, preventing this assertion error.

            Assignee:
            [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            Jasmine Bi
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: