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

Viraj Jasani updated PHOENIX-7833:
----------------------------------
    Fix Version/s: 5.3.2
                       (was: 5.3.1)

> CDCBaseIT/CDCQueryIT keep manual edge installed after applyMutations
> --------------------------------------------------------------------
>
>                 Key: PHOENIX-7833
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-7833
>             Project: Phoenix
>          Issue Type: Sub-task
>          Components: test
>            Reporter: Andrew Kyle Purtell
>            Assignee: Andrew Kyle Purtell
>            Priority: Minor
>             Fix For: 5.4.0, 5.3.2
>
>
> {{CDCBaseIT.applyMutations}} installs a {{ManualEnvironmentEdge}} so each 
> {{addChange}} pins {{EnvironmentEdgeManager.currentTimeMillis()}} to the 
> row's {{{}changeTS{}}}, then calls {{committer.reset()}} whose default 
> implementation is {{{}EnvironmentEdgeManager.reset(){}}}, reverting 
> {{currentTimeMillis()}} to the wall clock. The rest of the CDC test body 
> easily takes longer than {{{}CDCQueryIT.MAX_LOOKBACK_AGE = 10s{}}}, so any 
> SCN-bounded read whose smallest SCN is the earliest {{changeTS}} trips 
> {{QueryCompiler.verifySCN}} with {{ERROR 538 "Cannot use SCN to look further 
> back in the past beyond the configured max lookback age".}} The {{IndexTool}} 
> mapper shares the same {{EnvironmentEdgeManager}} static state in the 
> in-process mini-cluster and {{PhoenixServerBuildIndexInputFormat}} hits the 
> same {{ERROR 538}} while compiling its SCN-bounded plan. The fix stops 
> calling {{committer.reset()}} at the end of {{{}applyMutations{}}}, instead 
> pinning {{injectEdge}} to the highest {{changeTS}} seen across all batches so 
> subsequent SCN-bounded reads of the just-applied mutations stay inside the 
> max-lookback window, and adds a {{CDCQueryIT.afterTest()}} that calls 
> {{EnvironmentEdgeManager.reset()}} to preserve per-test isolation.



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

Reply via email to