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