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


##########
fe/fe-core/src/main/java/org/apache/doris/task/CreateReplicaTask.java:
##########
@@ -374,8 +378,10 @@ public TCreateTabletReq toThrift() {
             tSchema.setIndexes(tIndexes);
         }
 
-        if (bfColumns != null) {
-            tSchema.setBloomFilterFpp(bfFpp);
+        boolean hasAnyBf = (bfColumns != null && !bfColumns.isEmpty())
+                || !Index.extractBloomFilterColumns(indexes).isEmpty();
+        if (hasAnyBf) {
+            tSchema.setBloomFilterFpp(bfFpp == 0 ? 
FeConstants.default_bloom_filter_fpp : bfFpp);

Review Comment:
   This now defaults `bfFpp == 0` correctly for the non-cloud create-replica 
path, but the cloud tablet creation path still persists `bfFpp` directly in 
`CloudInternalCatalog#createTabletMetaBuilder` 
(`schemaBuilder.setBfFpp(bfFpp)`). For a named BLOOMFILTER index without an 
explicit table-level `bloom_filter_fpp`, non-cloud will materialize the default 
fpp while cloud can write `0`, so the two tablet schemas diverge. Please apply 
the same effective-BF/defaulting rule in the cloud path as well: consider both 
legacy `bfColumns` and named `indexes`, and use the default fpp when the stored 
value is `0`.



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