Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 21:29
    Aaronontheweb commented #3863
  • 21:28
    Aaronontheweb synchronize #3863
  • 21:18
    Aaronontheweb synchronize #4000
  • 21:17
    Aaronontheweb commented #3964
  • 21:17
    Aaronontheweb commented #3964
  • 21:16
    Aaronontheweb synchronize #3964
  • 21:12
    Aaronontheweb commented #3964
  • 21:08
    Aaronontheweb synchronize #71
  • 21:04
    Aaronontheweb synchronize #3973
  • 21:00
    Aaronontheweb commented #71
  • 20:58

    Aaronontheweb on dev

    Akka.Persistence.TCK fix - chec… (compare)

  • 20:58
    Aaronontheweb closed #4002
  • 20:51
    Aaronontheweb synchronize #4002
  • 20:45
    Aaronontheweb commented #3811
  • 20:45
    Aaronontheweb commented #3811
  • 20:44
    Aaronontheweb labeled #4002
  • 20:43
    Aaronontheweb milestoned #4002
  • 20:43
    Aaronontheweb opened #4002
  • 20:37
    Aaronontheweb synchronize #71
  • 20:20
    Aaronontheweb synchronize #71
Andrey Leskov
@andreyleskov
I suspect hashing logic, and even added logging inside )) But cannot make logging work for now, investigating
Bartosz Sypytkowski
@Horusiath
heh, I've never liked routers (especially CH), too much magic. Never used them in any practical scenario and I'm still happy, that they're not going to be a part of akka-typed
Andrey Leskov
@andreyleskov
I'll try to remove ConsistentHashingPool at all as an option
BTW: i have a stream of events published to EventStream, and stateless handlers writing events into DB
How would you recommend to parallel handlers work? I'm using random pool for now
Bartosz Sypytkowski
@Horusiath
this week I was working on new sql journal impl, which was optimized to handle much greater amount of requests than previous one using request batching (see: #2389)
Andrey Leskov
@andreyleskov
@Horusiath cool ! Can't wait for it
and is their any plans to remove startup query for all ids in database ?
select distinct PersistenceId from Journal
Bartosz Sypytkowski
@Horusiath
but this is quite big amount of code. For simpler case you can simply use random pools. I don't even know if EventStream is really what you need. I'm used to just passing actor reference to destination actor in constructor or in message itself.
@andreyleskov yes, I've removed it. Now it will be only called once, when someone actually will request for all persistence ids
Andrey Leskov
@andreyleskov
yesss! thank you a lot ^_^
Bartosz Sypytkowski
@Horusiath
I thank you ;) Your feedback was really welcome here.
Andrey Leskov
@andreyleskov
after several months in production I have 1.5 millions ids, so query is killing my db on start
Andrey Leskov
@andreyleskov
btw : after investigation it seems if I subscribe an actor with consistent hashing pool to EventStream only one of several spawned pool children will receive messages
will create a reproducable test
Andrey Leskov
@andreyleskov
no, it is wrong hypothesis
Andrey Leskov
@andreyleskov
It seems it is my fault - receivers just die with time >_<
Andrey Leskov
@andreyleskov
@Horusiath Thanks a lot for help, I've shooted myself : " If a third party terminates a child by way of the system.Stop(child) method or sending a PoisonPill, the supervisor might well be affected."
controller terminates children after inactivity : they call Context.Stop(self)
and controller watches over them to get Terminated message
and dies after first clean
Maxim Cherednik
@maxcherednik
hi guys, got a short q. Do I need to cache my request messages?
so that to avoid gc pressure
Aaron Stannard
@Aaronontheweb
@maxcherednik cache it for what?
Aaron Stannard
@Aaronontheweb
(just so I better understand the context)
Maxim Cherednik
@maxcherednik
@Aaronontheweb for instance I am doing 10 mln requests to some other actors, someActor.Tell(new Request())
Maxim Cherednik
@maxcherednik
I know I should just measure it. I just observed lots of gc in visual studio metrics. I was just wondering about general approach in akka. But since I didn't find anything on google, this problem does not exist. Or even better, 10 mln requests? probably I should just reconsider my implementation...
Maxim Cherednik
@maxcherednik
Screen Shot 2016-12-04 at 10.30.05.png
Michael Pavlovsky
@michaelp
Hi. I am looking for akka-testkit analog for akka.net ; In general, What is advised way of unit test a single actor? I am looking for a snippet similar to the following scala code
val actorRef = TestActorRef(new MyActor)
Aaron Stannard
@Aaronontheweb
@michaelp we have the Akka.TestKit
any core devs who can review akkadotnet/akka.net#2398 ?
Michael Pavlovsky
@michaelp
@Aaronontheweb thanks, i found it. I wish it were part of the documentation page.
Aaron Stannard
@Aaronontheweb
yeah, we need to add some to the site still
in the process of hiring some people now who will help us work on Akka.NET full-time, so going through some growing pains at the moment
us being Petabridge, in this case
Ricky Blankenaufulland
@ZoolWay
Hi! I got a child actor failing, the parent provides a supervisor strategy for that exception of Restart. And then failing actor instance executes PreRestart and PostStop - but no new instance is created, no call of the constructor, PostRestart or PreStart. Has somebody a hint how the restart might fail?
Bas Bossink
@basbossink
Is there any particular reason that a lot of Exceptions in Akka.net are not marked with the [Serializable] attribute
?
Aaron Stannard
@Aaronontheweb
nope
not as far as I know
Bas Bossink
@basbossink
oh, I'm currently getting a serialization exception on the InvalidActorNameException and searched the code a bit. Some exception types have the [Serializable] attribute but most do not, is it worth the effort to submit a github for this and a corresponding pull-request that fixes this?
github issue.
Kris Schepers
@schepersk

@Horusiath Still investigating my issue here.. In the logs I find the following:
2016-12-03 10:10:17.0387|ERROR|Akka.Remote.Transport.Helios.TcpServerHandler|Error caught channel [::ffff:10.20.3.25]:8251->[::ffff:10.20.4.23]:59831)|System.Net.Sockets.SocketException (0x80004005): An existing connection was forcibly closed by the remote host
at Helios.Channels.Sockets.SocketChannelAsyncOperation.Validate()
at Helios.Channels.Sockets.AbstractSocketByteChannel.SocketByteChannelUnsafe.FinishRead(SocketChannelAsyncOperation operation)
2016-12-03 10:10:17.0856|ERROR|Akka.Remote.Transport.Helios.TcpServerHandler|Error caught channel [::ffff:10.20.3.25]:8251->[::ffff:10.20.4.23]:59831)|System.Net.Sockets.SocketException (0x80004005): An existing connection was forcibly closed by the remote host
at Helios.Channels.Sockets.SocketChannelAsyncOperation.Validate()
at Helios.Channels.Sockets.AbstractSocketByteChannel.SocketByteChannelUnsafe.FinishRead(SocketChannelAsyncOperation operation)

This is followed by a disassociation.
Funny thing is that our nodes are alle configured tu work in the 8250 to 8259 port range. Why would port 59831 be used?

Bartosz Sypytkowski
@Horusiath
@schepersk don't know. Are you using explicit port definition, or just pass 0?
Kris Schepers
@schepersk

@Horusiath explicit port definitions..

remote {
log-remote-lifecycle-events = DEBUG
helios.tcp {
transport-class = "Akka.Remote.Transport.Helios.HeliosTcpTransport, Akka.Remote"
applied-adapters = []
transport-protocol = tcp
hostname = "127.0.0.1"
port = 8251
}
}
like this..

Bartosz Sypytkowski
@Horusiath
it's strange...
I would say that this may be a configuration issue.
Kris Schepers
@schepersk
is there another part in hocon where you have to define a port for clustering?