[
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}} 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. (was:
{{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}} 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)