{"push_id":952739517,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"87abcf7df921a5937fdb2bae8bfb30bfabc4970a","before":"edd473751b59b55fa3daede5ed7bc19ea8bd7170","commits":[{"sha":"87abcf7df921a5937fdb2bae8bfb30bfabc4970a","author":{"email":"02e0a999c50b1f88df7a8f5a04e1b76b35ea6a88@databricks.com","name":"Andrew Or"},"message":"[SPARK-12895][SPARK-12896] Migrate TaskMetrics to accumulators\n\nThe high level idea is that instead of having the executors send both accumulator updates and TaskMetrics, we should have them send only accumulator updates. This eliminates the need to maintain both code paths since one can be implemented in terms of the other. This effort is split into two parts:\n\n**SPARK-12895: Implement TaskMetrics using accumulators.** TaskMetrics is basically just a bunch of accumulable fields. This patch makes TaskMetrics a syntactic wrapper around a collection of accumulators so we don't need to send TaskMetrics from the executors to the driver.\n\n**SPARK-12896: Send only accumulator updates to the driver.** Now that TaskMetrics are expressed in terms of accumulators, we can capture all TaskMetrics values if we just send accumulator updates from the executors to the driver. This completes the parent issue SPARK-10620.\n\nWhile an effort has been made to preserve as much of the public API as possible, there were a few known breaking DeveloperApi changes that would be very awkward to maintain. I will gather the full list shortly and post it here.\n\nNote: This was once part of #10717. This patch is split out into its own patch from there to make it easier for others to review. Other smaller pieces of already been merged into master.\n\nAuthor: Andrew Or <andrew@databricks.com>\n\nCloses #10835 from andrewor14/task-metrics-use-accums.","distinct":true,"url":"https://api.github.com/repos/apache/spark/commits/87abcf7df921a5937fdb2bae8bfb30bfabc4970a"}]}