Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Oct 16 22:15
    Aaronontheweb synchronize #3889
  • Oct 16 21:00
    dependabot-preview[bot] synchronize #3986
  • Oct 16 21:00

    dependabot-preview[bot] on nuget

    Bump NUnit from 3.6.1 to 3.12.0… (compare)

  • Oct 16 21:00
    dependabot-preview[bot] synchronize #3985
  • Oct 16 21:00

    dependabot-preview[bot] on nuget

    Bump FsCheck.Xunit from 2.9.0 t… (compare)

  • Oct 16 21:00
    dependabot-preview[bot] synchronize #3983
  • Oct 16 21:00

    dependabot-preview[bot] on nuget

    Bump ApprovalUtilities from 3.0… (compare)

  • Oct 16 21:00
    dependabot-preview[bot] edited #3985
  • Oct 16 21:00
    dependabot-preview[bot] edited #3986
  • Oct 16 21:00
    dependabot-preview[bot] synchronize #3982
  • Oct 16 21:00
    dependabot-preview[bot] synchronize #3987
  • Oct 16 21:00

    dependabot-preview[bot] on nuget

    Bump FsPickler from 5.2.0 to 5.… (compare)

  • Oct 16 21:00

    dependabot-preview[bot] on nuget

    Bump LightningDB from 0.9.8 to … (compare)

  • Oct 16 21:00
    dependabot-preview[bot] edited #3982
  • Oct 16 21:00
    dependabot-preview[bot] edited #3983
  • Oct 16 21:00
    dependabot-preview[bot] edited #3987
  • Oct 16 20:59
    dependabot-preview[bot] edited #3982
  • Oct 16 20:59
    dependabot-preview[bot] edited #3985
  • Oct 16 20:59
    dependabot-preview[bot] edited #3987
  • Oct 16 20:59
    dependabot-preview[bot] edited #3986
Roger Johansson
@rogeralsing
@mgnslndh I dont think there is, personally I mostly use normal ReceiveActor and Become/Unbecome for statemachines, but the FSM actor adds some more features, such as changing behavior based on time
Rambo Ong
@rambo406
@Zetanova Is it possible to just replay everything inside EventJournal table? From the file you attached, I can see it is only replay for a single entity.
Magnus Lindhe
@mgnslndh
@rogeralsing Ok, maybe I'll try that instead. Seems to me that using FSM<TState,TData> you should only tell that actor a message of TData. But using Become/Unbecome you can setup exactly which messages are expected for each state.
Roger Johansson
@rogeralsing
exactly. become/unbecome is a lot easier to read IMO as the code gets separated. (that might be a matter of taste though, but for me at least)
Zetanova
@Zetanova
@rambo406 dont see any message beside ReplayMessages, but it requires a PersisitenceId , maybe @Horusiath knows something
Zetanova
@Zetanova
This message was deleted
Bartosz Sypytkowski
@Horusiath

How to deside when to put logic in the AR and when to extract it to a ProcessManager.

My rule of thumb for ProcessManager/Saga is that, if aggregate needs to run a process, which requires participation of another aggregate and cannot be fulfilled in a single step (so many message must be passed between those two), then this is a place where saga/manager will be necessary

@rambo406 @Zetanova Query side is heavily dependent on underlying journal representation. For SQL-based journals you can use query requests - but in real life scenario you probably want to put constraints on them.
Aaron Stannard
@Aaronontheweb
@rogeralsing yeah, there's someone in here who's been working on it
CouchDB persistence
voltcode
@voltcode
hi @Aaronontheweb, I noticed a difference in first "healthy" join and the second on remoting layer- in first case the sequence is Outbound Unassociated, sendAssociate, OutboutUnderlyingAssociated. On the second "failed" join, the sequence of remoting actions is outboundUnassociated, sendAssociation and InboundUnassociated on the node thats trying to join. Do you know what's causing that difference ? Could it be the quarantining by the other node?
another difference is that EndpointWriter in healthy join on the seed node has a handle set, so PreStart starts the ReadEndpoint, but on the failed join it tries to Associate with refuseUid=null
which causes AssociateUnderlyingRefuseUid to circulate and break out from the previous healthy flow
there's so much going on in remote that I don't know which place to start :/ I'v spent a couple of hours today on debugging and drawing the message flows and state changes to no avail
and on cluster layer, downing of the quarantined node so that reincarnation can join is repeated over and over where it should do it once and then let it join
Aaron Stannard
@Aaronontheweb
make sure you add all of that to the issue if you haven't already
I haven't had a chance to block out time yet to go through it
but all of this detail will help me
voltcode
@voltcode
ok I will
voltcode
@voltcode
I tried running some MNTK tests for the first time and I noticed that MNTK has xunit 2.0 reference while cluster.tools.tests reference xunit 2.1 and therefore crashes when running in MNTK - I remember there was an issue with xunit version before, but can't find it now - should I create an issue for this ?
ah I see akkadotnet/akka.net#1616 - theres a comment from @Horusiath - not sure if I should create new issue or should we change the title for #1616
voltcode
@voltcode
I can do the change for xunit package, not sure about testing with dnx though
Bartosz Sypytkowski
@Horusiath
@voltcode could you change xunit for cluster.tools.tests to 2.0? NuGet is so stupid, it always assumes the latest version, not the one currently used in solution
voltcode
@voltcode
Ok I'll go through all projects and ensure they are all on xunit 2.0
Bartosz Sypytkowski
@Horusiath
I think that VS2015 should have finally NuGet version equalizer on solution level. But I'm not sure
Hyungho Ko
@hhko
Gated policy happens when a node shuts down.
so ActorSystem will block all connections to reconnect with its node while 5 seonds by default.
I want to reconnect automatically after Gated policy is finished.
how to solve it?
Hyungho Ko
@hhko
Can Client(Connector) know that Server ActorSystem is Gated state now?
ilhadad
@ilhadad
@rogeralsing I am putting the final touches on the Couchbase plugin. For now you can see it here -> https://github.com/ilhadad/Akka.Persistence.CouchBase
Zetanova
@Zetanova
Is it possible to intercept a PoisonPill ?
I overwrote AroundPostStop and it worked, but not anymore somehow
Zetanova
@Zetanova
never mind, resolved it with a own stop message
preguntoncojonero
@preguntoncojonero
I'm newbie with Akka.net. Any full source code business real application using Akka with good patterns and practices? "code in production"
Bartosz Sypytkowski
@Horusiath

I'm working on example which touches things like:

  • Event sourcing with aggregate roots
  • Event versioning
  • Saga patterns

however right now it's far from being complete. I'll try to work on it once I'll got some more time.

Vlad Kosarev
@vladkosarev
@Horusiath out of curiosity, why are you using Bond serializer in that project?
Bartosz Sypytkowski
@Horusiath
IMO for persistence you should rely on serialization lib, which has well defined and evolution tolerant schema. So basically proto-buf, FlatBuffers or Bond - and I wanted to try using Bond anyway ;)
Vlad Kosarev
@vladkosarev
got it, I've been using protobuf for exactly your scenario so was wondering why bond
Bartosz Sypytkowski
@Horusiath
just for fun ;)
Vlad Kosarev
@vladkosarev
that's legit ;)
Bartosz Sypytkowski
@Horusiath
@rogeralsing question for dispatchers - since we know the throughtput used by a dispatcher, couldn't we somehow utilize this knowledge when dispatching messages? Default Schedule method totally lacks any context, that could be potentially used for optimization. Also I think, we have a little perf drop again - I remember some time ago, that ping-pong benchmark was able to do 27mln msgs/sec, now it's 23-25 mln msgs/sec
Roger Johansson
@rogeralsing
Hmmmm, we havent touched the core for ages. Wonder what is causing it
Bartosz Sypytkowski
@Horusiath
the reason I ask is that I've created a dispatcher for Hopac. It turns out that for throughput = 1 it outperforms our default dispatcher (Hopac: 4.7mln vs Default: 3.6mln), but with the throughput increasing it looks much worse
Roger Johansson
@rogeralsing
Id say that the mailbox pipeline is pretty tight though, scheduling only push to threadpool if there are no other messages on the queue
Oh
Bartosz Sypytkowski
@Horusiath
and I don't know Hopac, it could be probably optimized
Roger Johansson
@rogeralsing
The big cost for t=1 is scheduling on the threadpool, if hopac has its own work queue that would explain why they are faster there
voltcode
@voltcode
can I assign myself to an issue on github ?
Arjen Smits
@Danthar
if you have the rights sure.
if not :P which issue are you talking about ?
Arjen Smits
@Danthar
@voltcode ah your talking about #1720 right. Ill fix that for you
ah wait. cant. your not in the org.