Github user cloud-fan commented on a diff in the pull request:

    https://github.com/apache/spark/pull/19285#discussion_r163526188
  
    --- Diff: 
core/src/main/scala/org/apache/spark/storage/memory/MemoryStore.scala ---
    @@ -702,6 +645,83 @@ private[spark] class MemoryStore(
       }
     }
     
    +private trait ValuesHolder[T] {
    +  def storeValue(value: T): Unit
    +  def estimatedSize(roughly: Boolean): Long
    --- End diff --
    
    an example
    ```
    class DeserializedValuesHolder extends ValuesHolder {
      ...
      def getBuilder = new ValuesBuilder {
        val valuesArray = vector.toArray
        def preciseSize = SizeEstimator.estimate(valuesArray)
        def buid = ...
      }
    }
    
    
    
    class SerializedValuesHolder extends ValuesHolder {
      ...
      def getBuilder = new ValuesBuilder {
        serializationStream.close()
        def preciseSize = bbos.size
        def build = ...
      }
    }
    
    ```


---

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

Reply via email to