Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Apr 03 22:24
    huzaifak opened #4367
  • Apr 03 21:45
    Aaronontheweb commented #4344
  • Apr 03 05:55
    Lutando commented #4344
  • Apr 02 17:23
    huzaifak commented #4303
  • Apr 02 17:23
    huzaifak closed #4303
  • Apr 02 02:13
    ShawnYun commented #4366
  • Apr 01 17:18
    huzaifak commented #4303
  • Apr 01 14:30
    Aaronontheweb commented #4366
  • Apr 01 14:29
    Aaronontheweb closed #4360
  • Apr 01 14:29
    Aaronontheweb commented #4360
  • Apr 01 06:43

    dependabot-preview[bot] on nuget

    (compare)

  • Apr 01 06:43
    dependabot-preview[bot] closed #151
  • Apr 01 06:43
    dependabot-preview[bot] commented #151
  • Apr 01 06:43
    dependabot-preview[bot] labeled #152
  • Apr 01 06:43
    dependabot-preview[bot] opened #152
  • Apr 01 06:43

    dependabot-preview[bot] on nuget

    Bump AkkaVersion from 1.4.1 to … (compare)

  • Apr 01 06:43

    dependabot-preview[bot] on nuget

    (compare)

  • Apr 01 06:43
    dependabot-preview[bot] closed #125
  • Apr 01 06:43
    dependabot-preview[bot] commented #125
  • Apr 01 06:43
    dependabot-preview[bot] labeled #127
Damian Reeves
@DamianReeves
Wanted to verify single before expanding
Here is the code I'm calling:
    private static void ShardingExample(ActorSystem system)
    {
        var sharding = ClusterSharding.Get(system);
        var shardRef = sharding.Start("product", Props.Create(() => new Product()), ClusterShardingSettings.Create(system),
            message =>
            {
                var productMessage = message as IProductMessage;
                return productMessage != null ? Tuple.Create(productMessage.Id.Value, message) : null;
            }, message => "0001");

        shardRef.Tell(new CreateProduct(ProductId.CreateAsin("ACME001"), "Jetpack"));
        shardRef.Tell(new CreateProduct(ProductId.CreateAsin("ACME002"), "Giant magnet"));



        var rand = new Random();
        for (int idx = 0; idx < 10; idx++)
        {
            var productId = ProductId.CreateAsin($"ACME00{rand.Next(1, 3)}");
            shardRef.Tell(new SubmitReview(productId, rand.Next(1, 6)));                               
        }
    }
Bartosz Sypytkowski
@Horusiath
the reason is that coordinator (the actor working as a central index for all shards) is not available - I'm not 100% sure, what the reason might be, but I would say, that you might have tried to send sharded messages before cluster has started
Damian Reeves
@DamianReeves
Should I wait for a MemberUp, before using cluster sharding?
Bartosz Sypytkowski
@Horusiath
there is a method Cluster.Get(system).RegisterOnMemberUp(() => { ... })
yes
at least this is what I'd suspect
Damian Reeves
@DamianReeves
Think that helped me see the problem:
[INFO][10/11/2016 1:21:11 PM][Thread 0014][[akka://example/system/cluster/core/daemon#301706840]] No seed-nodes configured, manual cluster join required
Does the current node not automatically get added as a seed?
Bartosz Sypytkowski
@Horusiath
no, you need to set itself as a seed node if you want to create 1 node cluster
Damian Reeves
@DamianReeves
Cool.. Set the seed node and now I'm in business. Thanks
Bartosz Sypytkowski
@Horusiath
np :)
Damian Reeves
@DamianReeves
Is there a simple way to programmatically add roles to a Cluster node
?
Peter Bergman
@peter-bannerflow
I think this question has been posted before but I cannot find the answer so here it goes, if I do an ActorSelection, can I then somehow check if that leads to an actor or not? If that makes sense...
Arjen Smits
@Danthar
@peter-bannerflow you can use the ResolveOne method on an actorselection
Peter Bergman
@peter-bannerflow
Ah yes, or actually I only want to do this in a case where the ActorSelection leads to a child of Self, so I guess I can just do Context.Child("name").IsNobody()
Arjen Smits
@Danthar
or send an Identify message, which will return an ActorIdentity response.
ah yes, if you want to know if a child exists checking for the nobody status is faster
Peter Bergman
@peter-bannerflow
Cool, thx
Sean Farrow
@SeanFarrow

@damianReeves are you talking about adding new nodes at the same time as roles, or it is just roles to a node?

+

All Conversations

Activate or click this element to toggle the profile menu

Search

Favourites

People

akkadotnet

Home

Billing

Get Gitter Apps

Sign Out

Add a room

akka.net

101

Leave

Hide

AkkaStreams

Leave

Hide

All Rooms

dotnet-core

akkadotnet.github.com

Wire

Peter Bergman @ akkadotnet/akka.net

Cool, thx

Arjen Smits @ akkadotnet/akka.net

ah yes, if you want to know if a child exists checking for the nobody status is faster

Damian Reeves
@DamianReeves
roles to a node
i.e. I can call cluster.Join to join a cluster but how do I say what roles I provide programmatically?
verilocation
@verilocation

Hi... I hope someone can help. Im currently evaluating Akka.net for suitability for an internal rewrite. Its going well so far but I am currently looking at edge cases. I have setup a Cluster with remote deployment but want to be able to resend a message on failure. Is there anyway I can detect this and retry?

I have tried to look to see if I can read messages off the DeadLetter mailbox and retry from there but didn't have much luck trying to find out how to read from that mailbox either.

Damian Reeves
@DamianReeves
You could take a look at AtLeastOnceDeliveryActor http://getakka.net/docs/persistence/at-least-once-delivery
That allows you to require message acknowledgement
verilocation
@verilocation
Thank you very much... Persistence isnt fully release though yet is it?
Damian Reeves
@DamianReeves
no that is planned to come out of beta in 1.5
verilocation
@verilocation
ok great thanks, thats this circa year isnt it?
(end of)
Damian Reeves
@DamianReeves
Thats the plan
verilocation
@verilocation
:thumbs_up:
:thumbsup:
thanks for your help / quick reply
Damian Reeves
@DamianReeves
np
verilocation
@verilocation
Me again.. Sorry.. Quick related Q... Is there anyway to tell if a Tell or Ask failed, so that I can retry myself? I'd be happy if I could, a little like RabbitMQ, retry 3 times before giving up. Anecdotally, it seems that when you kill a node it takes 3 dropped messages for the rest of the cluster to figure out it has died and to then stop sending it messages
Andrey Leskov
@andreyleskov
You can try Ask with timeout or expect a Failure in response
verilocation
@verilocation
If I don't specify a Timeout will it wait indefinitely? Can I specify an app level timeout
Andrey Leskov
@andreyleskov
Yes, we will be waiting forever. I'm not aware about specifying default timeout possibility 8 (
Bartosz Sypytkowski
@Horusiath
@DamianReeves you roles are fixed at cluster startup, you cannot change them when the system is running
Arjen Smits
@Danthar
@verilocation you can specify the global ask timeout in your hocon config.
Aaron Stannard
@Aaronontheweb
@mmisztal1980 you'd want to use a Docker network
and using something like Docker Swarm or Mesos or etc, pull the addresses of other registered containers on that network acting like seeds
I've been using good old-fashioned Docker links to do that too
which isn't great for production stuff IMHO
fine for testing
Docker network is a NAT that can span multiple Docker Machines
so that's how you get containers on different boxes talking to each other
whereas a link, I think can span the network but it's a point-to-pint descriptor you have to pass in when launching the image
@Danthar lol yes... there are a bunch that need that