CalvinKirs commented on code in PR #65987:
URL: https://github.com/apache/doris/pull/65987#discussion_r3649455627


##########
fe/fe-common/src/main/java/org/apache/doris/common/Config.java:
##########
@@ -3256,9 +3256,11 @@ public static int metaServiceRpcRetryTimes() {
     @ConfField(mutable = true)
     public static int mow_calculate_delete_bitmap_retry_times = 10;
 
-    @ConfField(mutable = true, description = {
+    @ConfField(description = {

Review Comment:
   Turning a previously-mutable config non-mutable inherently has a transient 
mixed-version window during a rolling upgrade — this is common to this whole 
class of change in Doris. The three keys here (S3/JDBC allowlists and SQL 
Server encryption) are security-sensitive, which is exactly why we want them 
fixed to `fe.conf`.
   
   The failure is transient and self-correcting once all FEs are upgraded, and 
the command returns an explicit failure rather than silently succeeding. We 
consider that an acceptable trade-off versus adding a bespoke 
preflight/rollback protocol for these keys.



##########
fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcConnectorProvider.java:
##########
@@ -58,6 +58,11 @@ public void validateProperties(Map<String, String> 
properties) {
             }
         }
 
+        // 1b. Mandatory, non-configurable driver_url security rule. 
checkProperties() runs this on
+        // both CREATE and ALTER CATALOG (both !isReplay), so a malicious 
driver_url cannot be
+        // introduced by either; metadata replay of existing catalogs is never 
affected.
+        JdbcDorisConnector.checkDriverUrlSecurityRule(resolve(properties, 
JdbcConnectorProperties.DRIVER_URL));

Review Comment:
   This is intentional rather than delta-aware. When an existing catalog is 
altered, we re-validate its `driver_url` under the current rule even if the 
ALTER targets another property: once a catalog is administratively modified, we 
want it to conform to the create-time security rule.
   
   Unmodified catalogs are never re-validated — replay and lazy access skip the 
rule entirely (see acf842e830), so existing catalogs keep working untouched. A 
driver name that predates the rule only needs to be normalized the next time 
the catalog is altered.



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