Re: [akka-user] Message was not delivered issue
Hi Endre, I tried to reproduce my problem, but I could not do this. Everything works correctly in my test roject: https://github.com/SScare/PilotsAndTests/tree/master/PlayAkka I am confused even more than earlier... Regards, Sergey вторник, 5 мая 2015 г., 14:25:23 UTC+3 пользователь Akka Team написал: Hi Sergey, The code looks OK, but I think it is not enough to see where the issue is. Try to put together a minimized, self-contained code example that shows the symptoms. The example should contain only minimal functionality that is enough to replicate the problem. -Endre On Sun, May 3, 2015 at 12:48 PM, Sergey Sopin sopi...@gmail.com javascript: wrote: Hi, I'm developing a system based on Akka and I got stuck with situation which is completely unclear for me. I have three actors with following hierarchy: Root actor - SubPathProcessingSupervisor - SubPathFinderActor. Root actor creates SubPathProcessingSupervisor one during preStart and then tries to send message to it using ask pattern. //Root actor @Override public void preStart() throws Exception { super.preStart(); this.subPathProcessingSupervisor = context().actorOf(Props.create(SubPathProcessingSupervisor.class)); this.pathModelsAggregatorSupervisor = context().actorOf(Props.create(PathModelsAggregatorSupervisor.class)); this.waitingDuration = (int)readConfig(akka.actor.timeouts, subPathFindingAskDuration, 5000); } //... private IterableFutureObject process(ConfiguredPathProcessingRequest request) { CollectionFutureObject result = new ArrayList(); for (int ceSize = request.minCoverElementSize; ceSize = request.path.getMaxCoverElementSize(); ceSize += 2) { for (int segSize = request.minCoverElementSize; segSize = ceSize; segSize += 2) { FutureObject future = Patterns.ask(subPathProcessingSupervisor, new SubPathProcessingRequest(request.path, ceSize, segSize), waitingDuration); result.add(future); } } return result; } SubPathProcessingSupervisor has following structure: public class SubPathProcessingSupervisor extends LoggingActor{ @Override public void onReceive(Object o) throws Exception { logger.info(SubPathProcessingSupervisor : Message received...); if(o instanceof SubPathProcessingRequest) { ActorRef subPathProcessorActor = context().actorOf(Props.create(SubPathFinderActor.class)); subPathProcessorActor.forward(o, context()); } else { unhandled(o); } } } From time to time, when I am trying to debug my application I see following messages: Either: [INFO] [05/03/2015 13:43:48.413] [application-akka.actor.default-dispatcher-9] [akka://application/user/localProcessor/$a/$a/$b/$a/$a/$a] Message [kernel.modeller.data.messages.SubPathProcessingRequest] from Actor[akka://application/temp/$a] to Actor[akka://application/user/localProcessor/$a/$a/$b/$a/$a/$a#342530440] was not delivered. [1] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Or: [INFO] [05/03/2015 13:44:18.962] [application-akka.actor.default-dispatcher-2] [akka://application/user/localProcessor/$b/$a/$b/$b/$a] Message [kernel.modeller.data.messages.SubPathProcessingRequest] from Actor[akka://application/temp/$c] to Actor[akka://application/user/localProcessor/$b/$a/$b/$b/$a#-285620982] was not delivered. [3] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. I am really confused with this issue because there are some successful attempts... But in most cases messages were not delivered to SubPathProcessingSupervisor, and very rarely from supervisor to SubPathFinderActor. Each attempt may have different results with the same input. Could you please help me to understand what is going on here? -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com javascript:. To post to this group, send email to akka...@googlegroups.com javascript:. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Akka Team Typesafe - Reactive apps on the JVM Blog: letitcrash.com Twitter: @akkateam -- Read the docs: http://akka.io/docs/ Check the
Re: [akka-user] Akka ZMQ hello-world cannot receive any message at all
Hi, How can I downgrade zmq to 2.x? Is it configurable? The following is the dependencies defined in my build.sbt: libraryDependencies ++= { val akkaVersion = 2.3.10 Seq( com.typesafe.akka %% akka-actor % akkaVersion, com.typesafe.akka %% akka-slf4j % akkaVersion, com.typesafe.akka %% akka-zeromq % 2.3.10, ch.qos.logback% logback-classic % 1.1.3, com.typesafe.akka %% akka-testkit% akkaVersion % test, org.scalatest %% scalatest % 2.2.0 % test ) } Thanks, Houwu On Tuesday, May 5, 2015 at 9:04:04 AM UTC-7, Akka Team wrote: Hi, The docs say (http://doc.akka.io/docs/akka/2.3.10/scala/zeromq.html): The currently used version of zeromq-scala-bindings is only compatible with zeromq 2; zeromq 3 is not supported. You are trying to use ZeroMQ 4. -Endre On Tue, May 5, 2015 at 5:26 PM, Houwu Bai bai@gmail.com javascript: wrote: For zmq version, the print out of the statement: val zmq = ZeroMQExtension(system) println(sZMQ ${zmq.version} ) shows: ZMQ 4.0.5 On Tuesday, May 5, 2015 at 4:38:34 AM UTC-7, Akka Team wrote: Hi, Which version of ZeroMQ are you using? Btw, please note that Akka zeromq support was deprecated in 2.3, and it is already removed in 2.4. See this ticket for further details: https://github.com/akka/akka/issues/16636 -Endre On Mon, May 4, 2015 at 8:46 PM, Houwu Bai bai@gmail.com wrote: Hi, I am trying to migrate some examples from the zmq guide ( http://zguide.zeromq.org/page:all) to Akka. The wuserver example works in one direction: the messages sent out by the publisher can be received by a Java or Node.js client connected and subscribed. However, the other direction does not work: the subscriber in Akka-Zmq cannot receive any messages. When trying the very first hello-world example, I found that the actor cannot receive any message at all. The following is the short hwserver.scala import akka.actor.Actor.Receive import akka.actor.{ActorLogging, Actor, Props} import akka.util.ByteString import akka.zeromq._ /** * Created by hbai on 5/4/15. */ object HwServer { def props(zmq: ZeroMQExtension): Props = Props(new HwServer(zmq)) } class HwServer(zmq: ZeroMQExtension) extends Actor with ActorLogging { val bindAddress = tcp://* val repSocket = zmq.newSocket(SocketType.Rep, Listener(self), Bind(bindAddress)) override def receive: Receive = { case m : ZMQMessage = println(sReceived ${m.frames.toString}) sender ! m //ZMQMessage(ByteString(reply)) case x @ _ = println(ssomething received ${x}) } } And, the following is the main: import akka.actor.{Props, ActorSystem} import akka.util.ByteString import akka.zeromq._ /** * Created by hbai on 5/1/15. */ object Main extends App { val system = ActorSystem(sensity) val zmq = ZeroMQExtension(system) println(sZMQ ${zmq.version} ) println(Starting hwServer) val hwServer = system.actorOf(HwServer.props(zmq), name=hwServer) } I am using Scala 2.11.6, Akka 2.3.10, Java 1.8.0_40 -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com. To post to this group, send email to akka...@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Akka Team Typesafe - Reactive apps on the JVM Blog: letitcrash.com Twitter: @akkateam -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com javascript:. To post to this group, send email to akka...@googlegroups.com javascript:. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Akka Team Typesafe - Reactive apps on the JVM Blog: letitcrash.com Twitter: @akkateam -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email
Re: [akka-user] High Quaratine Frequency of akka-remote
We have an application that sends millions of messages across the akka cluster. The only way to do this without cutting off the heartbeats is to implement a pulling system. We send 1000 messages and wait for an ack from the receiver and send 1000 more. This way the heartbeats can get between the large sets of messages. On Wed, May 6, 2015 at 8:34 AM Endre Varga endre.va...@typesafe.com wrote: Hi Zuchen, On Tue, May 5, 2015 at 10:30 PM, Zhuchen Wang zcx.w...@gmail.com wrote: Here is the log. 2015-05-05 09:51:15,029 WARN [channelservice-akka.actor.default-dispatcher-4] Association with remote system [akka.tcp://system@host2] has failed, address is now gated for [3000] ms. Reason: [Disassociated] 2015-05-05 09:51:17,697 WARN [channelservice-akka.actor.default-dispatcher-54] Detected unreachable: [akka.tcp://system@host2] The above line means that remote deathwatch detected the remote system to be unreachable. This means that heartbeats were missing for too long time. 2015-05-05 09:51:17,699 WARN [channelservice-akka.actor.default-dispatcher-56] Association to [akka.tcp://system@host2] having UID [-648515237] is irrecoverably failed. UID is now quarantined and all messages to this UID will be delivered to dead letters. Remote actorsystem must be restarted to recover from this situation. 2015-05-05 09:51:17,731 WARN [channelservice-akka.actor.default-dispatcher-3] AssociationError [akka.tcp://system@host1] - [akka.tcp://system@host2]: Error [Invalid address: akka.tcp://system@host2] [ akka.remote.InvalidAssociation: Invalid address: akka.tcp://system@host2 Caused by: akka.remote.transport.Transport$InvalidAssociationException: The remote system has a UID that has been quarantined. Association aborted. ] The Gated event usually happens first. There is no backpressuring right now. Doesn't heartbeats have higher priority than the normal remote messages? To some extent yes, but every message shares the same TCP connection. Do you send very large messages remotely? Have you tried increasing the dispatcher threadpool for remoting? We did see ResendBufferCapacityReachedExceptionreached exception before and we increased the buffer size then. Does this means the receiver is overwhelmed? This means that there are a lot of system messages, and the default buffer size of 1000 was not enough to contain all of the unacknowledged system messages. Your log indicates that this is no longer the problem, as the Quarantining happens because of missing heartbeats. GC should not be a problem in this case. We have been monitoring the GC overhead. I am almost about to remove the remote watch code to rule out the Quarantine event entirely. While you can remove the watch, it will not fix the underlying issue. The log snippet you pasted is too short, it does not contain all of the information. Can you turn on debug logging and gather a longer log? Also, I recommend adding a simple ping-pong actor on both systems and periodically log the round-trip time between a ping and its corresponding pong, and print it to the console. -Endre On Tuesday, May 5, 2015 at 12:27:17 PM UTC-7, drewhk wrote: Also, are you sure that you are backpressuring the sender properly and not overwhelming remoting itself? If remoting is building up buffer size due to it not being able to send messages fast enough, then heartbeats can get delayed arbitrarily long (although we take some measures to mitigate that). You can also try incresing the dispatcher thread pool size for remoting and Netty. You should also look into GC activity, since you mentioned that you see this under load. Many cases similar to yours turn out to be caused by actor mailbox buildup (lack of backpressure) and resulting high GC pauses. We can give much deeper help with access to source, but that is a commercial service. -Endre On Tue, May 5, 2015 at 9:13 PM, Endre Varga endre...@typesafe.com wrote: What is the actual log message when the quarantine happens? Can you show snippets of your logs around the quarantine event? Can it be that your system message redelivery buffer gets filled because of Terminated messages? Without seeing a log snippet it is impossible to say anything more concrete. -Endre On Tue, May 5, 2015 at 9:11 PM, Zhuchen Wang zcx@gmail.com wrote: Upgrading to akka 2.3.10 doesn't help a lot. As I mentioned in https://groups.google.com/forum/#!topic/akka-user/NGLi9GTZ42o, we do not actually rely on akka to form the cluster. We use Zookeeper to do cluster management and partition allocation but use akka-remote to communicate between nodes. Let's say we have node1, node2, node3 and partition P conatins (node1 and node2) Each node has a partitionManager actor. In node1 partitionManager will have a child actor akka://node1/actorsystem/partitionManager/P and a ActorSelectionRoutee for akka://node2/actorsystem/partitionManager/P In node2
Re: [akka-user] High Quaratine Frequency of akka-remote
Hi Zuchen, On Tue, May 5, 2015 at 10:30 PM, Zhuchen Wang zcx.w...@gmail.com wrote: Here is the log. 2015-05-05 09:51:15,029 WARN [channelservice-akka.actor.default-dispatcher-4] Association with remote system [akka.tcp://system@host2] has failed, address is now gated for [3000] ms. Reason: [Disassociated] 2015-05-05 09:51:17,697 WARN [channelservice-akka.actor.default-dispatcher-54] Detected unreachable: [akka.tcp://system@host2] The above line means that remote deathwatch detected the remote system to be unreachable. This means that heartbeats were missing for too long time. 2015-05-05 09:51:17,699 WARN [channelservice-akka.actor.default-dispatcher-56] Association to [akka.tcp://system@host2] having UID [-648515237] is irrecoverably failed. UID is now quarantined and all messages to this UID will be delivered to dead letters. Remote actorsystem must be restarted to recover from this situation. 2015-05-05 09:51:17,731 WARN [channelservice-akka.actor.default-dispatcher-3] AssociationError [akka.tcp://system@host1] - [akka.tcp://system@host2]: Error [Invalid address: akka.tcp://system@host2] [ akka.remote.InvalidAssociation: Invalid address: akka.tcp://system@host2 Caused by: akka.remote.transport.Transport$InvalidAssociationException: The remote system has a UID that has been quarantined. Association aborted. ] The Gated event usually happens first. There is no backpressuring right now. Doesn't heartbeats have higher priority than the normal remote messages? To some extent yes, but every message shares the same TCP connection. Do you send very large messages remotely? Have you tried increasing the dispatcher threadpool for remoting? We did see ResendBufferCapacityReachedExceptionreached exception before and we increased the buffer size then. Does this means the receiver is overwhelmed? This means that there are a lot of system messages, and the default buffer size of 1000 was not enough to contain all of the unacknowledged system messages. Your log indicates that this is no longer the problem, as the Quarantining happens because of missing heartbeats. GC should not be a problem in this case. We have been monitoring the GC overhead. I am almost about to remove the remote watch code to rule out the Quarantine event entirely. While you can remove the watch, it will not fix the underlying issue. The log snippet you pasted is too short, it does not contain all of the information. Can you turn on debug logging and gather a longer log? Also, I recommend adding a simple ping-pong actor on both systems and periodically log the round-trip time between a ping and its corresponding pong, and print it to the console. -Endre On Tuesday, May 5, 2015 at 12:27:17 PM UTC-7, drewhk wrote: Also, are you sure that you are backpressuring the sender properly and not overwhelming remoting itself? If remoting is building up buffer size due to it not being able to send messages fast enough, then heartbeats can get delayed arbitrarily long (although we take some measures to mitigate that). You can also try incresing the dispatcher thread pool size for remoting and Netty. You should also look into GC activity, since you mentioned that you see this under load. Many cases similar to yours turn out to be caused by actor mailbox buildup (lack of backpressure) and resulting high GC pauses. We can give much deeper help with access to source, but that is a commercial service. -Endre On Tue, May 5, 2015 at 9:13 PM, Endre Varga endre...@typesafe.com wrote: What is the actual log message when the quarantine happens? Can you show snippets of your logs around the quarantine event? Can it be that your system message redelivery buffer gets filled because of Terminated messages? Without seeing a log snippet it is impossible to say anything more concrete. -Endre On Tue, May 5, 2015 at 9:11 PM, Zhuchen Wang zcx@gmail.com wrote: Upgrading to akka 2.3.10 doesn't help a lot. As I mentioned in https://groups.google.com/forum/#!topic/akka-user/NGLi9GTZ42o, we do not actually rely on akka to form the cluster. We use Zookeeper to do cluster management and partition allocation but use akka-remote to communicate between nodes. Let's say we have node1, node2, node3 and partition P conatins (node1 and node2) Each node has a partitionManager actor. In node1 partitionManager will have a child actor akka://node1/actorsystem/partitionManager/P and a ActorSelectionRoutee for akka://node2/actorsystem/partitionManager/P In node2 partitionManager will have a child actor akka://node2/actorsystem/partitionManager/P and a ActorSelectionRoutee for akka://node1/actorsystem/partitionManager/P In node3 partitionManager will have 2 ActorSelectionRoutees for akka://node1/actorsystem/partitionManager/P and akka://node2/actorsystem/partitionManager/P All the actors are started locally thus no remote deployment is involved. Channels can be created
[akka-user] Does Akka.IO Tcp has a bottleneck in bidirectional communication?
SO Question http://stackoverflow.com/questions/30075515/does-akka-io-tcp-has-a-bottleneck-in-bidirectional-communication -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] Message was not delivered issue
It seems my problem is solved. I have stopped root actor before messages were delivered to child ones. Sorry for disturbing and thank you. Regards, Sergey среда, 6 мая 2015 г., 13:30:12 UTC+3 пользователь Sergey Sopin написал: Hi Endre, I tried to reproduce my problem, but I could not do this. Everything works correctly in my test roject: https://github.com/SScare/PilotsAndTests/tree/master/PlayAkka I am confused even more than earlier... Regards, Sergey вторник, 5 мая 2015 г., 14:25:23 UTC+3 пользователь Akka Team написал: Hi Sergey, The code looks OK, but I think it is not enough to see where the issue is. Try to put together a minimized, self-contained code example that shows the symptoms. The example should contain only minimal functionality that is enough to replicate the problem. -Endre On Sun, May 3, 2015 at 12:48 PM, Sergey Sopin sopi...@gmail.com wrote: Hi, I'm developing a system based on Akka and I got stuck with situation which is completely unclear for me. I have three actors with following hierarchy: Root actor - SubPathProcessingSupervisor - SubPathFinderActor. Root actor creates SubPathProcessingSupervisor one during preStart and then tries to send message to it using ask pattern. //Root actor @Override public void preStart() throws Exception { super.preStart(); this.subPathProcessingSupervisor = context().actorOf(Props.create(SubPathProcessingSupervisor.class)); this.pathModelsAggregatorSupervisor = context().actorOf(Props.create(PathModelsAggregatorSupervisor.class)); this.waitingDuration = (int)readConfig(akka.actor.timeouts, subPathFindingAskDuration, 5000); } //... private IterableFutureObject process(ConfiguredPathProcessingRequest request) { CollectionFutureObject result = new ArrayList(); for (int ceSize = request.minCoverElementSize; ceSize = request.path.getMaxCoverElementSize(); ceSize += 2) { for (int segSize = request.minCoverElementSize; segSize = ceSize; segSize += 2) { FutureObject future = Patterns.ask(subPathProcessingSupervisor, new SubPathProcessingRequest(request.path, ceSize, segSize), waitingDuration); result.add(future); } } return result; } SubPathProcessingSupervisor has following structure: public class SubPathProcessingSupervisor extends LoggingActor{ @Override public void onReceive(Object o) throws Exception { logger.info(SubPathProcessingSupervisor : Message received...); if(o instanceof SubPathProcessingRequest) { ActorRef subPathProcessorActor = context().actorOf(Props.create(SubPathFinderActor.class)); subPathProcessorActor.forward(o, context()); } else { unhandled(o); } } } From time to time, when I am trying to debug my application I see following messages: Either: [INFO] [05/03/2015 13:43:48.413] [application-akka.actor.default-dispatcher-9] [akka://application/user/localProcessor/$a/$a/$b/$a/$a/$a] Message [kernel.modeller.data.messages.SubPathProcessingRequest] from Actor[akka://application/temp/$a] to Actor[akka://application/user/localProcessor/$a/$a/$b/$a/$a/$a#342530440] was not delivered. [1] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Or: [INFO] [05/03/2015 13:44:18.962] [application-akka.actor.default-dispatcher-2] [akka://application/user/localProcessor/$b/$a/$b/$b/$a] Message [kernel.modeller.data.messages.SubPathProcessingRequest] from Actor[akka://application/temp/$c] to Actor[akka://application/user/localProcessor/$b/$a/$b/$b/$a#-285620982] was not delivered. [3] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. I am really confused with this issue because there are some successful attempts... But in most cases messages were not delivered to SubPathProcessingSupervisor, and very rarely from supervisor to SubPathFinderActor. Each attempt may have different results with the same input. Could you please help me to understand what is going on here? -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com. To post to this group, send email to akka...@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more
[akka-user] How to attach multiple actors as sources to an Akka stream?
I posted this question to stackoverflow (http://stackoverflow.com/questions/30077766/how-to-attach-multiple-actors-as-sources-to-an-akka-stream), but then was pointed to this group, so I'll ask here: I am trying to build and run an akka stream flow (in Java DSL) with 2 actors as sources, then a merge junction and then 1 sink: SourceInteger, ActorRef src1 = Source.actorRef(100, OverflowStrategy.backpressure()); SourceInteger, ActorRef src2 = Source.actorRef(100, OverflowStrategy.backpressure()); SinkInteger, BoxedUnit sink = Flow.of(Integer.class).to(Sink.foreach(System.out::println)); RunnableFlowBoxedUnit closed = FlowGraph.factory().closed(sink, (b, out) - { UniformFanInShapeInteger, Integer merge = b.graph(Merge.Integercreate(2)); b.from(src1).via(merge).to(out); b.from(src2).to(merge); }); closed.run(mat); My question is how do I obtain ActorRef references to the source actors in order to send them messages? In case of 1 actor, I wouldn't be using graph builder, and then the .run() or runWith() method would return the ActorRef object. But what to do in case of many source actors? Is it even possible to materialize such a flow? Thanks -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] using Akka with Kamon...
Hello TS! I just replied to you other email, please disregard that thread and post your answer here.. what Kamon version are you using? On Wed, May 6, 2015 at 3:07 AM TS test.tester1...@gmail.com wrote: I just started using Kamon. I am getting an error while weaving (This happens when my tests run. My surefire plugin has argLine with javaagent pointing to aspectjweaver.jar Any words of wisdom would be appreciated. Thanks in advance, TS java.lang.Exception: Unexpected exception, expectedjava.lang.ClassCastException but wasjava.lang.IncompatibleClassChangeError at akka.instrumentation.ActorCellInstrumentation.afterCreation(ActorCellInstrumentation.scala:42) at akka.actor.ActorCell.init(ActorCell.scala:397) at akka.actor.LocalActorRef.newActorCell(ActorRef.scala:320) at akka.actor.LocalActorRef.init(ActorRef.scala:316) at akka.actor.LocalActorRefProvider$$anon$1.init(ActorRefProvider.scala:574) at akka.actor.LocalActorRefProvider.rootGuardian$lzycompute(ActorRefProvider.scala:574) at akka.actor.LocalActorRefProvider.rootGuardian(ActorRefProvider.scala:573) at akka.actor.LocalActorRefProvider.init(ActorRefProvider.scala:628) at akka.actor.ActorSystemImpl.liftedTree2$1(ActorSystem.scala:663) at akka.actor.ActorSystemImpl._start$lzycompute(ActorSystem.scala:660) at akka.actor.ActorSystemImpl._start(ActorSystem.scala:660) at akka.actor.ActorSystemImpl.start(ActorSystem.scala:676) at akka.actor.ActorSystem$.apply(ActorSystem.scala:143) at akka.actor.ActorSystem$.apply(ActorSystem.scala:110) at akka.actor.ActorSystem$.create(ActorSystem.scala:58) at akka.actor.ActorSystem.create(ActorSystem.scala:1) -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
[akka-user] PersistentActor - calling persist/persistAsync from a future
Hi, Calling the persist or persistAsync from a future created during receiveCommand does not call the preceding handler and doesn't produce an error event neither. class PublisherActor extends PersistentActor { def receiveCommand: Receive = { case cmd: MyCmd = { println(cmd received!) send(cmd) recover { // send is an async operation returning a future case t = { println(persisting...) persistAsync(cmd)(c = println(persisted!!!) } } } case _ = println(received other cmd!) } } running the code above (when the send future throws an exception) prints: cmd received! persisting... but persisted!!! is not printed - moving the persistAsync line of code outside the future call (before 'send') works fine, any ideas why calling inside the future does not work for me? Thanks, Joel -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] Help desparately needed in motivating containerless deployment in mature enterprise
If they're architects they'll probably be moved by talk of microservices (most architects these days seem to be into that) and you could point out that the lightweight nature of akka + http is better suited to that kind of thing. On Wed, May 6, 2015 at 7:51 PM, Jacobus jacobusreyn...@gmail.com wrote: Hi there, I'm hoping that someone can help me with advice on motivating why containerless services makes sense. I'm trying to motivate writing a new business service on Akka-HTTP, but other architects stands rock solid on the argument that only services that can be deployed inside Websphere Application Server must be allowed. Now, I realise I can probably make Akka-HTTP run inside a JEE container, but that will be like putting a Ferrari on the back of a truck. Their primary concerns are mostly around deployment, configuration, monitoring, etc. They also have a sense that things are just safer in Websphere for some kind or reason. They still think in terms of queues and transactions, etc. If anyone can give me some good business, operational or technical motivators, then I will be very grateful. Also, if you are aware of any stat's, benchmarks, etc. on this, then that will help too. Maybe groups like Gartner have done a bit of a writeup industry moving away from containers? Anything that can help will be greatly appreciated. I need some solid facts and ideas to back my statements. Thanks in advance. Cheers, Jacobus -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] Help desparately needed in motivating containerless deployment in mature enterprise
How hard can it be to run a java process, create a init script for the java process and give it to them. If the process dies restart it. Thats ten times easier than running anything in websphere. If you run on linux create a package rpm and deliver it in an rpm. You can even create a repo for operations, so they only add your repo and install and run it like anyother service. On Wed, May 6, 2015 at 9:32 PM Robert Wills wrwi...@gmail.com wrote: If they're architects they'll probably be moved by talk of microservices (most architects these days seem to be into that) and you could point out that the lightweight nature of akka + http is better suited to that kind of thing. On Wed, May 6, 2015 at 7:51 PM, Jacobus jacobusreyn...@gmail.com wrote: Hi there, I'm hoping that someone can help me with advice on motivating why containerless services makes sense. I'm trying to motivate writing a new business service on Akka-HTTP, but other architects stands rock solid on the argument that only services that can be deployed inside Websphere Application Server must be allowed. Now, I realise I can probably make Akka-HTTP run inside a JEE container, but that will be like putting a Ferrari on the back of a truck. Their primary concerns are mostly around deployment, configuration, monitoring, etc. They also have a sense that things are just safer in Websphere for some kind or reason. They still think in terms of queues and transactions, etc. If anyone can give me some good business, operational or technical motivators, then I will be very grateful. Also, if you are aware of any stat's, benchmarks, etc. on this, then that will help too. Maybe groups like Gartner have done a bit of a writeup industry moving away from containers? Anything that can help will be greatly appreciated. I need some solid facts and ideas to back my statements. Thanks in advance. Cheers, Jacobus -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] PersistentActor - calling persist/persistAsync from a future
Hi Joel, On Wed, May 6, 2015 at 6:22 PM, Joel yoel.am...@gmail.com wrote: Hi, Calling the persist or persistAsync from a future created during receiveCommand does not call the preceding handler and doesn't produce an error event neither. class PublisherActor extends PersistentActor { def receiveCommand: Receive = { case cmd: MyCmd = { println(cmd received!) send(cmd) recover { // send is an async operation returning a future case t = { println(persisting...) persistAsync(cmd)(c = println(persisted!!!) } } } case _ = println(received other cmd!) } } running the code above (when the send future throws an exception) prints: cmd received! persisting... but persisted!!! is not printed - moving the persistAsync line of code outside the future call (before 'send') works fine, any ideas why calling inside the future does not work for me? You are closing over actor state in a Future callback. This is an absolute no-go, you should never do that. The problem is that the future callback will run on a different thread, accessing the actor state unsafely, and concurrently. Both of these violate the basic integrity of the actor resulting in undefined behavior. If you want to act on a result of a Future inside an actor, you should use the pipe pattern. Also, recover is for recovering from an exception (see the signature: recover[U : T](pf: PartialFunction[Throwable, U])), your recover action will not run if the future finished successfully. -Endre Thanks, Joel -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Akka Team Typesafe - Reactive apps on the JVM Blog: letitcrash.com Twitter: @akkateam -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] Help desparately needed in motivating containerless deployment in mature enterprise
Thanks, I've gone down that route, but change management is a difficult thing. Especially if you are dealing with individuals who have been using a certain approach for many years. You really need to proof value to business, and at the same time be ready to back your claims. Cheers -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] PersistentActor - calling persist/persistAsync from a future
Thanks for your answer Endre, My purpose is to try sending the received command to some external resource (e.g. mq) asynchronously and persist the command only in case of an exception with the sending so that it could be replayed (resent) at a later time - that's why the persist done inside the recover. Using the pipe pattern sounds like a perfect solution. Joel On Wednesday, May 6, 2015 at 7:30:37 PM UTC+3, Akka Team wrote: Hi Joel, On Wed, May 6, 2015 at 6:22 PM, Joel yoel@gmail.com javascript: wrote: Hi, Calling the persist or persistAsync from a future created during receiveCommand does not call the preceding handler and doesn't produce an error event neither. class PublisherActor extends PersistentActor { def receiveCommand: Receive = { case cmd: MyCmd = { println(cmd received!) send(cmd) recover { // send is an async operation returning a future case t = { println(persisting...) persistAsync(cmd)(c = println(persisted!!!) } } } case _ = println(received other cmd!) } } running the code above (when the send future throws an exception) prints: cmd received! persisting... but persisted!!! is not printed - moving the persistAsync line of code outside the future call (before 'send') works fine, any ideas why calling inside the future does not work for me? You are closing over actor state in a Future callback. This is an absolute no-go, you should never do that. The problem is that the future callback will run on a different thread, accessing the actor state unsafely, and concurrently. Both of these violate the basic integrity of the actor resulting in undefined behavior. If you want to act on a result of a Future inside an actor, you should use the pipe pattern. Also, recover is for recovering from an exception (see the signature: recover[U : T](pf: PartialFunction[Throwable, U])), your recover action will not run if the future finished successfully. -Endre Thanks, Joel -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com javascript:. To post to this group, send email to akka...@googlegroups.com javascript:. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Akka Team Typesafe - Reactive apps on the JVM Blog: letitcrash.com Twitter: @akkateam -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] using Akka with Kamon...
Ivan, Sorry about the cross post. I was not sure where I should post. I am using Kamon 0.3.5 On Wednesday, May 6, 2015 at 5:51:27 AM UTC-7, Ivan Topolnjak wrote: Hello TS! I just replied to you other email, please disregard that thread and post your answer here.. what Kamon version are you using? On Wed, May 6, 2015 at 3:07 AM TS test.te...@gmail.com javascript: wrote: I just started using Kamon. I am getting an error while weaving (This happens when my tests run. My surefire plugin has argLine with javaagent pointing to aspectjweaver.jar Any words of wisdom would be appreciated. Thanks in advance, TS java.lang.Exception: Unexpected exception, expectedjava.lang.ClassCastException but wasjava.lang.IncompatibleClassChangeError at akka.instrumentation.ActorCellInstrumentation.afterCreation(ActorCellInstrumentation.scala:42) at akka.actor.ActorCell.init(ActorCell.scala:397) at akka.actor.LocalActorRef.newActorCell(ActorRef.scala:320) at akka.actor.LocalActorRef.init(ActorRef.scala:316) at akka.actor.LocalActorRefProvider$$anon$1.init(ActorRefProvider.scala:574) at akka.actor.LocalActorRefProvider.rootGuardian$lzycompute(ActorRefProvider.scala:574) at akka.actor.LocalActorRefProvider.rootGuardian(ActorRefProvider.scala:573) at akka.actor.LocalActorRefProvider.init(ActorRefProvider.scala:628) at akka.actor.ActorSystemImpl.liftedTree2$1(ActorSystem.scala:663) at akka.actor.ActorSystemImpl._start$lzycompute(ActorSystem.scala:660) at akka.actor.ActorSystemImpl._start(ActorSystem.scala:660) at akka.actor.ActorSystemImpl.start(ActorSystem.scala:676) at akka.actor.ActorSystem$.apply(ActorSystem.scala:143) at akka.actor.ActorSystem$.apply(ActorSystem.scala:110) at akka.actor.ActorSystem$.create(ActorSystem.scala:58) at akka.actor.ActorSystem.create(ActorSystem.scala:1) -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com javascript:. To post to this group, send email to akka...@googlegroups.com javascript:. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
[akka-user] Debugging Akka Cluster
Every time I set a breakpoint in an actor involved with Actor Clustering, the phi detector triggers and marks that node as Unreachable. Is there a way to prevent this during debugging? -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] Debugging Akka Cluster
Even though you may have partial success with configuring the failure detector different during debugging, in general a classical debugger is just not applicable to a distributed application, you cannot really “stop the world”. Debugging means tracing and logging in these cases, for the core parts we actually use println but you can rely upon Actors doing what they should ;-) Regards, Roland 7 maj 2015 kl. 04:50 skrev Jeff jknight12...@gmail.com: Every time I set a breakpoint in an actor involved with Actor Clustering, the phi detector triggers and marks that node as Unreachable. Is there a way to prevent this during debugging? -- Read the docs: http://akka.io/docs/ http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com mailto:akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com mailto:akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout https://groups.google.com/d/optout. Dr. Roland Kuhn Akka Tech Lead Typesafe http://typesafe.com/ – Reactive apps on the JVM. twitter: @rolandkuhn http://twitter.com/#!/rolandkuhn -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] [java 2.3.x] Cluster response not working
Hi Endre, I got rid of the persistence to make it easier to recreate the problem. The github repo with instructions in the readme.md to recreate the issue are here: https://github.com/chanan/java-cqrs-starter/tree/feature/ask-not-working -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.