Github user patrickbrownsync commented on a diff in the pull request:

    https://github.com/apache/spark/pull/22855#discussion_r228759466
  
    --- Diff: 
core/src/main/scala/org/apache/spark/serializer/KryoSerializer.scala ---
    @@ -298,30 +312,40 @@ class KryoDeserializationStream(
       }
     }
     
    -private[spark] class KryoSerializerInstance(ks: KryoSerializer, useUnsafe: 
Boolean)
    +private[spark] class KryoSerializerInstance(
    +   ks: KryoSerializer, useUnsafe: Boolean, usePool: Boolean)
       extends SerializerInstance {
       /**
        * A re-used [[Kryo]] instance. Methods will borrow this instance by 
calling `borrowKryo()`, do
        * their work, then release the instance by calling `releaseKryo()`. 
Logically, this is a caching
        * pool of size one. SerializerInstances are not thread-safe, hence 
accesses to this field are
        * not synchronized.
        */
    -  @Nullable private[this] var cachedKryo: Kryo = borrowKryo()
    +  @Nullable private[this] var cachedKryo: Kryo = if (usePool) null else 
borrowKryo()
     
       /**
        * Borrows a [[Kryo]] instance. If possible, this tries to re-use a 
cached Kryo instance;
        * otherwise, it allocates a new instance.
        */
       private[serializer] def borrowKryo(): Kryo = {
    -    if (cachedKryo != null) {
    -      val kryo = cachedKryo
    -      // As a defensive measure, call reset() to clear any Kryo state that 
might have been modified
    -      // by the last operation to borrow this instance (see SPARK-7766 for 
discussion of this issue)
    +    if (usePool) {
    +      val kryo = ks.pool.borrow()
           kryo.reset()
    -      cachedKryo = null
           kryo
         } else {
    -      ks.newKryo()
    +      if (cachedKryo != null) {
    +        val kryo = cachedKryo
    +        /**
    +        * As a defensive measure, call reset() to clear any Kryo state 
that might have
    --- End diff --
    
    Sorry I'm new to this, what is the specific style issue here?


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to