You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Lokesh Khurana (Jira)" <ji...@apache.org> on 2026/07/07 19:03:00 UTC

[jira] [Assigned] (PHOENIX-7907) Cutover lifecycle with PENDING_PARTIAL_PASS state, UCF-wait, and link removal at cutover commit

     [ https://issues.apache.org/jira/browse/PHOENIX-7907?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lokesh Khurana reassigned PHOENIX-7907:
---------------------------------------

    Assignee: Lokesh Khurana

> Cutover lifecycle with PENDING_PARTIAL_PASS state, UCF-wait, and link removal at cutover commit
> -----------------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-7907
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-7907
>             Project: Phoenix
>          Issue Type: Sub-task
>            Reporter: Lokesh Khurana
>            Assignee: Lokesh Khurana
>            Priority: Major
>
> The current cutover flow ({{{}Transform.doCutover{}}} → schedule partial-pass immediately) runs partial-pass concurrently with stale-cache dual-write traffic, allowing stranded UNVERIFIED rows. The fix introduces a new {{PENDING_PARTIAL_PASS}} status between {{PENDING_CUTOVER}} and partial-pass scheduling, where the monitor waits a UCF-derived window before transitioning forward. Link removal happens AT cutover commit (Order B), so a single cache cycle propagates both the PHYSICAL_TABLE_NAME swap and the link-removal.
> *State machine:*
>  
> {{PENDING_CUTOVER}} → {{Transform.doCutover}} (single SYSCAT commit: swap PHYSICAL_TABLE_NAME on logical row + each view, DELETE TRANSFORMING_NEW_TABLE link rows, clearCache RPC) → status flips to {{PENDING_PARTIAL_PASS}} with {{PENDING_PARTIAL_PASS_UNTIL_TS = now + max(UCF * 1.10, 30 min)}} → wall-clock until UNTIL_TS → status flips to {{PARTIAL_PASS_RUNNING}} → TransformTool partial-pass MR scans NEW for UNVERIFIED rows.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)