{"action":"created","issue":{"url":"https://api.github.com/repos/apache/spark/issues/15371","repository_url":"https://api.github.com/repos/apache/spark","labels_url":"https://api.github.com/repos/apache/spark/issues/15371/labels{/name}","comments_url":"https://api.github.com/repos/apache/spark/issues/15371/comments","events_url":"https://api.github.com/repos/apache/spark/issues/15371/events","html_url":"https://github.com/apache/spark/pull/15371","id":181305983,"number":15371,"title":"[SPARK-17816] [Core] Fix ConcurrentModificationException issue in BlockStatusesAccumulator","user":{"login":"seyfe","id":4723352,"avatar_url":"https://avatars.githubusercontent.com/u/4723352?v=3","gravatar_id":"","url":"https://api.github.com/users/seyfe","html_url":"https://github.com/seyfe","followers_url":"https://api.github.com/users/seyfe/followers","following_url":"https://api.github.com/users/seyfe/following{/other_user}","gists_url":"https://api.github.com/users/seyfe/gists{/gist_id}","starred_url":"https://api.github.com/users/seyfe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/seyfe/subscriptions","organizations_url":"https://api.github.com/users/seyfe/orgs","repos_url":"https://api.github.com/users/seyfe/repos","events_url":"https://api.github.com/users/seyfe/events{/privacy}","received_events_url":"https://api.github.com/users/seyfe/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":32,"created_at":"2016-10-06T01:40:04Z","updated_at":"2016-10-09T21:07:30Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/spark/pulls/15371","html_url":"https://github.com/apache/spark/pull/15371","diff_url":"https://github.com/apache/spark/pull/15371.diff","patch_url":"https://github.com/apache/spark/pull/15371.patch"},"body":"## What changes were proposed in this pull request?\r\nChange the BlockStatusesAccumulator to return immutable object when value method is called.\r\n\r\n## How was this patch tested?\r\nExisting tests plus I verified this change by running a pipeline which consistently repro this issue. \r\n\r\nThis is the stack trace for this exception:\r\n`\r\njava.util.ConcurrentModificationException\r\n        at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)\r\n        at java.util.ArrayList$Itr.next(ArrayList.java:851)\r\n        at scala.collection.convert.Wrappers$JIteratorWrapper.next(Wrappers.scala:43)\r\n        at scala.collection.Iterator$class.foreach(Iterator.scala:893)\r\n        at scala.collection.AbstractIterator.foreach(Iterator.scala:1336)\r\n        at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)\r\n        at scala.collection.AbstractIterable.foreach(Iterable.scala:54)\r\n        at scala.collection.generic.Growable$class.$plus$plus$eq(Growable.scala:59)\r\n        at scala.collection.mutable.ListBuffer.$plus$plus$eq(ListBuffer.scala:183)\r\n        at scala.collection.mutable.ListBuffer.$plus$plus$eq(ListBuffer.scala:45)\r\n        at scala.collection.TraversableLike$class.to(TraversableLike.scala:590)\r\n        at scala.collection.AbstractTraversable.to(Traversable.scala:104)\r\n        at scala.collection.TraversableOnce$class.toList(TraversableOnce.scala:294)\r\n        at scala.collection.AbstractTraversable.toList(Traversable.scala:104)\r\n        at org.apache.spark.util.JsonProtocol$.accumValueToJson(JsonProtocol.scala:314)\r\n        at org.apache.spark.util.JsonProtocol$$anonfun$accumulableInfoToJson$5.apply(JsonProtocol.scala:291)\r\n        at org.apache.spark.util.JsonProtocol$$anonfun$accumulableInfoToJson$5.apply(JsonProtocol.scala:291)\r\n        at scala.Option.map(Option.scala:146)\r\n        at org.apache.spark.util.JsonProtocol$.accumulableInfoToJson(JsonProtocol.scala:291)\r\n        at org.apache.spark.util.JsonProtocol$$anonfun$taskInfoToJson$12.apply(JsonProtocol.scala:283)\r\n        at org.apache.spark.util.JsonProtocol$$anonfun$taskInfoToJson$12.apply(JsonProtocol.scala:283)\r\n        at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)\r\n        at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)\r\n        at scala.collection.immutable.List.foreach(List.scala:381)\r\n        at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35)\r\n        at scala.collection.mutable.ListBuffer.foreach(ListBuffer.scala:45)\r\n        at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)\r\n        at scala.collection.AbstractTraversable.map(Traversable.scala:104)\r\n        at org.apache.spark.util.JsonProtocol$.taskInfoToJson(JsonProtocol.scala:283)\r\n        at org.apache.spark.util.JsonProtocol$.taskEndToJson(JsonProtocol.scala:145)\r\n        at org.apache.spark.util.JsonProtocol$.sparkEventToJson(JsonProtocol.scala:76)\r\n`"},"comment":{"url":"https://api.github.com/repos/apache/spark/issues/comments/252512724","html_url":"https://github.com/apache/spark/pull/15371#issuecomment-252512724","issue_url":"https://api.github.com/repos/apache/spark/issues/15371","id":252512724,"user":{"login":"AmplabJenkins","id":4031291,"avatar_url":"https://avatars.githubusercontent.com/u/4031291?v=3","gravatar_id":"","url":"https://api.github.com/users/AmplabJenkins","html_url":"https://github.com/AmplabJenkins","followers_url":"https://api.github.com/users/AmplabJenkins/followers","following_url":"https://api.github.com/users/AmplabJenkins/following{/other_user}","gists_url":"https://api.github.com/users/AmplabJenkins/gists{/gist_id}","starred_url":"https://api.github.com/users/AmplabJenkins/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AmplabJenkins/subscriptions","organizations_url":"https://api.github.com/users/AmplabJenkins/orgs","repos_url":"https://api.github.com/users/AmplabJenkins/repos","events_url":"https://api.github.com/users/AmplabJenkins/events{/privacy}","received_events_url":"https://api.github.com/users/AmplabJenkins/received_events","type":"User","site_admin":false},"created_at":"2016-10-09T21:07:30Z","updated_at":"2016-10-09T21:07:30Z","body":"Test PASSed.\nRefer to this link for build results (access rights to CI server needed): \nhttps://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/66611/\nTest PASSed."}}
{"actor":{"display_login":"AmplabJenkins"}}