Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Apr 09 20:50
    andersstorhaug commented #4876
  • Apr 09 20:48
    andersstorhaug commented #4876
  • Apr 09 20:47
    andersstorhaug commented #4876
  • Apr 09 20:46
    andersstorhaug commented #4876
  • Apr 09 20:46
    andersstorhaug commented #4876
  • Apr 09 20:23
    andersstorhaug commented #4876
  • Apr 09 20:18
    andersstorhaug commented #4876
  • Apr 09 20:17
    andersstorhaug commented #4876
  • Apr 09 20:14
    andersstorhaug commented #4876
  • Apr 09 19:58
    Aaronontheweb commented #4922
  • Apr 09 19:47
    andersstorhaug commented #4876
  • Apr 09 14:12
    Arkatufus synchronize #4922
  • Apr 09 14:12
    Arkatufus synchronize #4926
  • Apr 09 14:11
    Arkatufus unlabeled #4921
  • Apr 09 14:11
    Arkatufus unlabeled #4921
  • Apr 09 14:11
    Arkatufus labeled #4921
  • Apr 09 14:10
    Arkatufus commented #4878
  • Apr 09 14:09
    Arkatufus commented #4878
  • Apr 09 14:06
    Arkatufus labeled #4922
  • Apr 09 14:06
    Arkatufus labeled #4922
Aaron Stannard
@Aaronontheweb
but without seeing that
I'm just guessing
if these are just child actors to some other actor then 100% of that state is private and self-contained
Christian Duhard
@cduhard
the actors that use this router are PersistenActors
the router is shared amongst persistent actors created by a parent coordinator
none of this was happening until i converted the routed actors from ReceiveActor to ActorBase
return Akka.Actor.Props.Create(() => new Account(id, OtherRouter, ContactVerifier));
like that
thats how the router gets used, it only receives messages from siblings
Aaron Stannard
@Aaronontheweb
so the child actors inherit directly from ActorBase?
why that instead of ReceiveActor?
Christian Duhard
@cduhard
yes
I'll try changing it back and see if that's the cause here. it's weird that the other router doesn't do this
Christian Duhard
@cduhard
same problem
ok, it seems to be happing everytime UpdateState gets called in the persistent actor
Christian Duhard
@cduhard
if i log there these messages are interleaved
its definitely related to the journal replay. why/how no clue...
Christian Duhard
@cduhard
there is nothing related to those routers happing in UpdateState
Roger Johansson
@rogeralsing
@Horusiath can you create a gist with the failing serialization cases?
Bartosz Sypytkowski
@Horusiath
rogeralsing/Wire#13
Roger Johansson
@rogeralsing
:+1:
Bartosz Sypytkowski
@Horusiath
@rogeralsing how do you emit code for type serializers?
Roger Johansson
@rogeralsing
using Linq.Expressions
stupid question maybe but the immutabledictionary, is that from F#? or from one of the immutable collection libs?
Bartosz Sypytkowski
@Horusiath
each immutable data type has static method CreateRange<T>(IEnumerable<T>) or CreateRange<TKey, TValue>(IEnumerable<KeyValuePair<TKey, TValue>>)
no, it's the one from MS
in F# (and any language not being C#) it's called a Map
Roger Johansson
@rogeralsing
ok, yes I see the problem here, I have a half-assed impl for serializing ienumerables. I need to finish that
Kamil Wojciechowski
@aph5nt
yo, I need some help
I have a schedule defined like this
moduleActor.System.Scheduler.ScheduleTellRepeatedly(TimeSpan.FromSeconds(startAfter()), TimeSpan.FromSeconds(settings.Scheduler.PlayGame), moduleActor.GameActor, Draw(getDate().Value))
and the question is how to enforce Draw message to be send with the new datetime eachtime ?
(its f# related question)
it seems that this is being cached
even if I use getDate() method
tried with fun()-> Draw(DateTime.UtcNow) - but still same behaviour
should I write my schedules in C# ? :D
Zetanova
@Zetanova
@aph5nt fun()-> Draw(DateTime.UtcNow) shoudl work. maybe if u miss some executions and the scheduler is queuing/executiong them rapitly later.
Zetanova
@Zetanova
@aph5nt Near all graphic engines using a dedicated thread to render and maybe double buffering for it. YOu can use the same thread or create a deticted for your rendering too. you can use the scheduler not for doing "work" just set an AutoResetEvent on it.
Kamil Wojciechowski
@aph5nt
@Zetanova : I used System.Threading.Timer as a workaround - works fine now
Kamil Wojciechowski
@aph5nt
What is the proper way for recovering persistend actor from failure? I can handle a RecoveryFailure message
but what should I do then ? return state ?
| :? RecoveryFailure as e -> state
??
Bartosz Sypytkowski
@Horusiath
@aph5nt bascially, the best way is to stop an actor and recover it later in the future
taking into account, that recovery logic should consist only from the state updates, the thing that most probably can go wrong is failure of data store used by the journal
i.e. when database is dead. In this case immediate recreation of the PA has no sense, it's better to apply some exponential backoff and try to recreate it later
Kamil Wojciechowski
@aph5nt
@Horusiath thx
Bartosz Sypytkowski
@Horusiath
This message was deleted
Christian Duhard
@cduhard
i am back at trying to figure out why I am getting [Debug] Resolve of path sequence [/"user/contact-pool-e4338572-5484-4e67-94d5-59e7289d207e/$b"] failed when the journal replays