You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by ho...@apache.org on 2026/09/03 03:02:02 UTC

(spark) branch branch-3.5 updated: Match the pattern of receive in AbstractAuthRpcHandler

This is an automated email from the ASF dual-hosted git repository.

asf-gitbox-commits pushed a commit to branch branch-3.5
in repository https://gitbox.apache.org/repos/asf/spark.git


The following commit(s) were added to refs/heads/branch-3.5 by this push:
     new ab90f58572b4 Match the pattern of receive in AbstractAuthRpcHandler
ab90f58572b4 is described below

commit ab90f58572b4bbe3f823386c6a7a42860788a201
Author: Holden Karau <ho...@snowflake.com>
AuthorDate: Sun Aug 30 05:14:32 2026 +0000

    Match the pattern of receive in AbstractAuthRpcHandler
    
    Co-Authored-By: Holden Karau <ho...@pigscanfly.ca>
    
    
    Co-authored-by: Holden Karau <ho...@pigscanfly.ca>
---
 .../apache/spark/network/server/AbstractAuthRpcHandler.java | 10 +++++++++-
 .../apache/spark/network/crypto/AuthIntegrationSuite.java   | 13 +++++++++++++
 2 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/common/network-common/src/main/java/org/apache/spark/network/server/AbstractAuthRpcHandler.java b/common/network-common/src/main/java/org/apache/spark/network/server/AbstractAuthRpcHandler.java
index 95fde677624f..6914a3f03eef 100644
--- a/common/network-common/src/main/java/org/apache/spark/network/server/AbstractAuthRpcHandler.java
+++ b/common/network-common/src/main/java/org/apache/spark/network/server/AbstractAuthRpcHandler.java
@@ -107,6 +107,14 @@ public abstract class AbstractAuthRpcHandler extends RpcHandler {
 
   @Override
   public MergedBlockMetaReqHandler getMergedBlockMetaReqHandler() {
-    return delegate.getMergedBlockMetaReqHandler();
+    return (client, mergedBlockMetaRequest, callback) -> {
+      // Match the pattern in receive
+      if (isAuthenticated) {
+        delegate.getMergedBlockMetaReqHandler()
+          .receiveMergeBlockMetaReq(client, mergedBlockMetaRequest, callback);
+      } else {
+        throw new SecurityException("Unauthenticated call to receiveMergeBlockMetaReq().");
+      }
+    };
   }
 }
diff --git a/common/network-common/src/test/java/org/apache/spark/network/crypto/AuthIntegrationSuite.java b/common/network-common/src/test/java/org/apache/spark/network/crypto/AuthIntegrationSuite.java
index ad8bbdb4c265..b12786d8aa1e 100644
--- a/common/network-common/src/test/java/org/apache/spark/network/crypto/AuthIntegrationSuite.java
+++ b/common/network-common/src/test/java/org/apache/spark/network/crypto/AuthIntegrationSuite.java
@@ -177,6 +177,19 @@ public class AuthIntegrationSuite {
     assertNotNull(ctx.authRpcHandler.getMergedBlockMetaReqHandler());
   }
 
+  @Test
+  public void validateBlockMetaReqHandlerMatchesReceive() throws Exception {
+    RpcHandler delegate = mock(RpcHandler.class);
+    AuthRpcHandler handler = new AuthRpcHandler(
+      new TransportConf("rpc", MapConfigProvider.EMPTY), mock(Channel.class), delegate,
+      mock(SecretKeyHolder.class));
+    assertFalse(handler.isAuthenticated());
+    assertThrows(SecurityException.class,
+      () -> handler.getMergedBlockMetaReqHandler().receiveMergeBlockMetaReq(
+        mock(TransportClient.class), null, null));
+    verify(delegate, never()).getMergedBlockMetaReqHandler();
+  }
+
   private static class DummyRpcHandler extends RpcHandler {
     @Override
     public void receive(


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@spark.apache.org
For additional commands, e-mail: commits-help@spark.apache.org