Patrick Wendell created SPARK-3288:
--------------------------------------

             Summary: All fields in TaskMetrics should be private and use 
getters/setters
                 Key: SPARK-3288
                 URL: https://issues.apache.org/jira/browse/SPARK-3288
             Project: Spark
          Issue Type: Improvement
          Components: Spark Core
            Reporter: Patrick Wendell
            Assignee: Andrew Or


This is particularly bad because we expose this as a developer API. Technically 
a library could create a TaskMetrics object and then change the values inside 
of it and pass it onto someone else. It can be written pretty compactly like 
below:

{code}
  /**
   * Number of bytes written for the shuffle by this task
   */
  @volatile private var _shuffleBytesWritten: Long = _
  def incrementShuffleBytesWritten(value: Long) = _shuffleBytesWritten += value
  def decrementShuffleBytesWritten(value: Long) = _shuffleBytesWritten -= value
  def shuffleBytesWritten = _shuffleBytesWritten
{code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

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

Reply via email to