Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Dec 12 15:42
    Aaronontheweb synchronize #4086
  • Dec 12 15:42
    Aaronontheweb closed #4083
  • Dec 12 15:42

    Aaronontheweb on dev

    Fix #4083 - Endpoint receive bu… (compare)

  • Dec 12 15:42
    Aaronontheweb closed #4089
  • Dec 12 15:42
    Aaronontheweb labeled #4093
  • Dec 12 15:42
    Aaronontheweb labeled #4093
  • Dec 12 15:42
    Aaronontheweb labeled #4093
  • Dec 12 15:42
    Aaronontheweb opened #4093
  • Dec 12 14:20
    Aaronontheweb commented #4092
  • Dec 12 14:14
    Aaronontheweb labeled #4089
  • Dec 12 14:14
    Aaronontheweb labeled #4089
  • Dec 12 14:11
    Aaronontheweb synchronize #4089
  • Dec 12 14:10
    Aaronontheweb synchronize #4086
  • Dec 12 14:09

    Aaronontheweb on dev

    Convert to ImmutableHashSet for… (compare)

  • Dec 12 14:09
    Aaronontheweb closed #4090
  • Dec 12 12:04
    nagytech synchronize #4092
  • Dec 12 11:53
    nagytech synchronize #4092
  • Dec 12 11:49
    nagytech edited #4092
  • Dec 12 11:40
    nagytech opened #4092
  • Dec 12 11:32
    nagytech edited #4091
Nikita Tsukanov
@kekekeks
I need some simple (eg. bubblesort), short (1-2 pages of code) and easy to comprehand example where Akka shines and 'classic' methods are being ugly
need that for presentation
any ideas?
Nikita Tsukanov
@kekekeks

When it comes to PersistentActor, you can't use more than one per it's persistence Id in akka cluster scope. They have to be singletons

What about synchronizing the states of the views? Storages like EventStore has some mechanims for subscribing to event streams.

Nikita Tsukanov
@kekekeks

something which might get improved by akka or are you bound by the TPL impl of Microsoft?

We are bound by the use of an ambient context backed by ThreadStatic field. This sort of things just won't work well with async/await, that's why a custom TaskScheduler is used. And that TaskScheduler don't execute stuff on threadpool like default does, it messes up with akka's internals to pause actor's mailbox and executes async callbacks on akka's dispatcher. That's why you shouldn't use it for anything other than I/O operations that absolutely have to be completed before processing the next message.

Bartosz Sypytkowski
@Horusiath
@kekekeks Persistent views synchronize themselfs in time interval (by default it's 5 sec) - this option can be turned off, then they are syncing on demand by sending Update message back to them. I know that this is bad, and when akka streams will be ready to be used, we'll change persistent views to use streaming, but until then we have to stick with that.
Nikita Tsukanov
@kekekeks
Is there any way to move this logic from views to persistence provider? So it can take the advantage of the streaming support of the underlying storage platform.
Bartosz Sypytkowski
@Horusiath
and AFAIK EventStore uses Atom protocol for subscription
Nikita Tsukanov
@kekekeks
It has multiple protocols for that
.NET/JVM clients don't use HTTP
HTTP is here for dirty non .NET/JVM peasants.
Anthony Brown
@bruinbrown
@kekekeks an example I've used is call centre applications where an agent can be in this really complicated state machine and Akka makes it easy, give me a minute and I'll make a gist of some code
Bartosz Sypytkowski
@Horusiath
If you use journal based on SyncWriteJournal or AsyncWriteJournal you may use akka.persistence.publish-plugin-commands - if you set this on, then journal will emit all of it's messages on the akka event stream
Anthony Brown
@bruinbrown
@kekekeks this is an example I've used, might be a bit long for a slide but people can grasp it since it's in the context of something they've likely experienced https://gist.github.com/bruinbrown/f8a45074f5bc114d1b69
Nikita Tsukanov
@kekekeks
Oh, thanks
FSM stuff, yay
Chris Martin
@trbngr
@Horusiath I'd really love some more talk about this. How do we do singletons in a cluster?
Bartosz Sypytkowski
@Horusiath
until Akka.Cluster.Tools and Akka.Cluster.Sharding will come out we'll have to do them manually
Roger Johansson
@rogeralsing
@Horusiath should we try to split some of the tasks up? Ill try to get some real coding done on akka.net this week
Bartosz Sypytkowski
@Horusiath
@rogeralsing I'm in the midwork on ShardRegion class porting, I think that after it's complete, we have 1 more event to introduce in Akka.Cluster core (ClusterShuttingDown event I guess)
then all that remain is specs porting and refactoring
I don't know yet how we could split it up (probably split-by-spec has most sense)
Roger Johansson
@rogeralsing
yes. sort in alphabetic order and you start from the top and me at the bottom :) distributed consensus
Bartosz Sypytkowski
@Horusiath
with eventually consistent code base xD
Roger Johansson
@rogeralsing
I'm adding Akka to a legacy code base here :) refactoring Service Layer methods to wrap up arguments into a message and then pass to a consistent hash router for concurrency controlled services
preventing race conditions in services
Aaron Stannard
@Aaronontheweb
I need some simple (eg. bubblesort), short (1-2 pages of code) and easy to comprehand example where Akka shines and 'classic' methods are being ugly
I personally like the "job progress" example
write an actor who uses PipeTo to do some async I/O
i.e. moving copy files from one directory to another or downloading web pages
and write to the console the progress of the job
since the actor doing the work has synchronized internal state it can update the job progress without any locks or other weird stuff
doing that the "old way" is really nasty
bonus points for doing that on a UI thread, which is even nastier
(but trivial with Akka.NET actors)
FYI, JetBrains did us a solid and gave us an OSS license for the build server. So we'll have enough agents / projects to be able to support builds for the Akka.Persistence projects
Natan Vivo
@nvivo
Roman Golenok
@shersh
@nvivo, bearded joke =)
Natan Vivo
@nvivo
Haha
Really didn't see that coming!
we need comics
Aaron Stannard
@Aaronontheweb
@stefansedich my experience with ravendb in production does not look anywhere close to that cartoon
shenanigans I say
Stefan Sedich
@stefansedich
hahaha yeah
I cringed myself
Aaron Stannard
@Aaronontheweb
@/all just published a new Akka.NET training video on Akka.Remote - any thoughts on this? https://www.youtube.com/watch?v=kOm8lGBkrM8
Nikita Tsukanov
@kekekeks
system,aCTOrSelection(".USER.remotecho")
Aaron Stannard
@Aaronontheweb
hahaha