airborne12 commented on code in PR #67134:
URL: https://github.com/apache/doris/pull/67134#discussion_r3869979725


##########
be/src/storage/index/snii/format/core_metadata.cpp:
##########
@@ -207,13 +207,16 @@ Status decode_core_pb(const 
doris::snii::SniiCoreMetadataPB& input, CoreMetadata
             return corrupted("core metadata: scoring index requires a norms 
region");
         }
     }
-    if (has_scoring_tier ||
-        (out->common_grams_metadata.has_value() &&
-         out->common_grams_metadata->scoring_coverage == 
ScoringCoverage::kComplete)) {
+    // The scoring tier no longer implies CommonGrams: an ordinary analyzed 
index

Review Comment:
   Re-evaluated this against the actual production baseline rather than the 
unpublished Apache merge-base.
   
   The original claim is technically reproducible against Apache merge-base 
`c899ceada941807a5114e48a23a2c0a74bd664bd`: that decoder validates metadata for 
every scoring T3 and rejects a metadata-free segment. However, that reader is 
not deployed. The actual production baseline is SelectDB 
[`branch-hotfix-selectdb-cloud-4.1.7-minimax-rows`](https://github.com/selectdb/selectdb-core/commits/branch-hotfix-selectdb-cloud-4.1.7-minimax-rows/)
 at `ef649d804bc5a214829474715b4a3c4a2c696cd6`, with CommonGrams disabled. Its 
reader accepts only `IndexConfig` 0/1, while this PR writes plain scoring as 
config 2; its protobuf layout also predates the norms and `sum_total_term_freq` 
layout used by this PR. Persisting plain metadata therefore cannot make a new 
rowset readable by the actual production reader: decoding fails earlier on the 
index config or layout. Conversely, Apache master is not a production 
rolling-upgrade baseline.
   
   Revised assessment under this production premise:
   
   - Severity if the stated scenario existed: **9/10**
   - Confidence that the comment scenario matches the real rollout: **1/10**
   - Probability of encountering that scenario in production: **0/10**
   - Normalized priority: **4.40/10**, below the fix threshold
   
   The proposed metadata/fingerprint/compaction identity work is therefore not 
a low-cost compatibility correction. I removed the plain scoring metadata, 
builtin analyzer fingerprint, plain-T3 compaction identity changes, and the 
test that used the wrong old-reader baseline. CommonGrams-disabled plain 
scoring remains metadata-free, and the original SNII compaction behavior is 
unchanged.
   
   If a future mixed-version rollout from `ef649d8` is required, it needs a 
separate format/capability strategy, such as a writer gate, old-reader 
backport, or format-version bump, plus a cross-version golden test. Plain 
metadata alone is insufficient.
   
   The amended follow-up is local commit `cc8c7735981` and has not been pushed. 
Verification after the rollback: 48 focused tests pass; 
clang-format/check-format and the ASAN BE build pass.



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