csun5285 opened a new pull request, #68785:
URL: https://github.com/apache/doris/pull/68785

   ### What problem does this PR solve?
   
   Issue Number: None
   
   Related PR: #68314, #68562
   
   Problem Summary:
   
   branch-4.1 and branch-4.2 assigned their own ids to TQueryOptions fields 
that were picked from master, so the same option has different ids on the two 
lines and the same id means different options:
   
     master                                   branch-4.2
     183 enable_use_hybrid_sort               183 
enable_aggregate_function_null_v2
     189 enable_aggregate_function_null_v2    -
     210 max_scan_mem_ratio                   210 enable_use_hybrid_sort
     213 file_presigned_url_ttl_seconds       213 max_scan_mem_ratio
     219 enable_segment_limit_pushdown        219 
ann_index_candidate_rows_threshold
     220 enable_ann_index_result_cache        220 
ann_index_candidate_rows_percent_threshold
     221 ann_index_candidate_rows_threshold   -
     222 ann_index_candidate_rows_percent_threshold -
     226 enable_prune_nested_column           226 
enable_local_exchange_before_streaming_agg
     227 new_version_bitmap_op_count          227 file_presigned_url_ttl_seconds
     228 enable_local_exchange_before_streaming_agg  228 
enable_hyperscan_fallback
     229 coordinator_thrift_max_message_size  229 enable_paimon_rust_reader
     230 supports_external_file_report_ack    230 enable_prune_nested_column
     231 enable_hyperscan_fallback            -
   
   Thrift skips a field whose wire type differs from the receiver's definition, 
but a bool that lands on another bool is read as that other option. During a 
rolling upgrade from a 4.2 release to a release cut from master, a 4.2 FE 
talking to a new BE would turn enable_aggregate_function_null_v2 into 
enable_use_hybrid_sort and read enable_hyperscan_fallback as 
enable_local_exchange_before_streaming_agg, with no error anywhere.
   
   This renumbers master to the branch-4.2 ids for every shared field and moves 
the master-only fields that sat on 4.2 ids to 233-236. 229 gets a placeholder 
enable_paimon_rust_reader, the switch branch-4.1 and branch-4.2 carry at that 
id, so the id cannot be handed to another field here; FE never sets it. The 
fields are reordered so ids ascend again.
   FE and BE refer to these fields by name, so no code changes. master has no 
release that uses the old ids; a mixed-version master dev cluster must upgrade 
FE and BE together across this change.
   
   ### Release note
   
   None
   
   ### Check List (For Author)
   
   - Test: Manual test
       - thrift --gen cpp on PaloInternalService.thrift succeeds; a scan of all 
gensrc thrift and proto definitions reports no TQueryOptions id or name 
mismatch between this change and branch-4.2.
   - Behavior changed: No
   - Does this need documentation: No
   
   ### What problem does this PR solve?
   
   Issue Number: close #xxx
   
   Related PR: #xxx
   
   Problem Summary:
   
   ### Release note
   
   None
   
   ### Check List (For Author)
   
   - Test <!-- At least one of them must be included. -->
       - [ ] Regression test
       - [ ] Unit Test
       - [ ] Manual test (add detailed scripts or steps below)
       - [ ] No need to test or manual test. Explain why:
           - [ ] This is a refactor/code format and no logic has been changed.
           - [ ] Previous test can cover this change.
           - [ ] No code files have been changed.
           - [ ] Other reason <!-- Add your reason?  -->
   
   - Behavior changed:
       - [ ] No.
       - [ ] Yes. <!-- Explain the behavior change -->
   
   - Does this need documentation?
       - [ ] No.
       - [ ] Yes. <!-- Add document PR link here. eg: 
https://github.com/apache/doris-website/pull/1214 -->
   
   ### Check List (For Reviewer who merge this PR)
   
   - [ ] Confirm the release note
   - [ ] Confirm test cases
   - [ ] Confirm document
   - [ ] Add branch pick label <!-- Add branch pick label that this PR should 
merge into -->
   
   


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to