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

Andrew Kyle Purtell updated PHOENIX-7881:
-----------------------------------------
    Description: 
Now that we have infrastructure for parsing and validating EXPLAIN plan output 
from PHOENIX-7879, we should use this instead of hardcoding exact text matches 
in ~70 various IT and UT tests. 

There are no changes made yet to the actual format of EXPLAIN text output as it 
gets presented to the user. We also are not expanding (or reducing) existing 
test coverage. However we expand ExplainPlanAttributes so tests can use a 
fluent assertion API (assertPlan) to assert over ExplainPlanAttributes rather 
than exact matching of text strings.

After expanding ExplainPlanAttributes with additional details/fields we need, 
we also reorganize its attribute display order for better logical grouping. 
This only impacts future "EXPLAIN JSON" functionality that doesn't even exist 
yet. 

Some exact matching of text remains so we don't lose coverage that used to 
exist in QueryPlanTest.

Further test refactoring is likely down the road to fully rely on fluent 
assertions using ExplainPlanAttributes, but that won't happen until the new 
EXPLAIN logic is implemented and output grammar validation is built.

  was:
Now that we have infrastructure for parsing and validating EXPLAIN plan output 
from PHOENIX-7879, we should use this instead of hardcoding exact text matches 
in ~70 various IT and UT tests. 

There are no changes made yet to the actual format of EXPLAIN text output as it 
gets presented to the user. We also are not expanding (or reducing) existing 
test coverage. However now we are beginning to expand ExplainPlanAttributes so 
tests can use a fluent assertion API (assertPlan) to assert over 
ExplainPlanAttributes rather than exact matching of text strings.

After expanding ExplainPlanAttributes with additional details/fields we need, 
we also reorganize its attribute display order for better logical grouping. 
This only impacts future "EXPLAIN JSON" functionality that doesn't even exist 
yet. 

Some exact matching of text remains so we don't lose coverage that used to 
exist in QueryPlanTest.

Further test refactoring is likely down the road to fully rely on fluent 
assertions using ExplainPlanAttributes, but that won't happen until the new 
EXPLAIN logic is implemented and output grammar validation is built.


> Refactor UTs and ITs to assert on ExplainPlanAttributes
> -------------------------------------------------------
>
>                 Key: PHOENIX-7881
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-7881
>             Project: Phoenix
>          Issue Type: Sub-task
>            Reporter: Andrew Kyle Purtell
>            Assignee: Andrew Kyle Purtell
>            Priority: Major
>             Fix For: 5.4.0, 5.3.2
>
>
> Now that we have infrastructure for parsing and validating EXPLAIN plan 
> output from PHOENIX-7879, we should use this instead of hardcoding exact text 
> matches in ~70 various IT and UT tests. 
> There are no changes made yet to the actual format of EXPLAIN text output as 
> it gets presented to the user. We also are not expanding (or reducing) 
> existing test coverage. However we expand ExplainPlanAttributes so tests can 
> use a fluent assertion API (assertPlan) to assert over ExplainPlanAttributes 
> rather than exact matching of text strings.
> After expanding ExplainPlanAttributes with additional details/fields we need, 
> we also reorganize its attribute display order for better logical grouping. 
> This only impacts future "EXPLAIN JSON" functionality that doesn't even exist 
> yet. 
> Some exact matching of text remains so we don't lose coverage that used to 
> exist in QueryPlanTest.
> Further test refactoring is likely down the road to fully rely on fluent 
> assertions using ExplainPlanAttributes, but that won't happen until the new 
> EXPLAIN logic is implemented and output grammar validation is built.



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

Reply via email to