Skip to content
Snippets Groups Projects
  • Josh Rosen's avatar
    6e629815
    [SPARK-17350][SQL] Disable default use of KryoSerializer in Thrift Server · 6e629815
    Josh Rosen authored
    In SPARK-4761 / #3621 (December 2014) we enabled Kryo serialization by default in the Spark Thrift Server. However, I don't think that the original rationale for doing this still holds now that most Spark SQL serialization is now performed via encoders and our UnsafeRow format.
    
    In addition, the use of Kryo as the default serializer can introduce performance problems because the creation of new KryoSerializer instances is expensive and we haven't performed instance-reuse optimizations in several code paths (including DirectTaskResult deserialization).
    
    Given all of this, I propose to revert back to using JavaSerializer as the default serializer in the Thrift Server.
    
    /cc liancheng
    
    Author: Josh Rosen <joshrosen@databricks.com>
    
    Closes #14906 from JoshRosen/disable-kryo-in-thriftserver.
    6e629815
    History
    [SPARK-17350][SQL] Disable default use of KryoSerializer in Thrift Server
    Josh Rosen authored
    In SPARK-4761 / #3621 (December 2014) we enabled Kryo serialization by default in the Spark Thrift Server. However, I don't think that the original rationale for doing this still holds now that most Spark SQL serialization is now performed via encoders and our UnsafeRow format.
    
    In addition, the use of Kryo as the default serializer can introduce performance problems because the creation of new KryoSerializer instances is expensive and we haven't performed instance-reuse optimizations in several code paths (including DirectTaskResult deserialization).
    
    Given all of this, I propose to revert back to using JavaSerializer as the default serializer in the Thrift Server.
    
    /cc liancheng
    
    Author: Josh Rosen <joshrosen@databricks.com>
    
    Closes #14906 from JoshRosen/disable-kryo-in-thriftserver.