[
https://issues.apache.org/jira/browse/PHOENIX-7949?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Kyle Purtell updated PHOENIX-7949:
-----------------------------------------
Description: {{IndexScrutinyWithMaxLookbackIT}} asserted an outcome that is
unreachable. It updated only the covered column of a row and expected scrutiny
to count it as {{BEYOND_MAX_LOOKBACK}}, but an in-place covered column update
leaves the indexed column and thus the index row key unchanged, so the index
row is never deleted. Major compaction retains the pre-update version as the
row version visible at the lower edge of the max lookback window, and
{{IndexScrutinyTool}} refuses to scan at an SCN older than max lookback. The
fix adds {{@Category(NeedsOwnMiniClusterTest.class)}} and replaces the two
invalid test cases with {{testScrutinyOnUpdatedRowsWithinMaxLookbackAreValid}}
and {{testScrutinyOnUpdatedViewIndexRowsWithinMaxLookbackAreValid}}, which
assert the correct invariants with the rationale documented in inline comments,
while leaving {{testScrutinyOnDeletedRowsBeyondMaxLookBack}} unchanged.
> IndexScrutinyWithMaxLookbackIT scrutiny at SCN beyond max lookback counts
> updated rows as VALID
> -----------------------------------------------------------------------------------------------
>
> Key: PHOENIX-7949
> URL: https://issues.apache.org/jira/browse/PHOENIX-7949
> Project: Phoenix
> Issue Type: Sub-task
> Components: core, test
> Reporter: Andrew Kyle Purtell
> Assignee: Andrew Kyle Purtell
> Priority: Major
>
> {{IndexScrutinyWithMaxLookbackIT}} asserted an outcome that is unreachable.
> It updated only the covered column of a row and expected scrutiny to count it
> as {{BEYOND_MAX_LOOKBACK}}, but an in-place covered column update leaves the
> indexed column and thus the index row key unchanged, so the index row is
> never deleted. Major compaction retains the pre-update version as the row
> version visible at the lower edge of the max lookback window, and
> {{IndexScrutinyTool}} refuses to scan at an SCN older than max lookback. The
> fix adds {{@Category(NeedsOwnMiniClusterTest.class)}} and replaces the two
> invalid test cases with
> {{testScrutinyOnUpdatedRowsWithinMaxLookbackAreValid}} and
> {{testScrutinyOnUpdatedViewIndexRowsWithinMaxLookbackAreValid}}, which assert
> the correct invariants with the rationale documented in inline comments,
> while leaving {{testScrutinyOnDeletedRowsBeyondMaxLookBack}} unchanged.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)