Github user CodingCat commented on a diff in the pull request:
https://github.com/apache/spark/pull/3984#discussion_r22756597
--- Diff:
streaming/src/main/scala/org/apache/spark/streaming/receiver/ActorReceiver.scala
---
@@ -149,43 +181,61 @@ private[streaming] class ActorReceiver[T: ClassTag](
class Supervisor extends Actor {
override val supervisorStrategy = receiverSupervisorStrategy
- val worker = context.actorOf(props, name)
- logInfo("Started receiver worker at:" + worker.path)
-
- val n: AtomicInteger = new AtomicInteger(0)
- val hiccups: AtomicInteger = new AtomicInteger(0)
-
--- End diff --
Hi, @sarutak , I went back to Akka's document
http://doc.akka.io/docs/akka/snapshot/general/jmm.html (Actors and the Java
Memory Model), I think they stated that,
> "internal fields of the actor are visible when the next message is
processed by that actor. So fields in your actor need not be volatile or
equivalent. "
So, we don't need to explicitly mark these variables to be volatile?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]