Uploaded image for project: 'Spark'
  1. Spark
  2. SPARK-17930

The SerializerInstance instance used when deserializing a TaskResult is not reused

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.6.1, 2.0.1
    • 2.1.0
    • Spark Core
    • None

    Description

      The following code is called when the DirectTaskResult instance is deserialized

        def value(): T = {
          if (valueObjectDeserialized) {
            valueObject
          } else {
            // Each deserialization creates a new instance of SerializerInstance, which is very time-consuming
            val resultSer = SparkEnv.get.serializer.newInstance()
            valueObject = resultSer.deserialize(valueBytes)
            valueObjectDeserialized = true
            valueObject
          }
        }
      

      Attachments

        Activity

          People

            gq Guoqiang Li
            gq Guoqiang Li
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: