apurtell opened a new pull request, #2538:
URL: https://github.com/apache/phoenix/pull/2538

   Sweep tests for remaining EXPLAIN improvement issues:
   
   - `GlobalIndexCheckerIT`: A functional index match overwrites the index 
rule. We need to be able to support `'/* rule, matches <expr> */'` Disclose 
both via a new first class `functionalMatch` field in `ExplainPlanAttributes`. 
`recordDecision()` keeps rule as reason and records `functionalMatch = 
matches(<expr>)` independently.
   - `GlobalIndexCheckerIT`: When `CONSISTENCY`=`EVENTUAL`, a companion CDC 
index for the user index is auto-created, so at the `noIndexQuery` point in 
`testPhoenixRowTimestamp`, the `NO_INDEX` hint rejects two candidates, not one. 
Distinguish with `GlobalIndexCheckerIT.isEventualConsistency()`, default 
`false`, overridden where required.
   - `UncoveredGlobalIndexRegionScanner`, `UncoveredGlobalIndexRegionScanner2`: 
Re-baseline tests after functional match disclosure changes. Add a private 
hint-aware helper to discriminate between plain and functional index matches.
   - `LoggingSingleConnectionLimiterIT`: Restore the region/host info dropped 
from connection activity log. Region locations were added to 
`ExplainPlanAttributes` only when requested with `EXPLAIN ... REGIONS`. The 
structured attributes should contain the data regardless, keeping the 
conditional logic at the output layer.
   
   ---
   
   Unrelated / environment / pre-existing / out of scope:
   
   - `SecureUserConnectionsIT` — Kerberos: `Illegal principal name 
[email protected]` (local login env, not the branch).
   - `UpdateCacheIT` — `OutOfMemoryError` in regionserver threads (fork 
resource pressure; flaky under load).
   - `UpgradeIT.testMergeViewIndexSequences` — `SequenceNotFoundException` in 
the upgrade path.
   - `UpgradeNamespaceIT.testMapMultiTenantTableToNamespaceDuringUpgrade` — 
upgrade/namespace assertion.
   - `PartialSystemCatalogIndexIT.testIndexesOfViewAndIndexHeadersCondition` — 
`DECODE_VIEW_INDEX_ID` column-not-found (syscat view-index headers).
   - `GlobalConnectionTenantTableIT` - `PhoenixConnection.getTable(tenantId, 
name, Long timestamp)` documents `null` timestamp as valid and the cache-hit 
path handles it, but the cache-miss path calls `getTableNoCache(PName, String, 
long)`, unboxing the `null` `Long` → NPE. Also in `testGetTableFromCache:136` 
two `getTable(..., null)` calls don't return the same cached instance, and 
`testGetTenantViewAtTimestamp:97` has point-in-time `getTimeStamp()` mismatch.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to