Robert Dillitz created SPARK-55243:
--------------------------------------

             Summary: Allow binary headers in the Scala Spark Connect client
                 Key: SPARK-55243
                 URL: https://issues.apache.org/jira/browse/SPARK-55243
             Project: Spark
          Issue Type: Improvement
          Components: Connect
    Affects Versions: 4.1.1
            Reporter: Robert Dillitz
             Fix For: 4.1.2, 4.2


The Scala Spark Connect client currently only allows setting ASCII headers and 
fails if one tries to set a (binary) header with {{-bin}} key suffix:

{code:java}
[info]   java.lang.IllegalArgumentException: ASCII header is named test-bin.  
Only binary headers may end with -bin
[info]   at 
com.google.common.base.Preconditions.checkArgument(Preconditions.java:445)
[info]   at io.grpc.Metadata$AsciiKey.<init>(Metadata.java:972)
[info]   at io.grpc.Metadata$AsciiKey.<init>(Metadata.java:966)
[info]   at io.grpc.Metadata$Key.of(Metadata.java:708)
[info]   at io.grpc.Metadata$Key.of(Metadata.java:704)
[info]   at 
org.apache.spark.sql.connect.client.SparkConnectClient$MetadataHeaderClientInterceptor$$anon$2.$anonfun$start$1(SparkConnectClient.scala:1112)
[info]   at 
org.apache.spark.sql.connect.client.SparkConnectClient$MetadataHeaderClientInterceptor$$anon$2.$anonfun$start$1$adapted(SparkConnectClient.scala:1106)
[info]   at scala.collection.immutable.Map$Map1.foreach(Map.scala:278)
[info]   at 
org.apache.spark.sql.connect.client.SparkConnectClient$MetadataHeaderClientInterceptor$$anon$2.start(SparkConnectClient.scala:1106)
[info]   at io.grpc.stub.ClientCalls.startCall(ClientCalls.java:435)
{code}

Improvement: Automatically use {{Metadata.BINARY_BYTE_MARSHALLER}} for {{-bin}} 
keys, assuming base64 encoded value strings in the Scala Spark Connect client.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to