[ 
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)

Reply via email to