github-actions[bot] commented on code in PR #69970:
URL: https://github.com/apache/doris/pull/69970#discussion_r4439838375


##########
fe/pom.xml:
##########
@@ -297,7 +297,7 @@ under the License.
         <javax.servlet-api.version>3.1.0</javax.servlet-api.version>
         <!-- Spring Framework 7 and Jetty EE11 require Jakarta Servlet 6.1. -->
         <jakarta.servlet-api.version>6.1.0</jakarta.servlet-api.version>
-        <je.version>18.3.14-doris-SNAPSHOT</je.version>
+        <je.version>18.3.18-doris-SNAPSHOT</je.version>

Review Comment:
   [P1] Preserve existing JE truststore configuration before upgrading
   
   Existing FEs can configure TLS through bdb/je.properties with 
je.rep.channelType=ssl and je.rep.ssl.trustStoreFile pointing to a private-CA 
JKS/P12 store; ReplicatedEnvironment loads this file even with the no-op OSS 
provider. In this snapshot, 
[readTrustStoreInfo](https://github.com/apache/doris-thirdparty/blob/70324a2452e4ff717c872e431b5b385c82a54f84/src/main/java/com/sleepycat/je/rep/utilint/net/SSLChannelFactory.java#L1020-L1038)
 only reads the new pemCaCertFile setting and returns null otherwise. 
SSLContext then uses JVM default trust managers. If that CA exists only in the 
configured JE truststore, upgraded FEs cannot validate their peers and rejoin 
the replication group. Select a JE build that preserves the existing 
trustStoreFile/type behavior before changing this version, and cover the 
existing configuration in an upgrade test.



##########
fe/pom.xml:
##########
@@ -297,7 +297,7 @@ under the License.
         <javax.servlet-api.version>3.1.0</javax.servlet-api.version>
         <!-- Spring Framework 7 and Jetty EE11 require Jakarta Servlet 6.1. -->
         <jakarta.servlet-api.version>6.1.0</jakarta.servlet-api.version>
-        <je.version>18.3.14-doris-SNAPSHOT</je.version>
+        <je.version>18.3.18-doris-SNAPSHOT</je.version>

Review Comment:
   [P1] Retain client-certificate requests for existing JE authenticators
   
   For an existing TLS group using je.rep.ssl.authenticator=mirror or 
dnmatch(...), .14 requests client certificates. The new default clientAuthMode 
is verify_peer, but 
[configureClientAuth](https://github.com/apache/doris-thirdparty/blob/70324a2452e4ff717c872e431b5b385c82a54f84/src/main/java/com/sleepycat/je/rep/utilint/net/SSLChannelFactory.java#L256-L299)
 performs no request in that branch. Clients therefore supply no certificate 
and the configured authenticator rejects the missing peer principal. 
ServiceDispatcher supplies an empty, non-null authentication-method array for 
this untrusted channel, so the JE service handshake fails. This also breaks 
replication connections when JVM trust roots are configured correctly, 
independently of the truststore issue. Use a snapshot that preserves the legacy 
certificate request (or fixes verify_peer) before upgrading.



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