Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Feb 21 19:37
    Arkatufus synchronize #4228
  • Feb 21 19:37
    Arkatufus ready_for_review #4228
  • Feb 21 15:42
    Aaronontheweb assigned #4241
  • Feb 21 15:42
    Aaronontheweb milestoned #4241
  • Feb 21 15:42
    Aaronontheweb labeled #4241
  • Feb 21 15:42
    Aaronontheweb labeled #4241
  • Feb 21 15:42
    Aaronontheweb labeled #4241
  • Feb 21 15:42
    Aaronontheweb opened #4241
  • Feb 21 01:47
    Arkatufus opened #4240
  • Feb 21 00:10
    Aaronontheweb synchronize #4212
  • Feb 20 23:50
    Aaronontheweb synchronize #4238
  • Feb 20 23:48
    Aaronontheweb commented #4234
  • Feb 20 23:47
    Aaronontheweb synchronize #4212
  • Feb 20 23:46

    Aaronontheweb on dev

    close #4234 - added CachingConf… (compare)

  • Feb 20 23:46
    Aaronontheweb closed #4239
  • Feb 20 23:46
    Aaronontheweb closed #4234
  • Feb 20 23:25
    Aaronontheweb synchronize #4239
  • Feb 20 23:24
    Aaronontheweb opened #4239
  • Feb 20 23:14
    Aaronontheweb commented #4234
  • Feb 20 22:52
    Aaronontheweb commented #4234
Aaron Stannard
@Aaronontheweb
I believe @cconstantin is working on a new one
Chris Martin
@trbngr
Well. If 1.1 is coming, maybe it's time for my vacation ;)
Chris Constantin
@cconstantin
@trbngr new version is pending. waiting to release akka-streams & persistence-query first
Ivan R. Perez
@irperez

@Aaronontheweb

it's a common problem - so coming up with a canonical solution would be a good idea. I think it's going to be something inherent in the actor on either end of the pub/sub relationship though, rather than a modification of the DistributedPubSub system itself

The problem with this is that the publisher doesn't know who all the subscribers are. So my thinking was that the mediator would ensure the message got through. Also, in my scenario, all subscribers require the message to come through, not just a single subscriber. Can't the acknowledgement protocol be used between the mediator and the subscriber?

feng3245
@feng3245
Did something happen to the source? I downloaded it and am getting a lot of syntax error regarding $ being used infront of " etc
Bart de Boer
@boekabart
Try VS2015
$ in front of " is a C#6 feature:
var someValue = DateTimeOffset.Now;
var asString = $"It is now {someValue:HH} o'clock";
Until recently, I never discoverd C# 6 code in akka.net though... is it intentional, @Aaronontheweb ?
Marc Piechura
@marcpiechura
@boekabart yep, check out the recent streams code, C# 6 everywhere ;)
to11mtm
@to11mtm
Yeah, I run into that a LOT, kinda sucks cause we are stuck on 2013 =(
HenryTonnison
@HenryTonnison
Does anyone know how to deserialise type arrays in Akka.net HOCON. I think in Java there is a getConfigList(string path)
some {
    namespace {
        users = [
            {
                name = "firstUser"
                age = 25
            }
            {
                name = "secondUser"
                age = 35
            }
        ]
    }
}
HenryTonnison
@HenryTonnison
//Something like this
 foreach (Config user in config.GetConfigList("some.namespace.users"))
 {
       var name = user.GetString("name");
       var age = user.GetInt("age");
}
Aaron Stannard
@Aaronontheweb
@HenryTonnison not offhand, @rogeralsing might know
I'm just the network guy :p
@irperez yeah in that scenario
that makes more sense
the only thing I'd encourage though is you'd need to have some way of dealing with poisoned messages
i.e. 1 subscriber is never coming back
cluster deathwatch is probably a good enough tool for that
if a subscriber is terminated
dump all messages that were scheduled for it
because in a cluster deathwatch scenario, you only get a terminated message if the node is removed
or if the actor is intentionally shutdown
Ivan R. Perez
@irperez
@Aaronontheweb Ok that sounds good.
Aaron Stannard
@Aaronontheweb
if a node becomes unreachable (i.e. the network partitions temporarily)
then re-trying delivery is the right thing to do
Ivan R. Perez
@irperez
@Aaronontheweb What would you call this exactly? Did my naming sound good?
Aaron Stannard
@Aaronontheweb
given that the mediator is playing a heavier role (i.e. it's probably going to be backed by Akka.Persistence)
I'd probably give that top billing in your title :p
Ivan R. Perez
@irperez
Thats what I thought.
PersistantDistributedPubSub?
Aaron Stannard
@Aaronontheweb
ReliableMessageBroker is or something like that
Ivan R. Perez
@irperez
I like that much better
Stanley Goldman
@StanleyGoldman
did anyone send a Visualizer screenshot yet?
i'm gonna have to go set this up for myself and see
Ivan R. Perez
@irperez

@Aaronontheweb

if a subscriber is terminated
dump all messages that were scheduled for it

How would one go about dumping those messages?

Aaron Stannard
@Aaronontheweb
the mediator is going to need to hold those in some sort of state that resides inside the actor
I'd just dump all of those to dead letters
which you should be able to get access to via Context.System
Aaron Stannard
@Aaronontheweb
@alexvaluyskiy should be done with my dispatcher changes now
fixed a few pretty nasty bugs inside the dispatcher system that I wouldn't have caught were it not for this
and fixed some performance issues too - that showed up bigtime in the Akka.Streams benchmarks
going to shift gears back to fixing up the routers
that plan I told you about with the model based tests and such
wdspider
@wdspider

Could someone remind me what I need to change in the remote config to resolve this error?

[Error] Akka.Remote.EndpointWriter: Dropping message [Akka.Actor.ActorSelectionMessage] for non-local recipient [[akka.tcp://Embassy@localhost:4053/]]
 arriving at [akka.tcp://Embassy@localhost:4053] inbound addresses [akka.tcp://EmbassyActorSystem@localhost:4053]

The remote part of my config currently looks like this:

remote {
          helios.tcp {
            transport-class = "Akka.Remote.Transport.Helios.HeliosTcpTransport, Akka.Remote"
            public-hostname = localhost   # this needs to be updated to match deployed to server
            port = 4053
          }
}
Aaron Stannard
@Aaronontheweb
your actor system names are different
akka.tcp://Embassy@localhost:4053/ vs akka.tcp://EmbassyActorSystem@localhost:4053
just need to make those consistent
wdspider
@wdspider
ah.... yes. Thanks :)
Ivan R. Perez
@irperez
@Aaronontheweb I have to say that this issue is common and for someone thats new to Akka, its not obvious that the error message is saying that the actor systems are different. Maybe it should suggest to check that the actor system names are the same?