Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 15:57
    Aaronontheweb closed #3877
  • 15:57
    Aaronontheweb commented #3877
  • 15:56

    Aaronontheweb on dev

    Persistence TestKit documentati… (compare)

  • 15:56
    Aaronontheweb closed #3889
  • 07:27
    dependabot-preview[bot] labeled #3999
  • 07:27

    dependabot-preview[bot] on nuget

    Bump FluentAssertions from 4.14… (compare)

  • 07:27
    dependabot-preview[bot] opened #3999
  • Oct 20 17:25
    valdisz synchronize #3889
  • Oct 20 17:17
    valdisz synchronize #3889
  • Oct 20 15:44
    valdisz synchronize #3889
  • Oct 20 09:22
    ismaelhamed commented #3863
  • Oct 19 23:39
    valdisz synchronize #3889
  • Oct 19 23:08
    edvinasz commented #2947
  • Oct 19 13:36
    Aaronontheweb commented #3973
  • Oct 19 13:34
    dependabot-preview[bot] synchronize #3995
  • Oct 19 13:34

    dependabot-preview[bot] on nuget

    Bump BenchmarkDotNet from 0.10.… (compare)

  • Oct 19 13:34
    dependabot-preview[bot] edited #3995
  • Oct 19 13:34
    dependabot-preview[bot] synchronize #3993
  • Oct 19 13:34

    dependabot-preview[bot] on nuget

    Bump Google.Protobuf from 3.9.1… (compare)

  • Oct 19 13:34
    dependabot-preview[bot] synchronize #3991
Andrey Leskov
@andreyleskov
schema is : publish message to event stream -> controller with pool router -> persistence actor living in controller internal collection
Bartosz Sypytkowski
@Horusiath
it would be good to make sure on which connection message has been lost
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...