diff --git a/core/src/main/scala/org/apache/spark/util/JsonProtocol.scala b/core/src/main/scala/org/apache/spark/util/JsonProtocol.scala index 1cd9c11c53e4..d2e684faf9ed 100644 --- a/core/src/main/scala/org/apache/spark/util/JsonProtocol.scala +++ b/core/src/main/scala/org/apache/spark/util/JsonProtocol.scala @@ -22,7 +22,7 @@ import java.util.{Properties, UUID} import scala.collection.Map import scala.jdk.CollectionConverters._ -import com.fasterxml.jackson.core.JsonGenerator +import com.fasterxml.jackson.core.{JsonGenerator, StreamReadConstraints} import com.fasterxml.jackson.databind.JsonNode import org.json4s.jackson.JsonMethods.compact @@ -66,6 +66,11 @@ private[spark] class JsonProtocolOptions(conf: SparkConf) { private[spark] object JsonProtocol extends JsonUtils { // TODO: Remove this file and put JSON serialization into each individual class. + // SPARK-49872: Remove jackson JSON string length limitation. + mapper.getFactory.setStreamReadConstraints( + StreamReadConstraints.builder().maxStringLength(Int.MaxValue).build() + ) + private[util] val defaultOptions: JsonProtocolOptions = new JsonProtocolOptions(new SparkConf(false))