Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Oct 14 21:02
    Aaronontheweb synchronize #3975
  • Oct 14 21:02
    Aaronontheweb opened #3975
  • Oct 14 20:11
    IgorFedchenko commented #3973
  • Oct 14 20:10
    IgorFedchenko synchronize #3973
  • Oct 14 20:06
    IgorFedchenko synchronize #3973
  • Oct 14 20:06
    IgorFedchenko synchronize #3973
  • Oct 14 19:42
    IgorFedchenko edited #3973
  • Oct 14 18:08
    Aaronontheweb commented #3937
  • Oct 14 17:27
    Aaronontheweb commented #90
  • Oct 14 17:26
    Aaronontheweb commented #90
  • Oct 14 17:25
    Aaronontheweb assigned #90
  • Oct 14 17:16

    Aaronontheweb on dev

    Provide static GetRoutees.Insta… (compare)

  • Oct 14 17:16
    Aaronontheweb closed #3974
  • Oct 14 17:16
    Aaronontheweb milestoned #3974
  • Oct 14 16:05
    jackowild opened #90
  • Oct 14 15:08
    Aaronontheweb commented #3974
  • Oct 14 15:08
    Aaronontheweb commented #3974
  • Oct 13 14:40
    cptjazz synchronize #3974
  • Oct 13 14:07
    cptjazz opened #3974
  • Oct 13 08:30
    ismaelhamed commented #3937
Marc Piechura
@marcpiechura
@ZoolWay @peter-bannerflow yep that's right
Ricky Blankenaufulland
@ZoolWay
Good to know, thanks! @Silv3rcircl3 @peter-bannerflow
Jared Lobberecht
@Jared314
Is there a form of the Akka.Tools.MatchHandler.MatchBuilder.Match that accepts a MethodInfo object?
Aaron Stannard
@Aaronontheweb
@skills0 in a 2-node cluster unless both nodes have the other node listed as a seed node, you are going to run into that
that's on you, in other words
if one node is a seed and the other isn't
when the seed node restarts
it knows it's a seed
and will join itself and form its own cluster if there are no other seeds listed
so you'll end up with a split brain
Akka.Cluster is not magic - it uses the same dynamo-style clustering system that Cassandra, Riak, DynamoDb, and others use
all of those systems require minimum seed node count >= 2
@ZoolWay I did disable Helios's logging system inside Akka.Remote so I'm a bit surprised this shows up
ERROR 13:55:24 [ 3] ios.TcpClientHandler - Error caught channel [[::ffff:127.0.0.1]:12301->[::ffff:127.0.0.1]:4053](Id=ChannelId(1600056064))
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'System.Net.Sockets.Socket'.
   at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, SocketError& errorCode)
   at Helios.Channels.Sockets.TcpSocketChannel.DoReadBytes(IByteBuf buf)
   at Helios.Channels.Sockets.AbstractSocketByteChannel.SocketByteChannelUnsafe.FinishRead(SocketChannelAsyncOperation operation)
ERROR 13:55:24 [ 3] ios.TcpServerHandler - Error caught channel [[::ffff:127.0.0.1]:12300->[::ffff:127.0.0.1]:12311](Id=ChannelId(-18529280))
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'System.Net.Sockets.Socket'.
   at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, SocketError& errorCode)
   at Helios.Channels.Sockets.TcpSocketChannel.DoReadBytes(IByteBuf buf)
   at Helios.Channels.Sockets.AbstractSocketByteChannel.SocketByteChannelUnsafe.FinishRead(SocketChannelAsyncOperation operation)
that exception is nothing to worry about
happens in Helios and in DotNetty whenever a socket is closed, even gracefully
Aaron Stannard
@Aaronontheweb
the SocketAsyncEventArgs object that those libraries use to asynchronously read / write from the socket is always waiting in a read state
when we close the socket, we have to interrupt the pending async read operation in order to complete shutdown
that exception is what's doing it
I have it on my to-do list to review some of the inocuous remoting exceptions and prevent them from being logged
in this case the reason why you're seeing two instances of the exception
one is for the client currently connected to another node
the other is for the socket that is used to accept inbound connections
Peter Bergman
@peter-bannerflow
Nice, I wa actually scratching my head over that one as well
Aaron Stannard
@Aaronontheweb
yeah, it's annoying
the exception gets thrown on that Socket.Receive call
which is basically what's going to be run asynchronously by the SocketAsyncEventArgs object we're using
we could probably handle that up the stack better
so in effect
the fact that we have these inocuous errors
is a user-experience issue on our part
Aaron Stannard
@Aaronontheweb
makes the user think they did something wrong
when they didn't
Peter Bergman
@peter-bannerflow
Yeah
Aaron Stannard
@Aaronontheweb
We might release 1.1.1 today
depends on if I can get one more hostname / binding bug fixed
fixed IPV6 support already
have one more issue with public-hostname that needs to be resolved
Peter Bergman
@peter-bannerflow

Here goes a kind of an open question... Does anyone have some insights to share on Akka.Cluster perfomance in terms of throughput of messages from the network into the actor system. For example, what kind of throughput can we expect to one single actor (running on one machine) that receives messages from other remote nodes in the cluster? Of course it depends on what that actor actually do with the messages as well as hardware specs and such but any insights would be appreciated. Real world experience anyone? For example, can we expect 10k messages/second or 100k messages/second. I have seen this article https://petabridge.com/blog/performance-testing-mandatory/ and from that I gather that around 10k messages/second is reasonable?

Also, does anyone have some insight in OS (Windows Server) level tweaks that could be made in order to increase the message throughput into the actor system from the network?

Aaron Stannard
@Aaronontheweb
check out the benchmarks on each pull request
green check mark next to perf-tests
that will take you to a folder chock full of them
there's remote one way and remote two way specs for the current transport
two way is a full request response chain
Peter Bergman
@peter-bannerflow
Hmm yeah ok, I found a lot of them (like this for example http://petabridge-ci.cloudapp.net/viewLog.html?buildId=13097&buildTypeId=AkkaNet_AkkaNetWindowsPerformanceTests&tab=artifacts) if that is what you mean?
Aaron Stannard
@Aaronontheweb
yep
the Akka.Remote Helios transport ones
are the live transport
Peter Bergman
@peter-bannerflow
Yeah ok
Aaron Stannard
@Aaronontheweb
now I just gave a talk on this yesterday