I need your recommendation about the following:A service is processing large number of files. Each file is varying in size, so its processing time varies.Each file name is persisted, before being actually processed.Sometimes, the processing service gets restarted, and thus persistence recovering takes place.Here is the issue:I'm getting duplicates due to recovered messages and messages read by the watch folder. Adding to this multi-nodes in a cluster and things become strange.Yes I'm using Entities and Singletons.Question: What is the best way to avoid message duplication and tracking its state without going to my own persistence implementation ?

Hello, hoping for some guidance on an intermittent problem my team are having with Akka.Remote since upgrading from 1.0.8 to 1.3.2.

So we have actor system A initiating a remote connection to actor system B via actor selection. When we restart actor system A, most of the time it reconnects to actor system B with no problems.

However, sometimes we get an ActorNotFoundException in system A. We've written some retry logic so that it tries again every minute but we still get the ActorNotFoundException. To fix this, we have to restart actor system A.

Meanwhile over in actor system B, every time the restarted actor system A attempts to connect there are 2 log messages:[11/30/2017 2:59:53 AM +00:00] [Warning] "AssociationError [akka.tcp://TestSystem@test:8097] -> akka.tcp://TestSystem@127.0.0.1:50661: Error [Association failed with akka.tcp://TestSystem@127.0.0.1:50661] []"

Followed by:[11/30/2017 2:59:53 AM +00:00] [Warning] Tried to associate with unreachable remote address ["akka.tcp://TestSystem@127.0.0.1:50661"]. Address is now gated for 5000 ms, all messages to this address will be delivered to dead letters. Reason: ["Association failed with akka.tcp://TestSystem@127.0.0.1:50661"] "Caused by: [System.AggregateException: One or more errors occurred. ---> Akka.Remote.Transport.InvalidAssociationException: No connection could be made because the target machine actively refused it tcp://TestSystem@127.0.0.1:50661
at Akka.Remote.Transport.DotNetty.TcpTransport.<AssociateInternal>d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Akka.Remote.Transport.DotNetty.DotNettyTransport.<Associate>d__22.MoveNext()
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
at System.Threading.Tasks.Task`1.get_Result()
at Akka.Remote.Transport.ProtocolStateActor.<>c.<InitializeFSM>b__11_54(Task`1 result)
at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
---> (Inner Exception #0) Akka.Remote.Transport.InvalidAssociationException: No connection could be made because the target machine actively refused it tcp://TestSystem@127.0.0.1:50661
at Akka.Remote.Transport.DotNetty.TcpTransport.<AssociateInternal>d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Akka.Remote.Transport.DotNetty.DotNettyTransport.<Associate>d__22.MoveNext()<---
]"

As I said above, the only way to fix this is to restart actor system A. Anyone have any ideas how to fix this or is it a bug?

Hi guys, I'm getting an error when serializing an object and I would like to change the serializer of it. As I'm using a Pub/Sub, do I need to change the serializer for a Publish object or would it be for the object itself? I've tried the object itself but according to the stacktrace it looks like Hyperion is still used as opposed to the one that I configured ( JSON)

@jackowild if it is of any help I had that disconnection problem a few days ago with entities on a remote cluster and the problem was that the entity that was down had an exception that was unhandled that made the service to go down and got removed from the cluster. Then the other component couldn't communicate with it. Check if you have any unhandled code, catching awaits with timeouts, ContinueWith with cancelled/faulted tasks etc