Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 07:55
    ismaelhamed commented #3284
  • Sep 13 16:35
    Aaronontheweb commented #3905
  • Sep 13 16:35
    Aaronontheweb labeled #3905
  • Sep 13 16:35
    Aaronontheweb labeled #3905
  • Sep 13 16:35
    Aaronontheweb labeled #3914
  • Sep 13 16:34
    Aaronontheweb commented #3914
  • Sep 13 01:50
    Aaronontheweb synchronize #3914
  • Sep 13 01:45
    Aaronontheweb commented #3914
  • Sep 12 14:10
    Aaronontheweb synchronize #3914
  • Sep 12 14:10

    Aaronontheweb on dev

    name AzureDevops artifacts per … (compare)

  • Sep 12 14:10
    Aaronontheweb closed #3915
  • Sep 12 13:57
    Aaronontheweb synchronize #3915
  • Sep 12 13:37
    Aaronontheweb opened #3915
  • Sep 12 06:43
    Horusiath commented #3628
  • Sep 12 05:57
    Horusiath synchronize #3628
  • Sep 12 02:05
    Aaronontheweb synchronize #3901
  • Sep 12 02:04
    Aaronontheweb commented #3914
  • Sep 12 02:03
    Aaronontheweb synchronize #3914
  • Sep 12 01:11
    Aaronontheweb commented #3105
  • Sep 12 01:10
    Aaronontheweb closed #3105
Bartosz Sypytkowski
@Horusiath
@mclark1129 is it possible, that Akka.Streams.SQS was not released yet
Zetanova
@Zetanova
@Horusiath yes, something like this. I am rolling out an update for the 3seeds nodes in k8s and i think got splitbrain, using static-quorum with quarum size 2, the last node "seednode-0" is allways joing itself instantly
and now downing happens
Bartosz Sypytkowski
@Horusiath
why do you do rolling updates of seed nodes?
Zetanova
@Zetanova
new image
seednode-2 is restarting, getting ready joing the cluster
seednode-1 is restarting getting ready joing the cluster (seednode-0 is still the leader)
Bartosz Sypytkowski
@Horusiath
also, if you start seed nodes, they will try to join to each other in the order which you've specified - so if you have first node which has 3 seeds, but it's pointing to itself as first one, it can create a new cluster by itself
Zetanova
@Zetanova
seednode-0 is restarting getting ready joing itself (seednode-2 is the leader and seednode-0 made a new clusteer)
the seednode is not testing the other seednode in the list?
in the docs is standing explicitly that the seednodelist should be the same for all nodes and seednodes
if its true, i can just put the self seednode entry to the end
"A special rule applies the first time a cluster forms: the first seed node declared in a akka.cluster.seed-nodes list must be up. Otherwise the cluster will not form. This is designed to prevent a split brain from forming the first time a cluster launches. And in general, as a best practice: always use an identical seed node list on every node, including the seed nodes. This will give you the most consistent behavior and results."
this implies then that first seed node will always form a new cluster when it restarts and never join someone already up
Vasily Kirichenko
@vasily-kirichenko

hi, guys. I need a Lighthouse instance running locally so that my apps could specify it as a seed like akka.tcp://test@localhost:4053 to make it workable on any dev machine. I have the following akka.hocon:

remote {
    log-remote-lifecycle-events = DEBUG
    dot-netty.tcp {
      transport-class = "Akka.Remote.Transport.DotNetty.TcpTransport, Akka.Remote"
      applied-adapters = []
      transport-protocol = tcp
      public-hostname = "127.0.0.1"
      hostname = "127.0.0.1"
      port = 4053
    }
  }

but it still uses my host name (kirichenko-xp):

[INFO][21.08.2019 9:29:00][Thread 0001][remoting] Starting remoting
[INFO][21.08.2019 9:29:00][Thread 0001][remoting] Remoting started; listening on addresses : [akka.tcp://local@kirichenko-xp:4053]
[INFO][21.08.2019 9:29:00][Thread 0001][remoting] Remoting now listens on addresses: [akka.tcp://local@kirichenko-xp:4053]
[INFO][21.08.2019 9:29:00][Thread 0001][Cluster] Cluster Node [akka.tcp://local@kirichenko-xp:4053] - Starting up...
[INFO][21.08.2019 9:29:00][Thread 0001][Cluster] Cluster Node [akka.tcp://local@kirichenko-xp:4053] - Started up successfully
Zetanova
@Zetanova
@vasily-kirichenko public-hostname = "localhost" hostname = "127.0.0.1"
Vasily Kirichenko
@vasily-kirichenko
@Zetanova it's not helped :(
[Unspecified/localhost:9110] pbm> cluster show
akka.tcp://local@kirichenko-xp:4053 | [lighthouse] | up |
Count: 1 nodes
remote {
    log-remote-lifecycle-events = DEBUG
    dot-netty.tcp {
      transport-class = "Akka.Remote.Transport.DotNetty.TcpTransport, Akka.Remote"
      applied-adapters = []
      transport-protocol = tcp
      #will be populated with a dynamic host-name at runtime if left uncommented
      public-hostname = "localhost"
      hostname = "127.0.0.1"
      port = 4053
    }
  }
Huw Simpson
@huwmanatee
Can someone offer advice on how views are to be constructed using akkling. I don't see an example for that.
Say there is a persistent actor for employees, how does one construct a employee view keyed by email address such that the path of the employee actor can be looked up?
Zetanova
@Zetanova
@vasily-kirichenko its working for me, tested in docker linux
[23:22:49 INF] Remoting now listens on addresses: [akka.tcp://pnet@localhost:2552]
[23:22:49 INF] Cluster Node [akka.tcp://pnet@localhost:2552] - Starting up...
[23:22:49 INF] Cluster Node [akka.tcp://pnet@localhost:2552] - Started up successfully
akka.remote {
        dot-netty.tcp {
            port = ${AKKA_PORT}
            #hostname = ${AKKA_ADDR} # default 0.0.0.0 listen on all interfaces
            #public-hostname = ${AKKA_HOST}"."${AKKA_CLUSTER}
            hostname = "127.0.0.1"
            public-hostname = "localhost"
        }
}
Zetanova
@Zetanova
Why is there now client side class like TestKitBase, that can be used in an external client code or is there something?
Zetanova
@Zetanova
//code outside of actor system
IActorRef service = GetServiceRef();

IActorRef client = new ClientAcotr(); //like TestKitBase

//sample usage 1
service.Tell(new RequestSomething(), client);
var response = await client.ReceiveOne(timeout);

//sample usage 2
var probe = client.CreatePrope("myTestPrope");
service.Tell(new TellSomeOtherActorToStart(), probe);
probe.ExpectMsg("ok", timeout);
probe.Reply("next step");
Vasily Kirichenko
@vasily-kirichenko
@Zetanova could you test it on windows, no docker?
what akka version do you use?
Vasily Kirichenko
@vasily-kirichenko
Should I build Lighthouse with Akka.Cluster.SplitBrainResolver referenced if I want to enable split brain resolving in my cluster? Or referencing and configuring it on other nodes is enough?
Zetanova
@Zetanova
@vasily-kirichenko Cluster Node [akka.tcp://pnet@localhost:2552] - Started up successfully on windows too
Akka.Cluster.Tools 1.3.14
Zetanova
@Zetanova
@vasily-kirichenko You can make your own seed-node, Lighthouse is only starting a simple actorsystem from the config. I am using my seed nodes as a simple control plane too
Vasily Kirichenko
@vasily-kirichenko
@Zetanova thanks. I still get my host name instead of localhost :)
Another question: I tried to enable the split brain resolver, and it does not seem to work: a killed node is indefinitely marked as unreachable.
I had to set auto-down-unreachable-after = 10s, it works as expected
this is needed to enable singletons fallback behaviour working
Zetanova
@Zetanova
@vasily-kirichenko What active-strategy are u using? Did the cluster form and get stable?
If u have 3 seed nodes u can use the static-quorum strategy
akka.cluster {
    downing-provider-class = "Akka.Cluster.SplitBrainResolver, Akka.Cluster"
    split-brain-resolver {
        active-strategy = "static-quorum"
        stable-after = 20s
        static-quorum {
            # minimum number of nodes that the cluster must have 
            quorum-size = 2
            role = "seednoderolename"
        }
    }
}
Then on a node u will need to listen on "case ClusterEvent.MemberRemoved m when m.PreviousStatus == MemberStatus.Down && m.Member.UniqueAddress == Cluster.SelfUniqueAddress:" or Register your termination action with Cluster.RegisterOnMemberRemoved(...)
If possible try to use docker, you will get your own network for all nodes and services like eventstore, mssql, elasticsearch and so on
But off course u can host them all local on your dev machine too
Vasily Kirichenko
@vasily-kirichenko
wait. You are saying that nodes are not down automatically? I need to down them myself?
what I need is just removing a disappeared node from cluster completely
ah, it works as I need!
16:54:42 INFO  [SplitBrainDecider, 24] A network partition detected - unreachable nodes: [akka.tcp://local@kirichenko-xp:3002], remaining: [akka.tcp://local@kirichenko-xp:4053, akka.tcp://local@kirichenko-xp:3001]
16:54:42 INFO  [SplitBrainDecider, 24] A network partition has been detected. KeepMajority(role: '') decided to down following nodes: [Member(address = akka.tcp://local@kirichenko-xp:3002, Uid=971885601 status = Up, role=[KldfsAuditWatcher], upNumber=2)]
16:54:42 INFO  [ClusterCoreDaemon, 7] Leader can perform its duties again
16:54:42 INFO  [ClusterCoreDaemon, 6] Leader is removing unreachable node [akka.tcp://local@kirichenko-xp:3002]
16:54:42 INFO  [ClusterSingletonManager, 6] Previous oldest removed [akka.tcp://local@kirichenko-xp:3002]
16:54:42 INFO  [ClusterSingletonManager, 6] Younger observed OldestChanged: [ -> myself]
16:54:42 INFO  [ClusterSingletonManager, 6] Singleton manager started singleton actor [akka://local/user/kldfs-audit-watcher-1-1/kldfs-audit-watcher-1]
16:54:42 INFO  [ClusterSingletonManager, 6] ClusterSingletonManager state change [Younger -> Oldest] Akka.Cluster.Tools.Singleton.YoungerData
Vasily Kirichenko
@vasily-kirichenko
thank you :)
Hovik Aghajanyan
@hovik-aghajanyan
Hi @all , is it possible to setup ApplicationInsights Monitoring via HOCON ?
Lutando Ngqakaza
@Lutando
Is there an "MemoryReadJournal" for me to to mess around akka.persistence.query without pulling up infrastructure (mongo/posgres/eventstore)
Chris Hoare
@chrisjhoare
I think there's an SQlite persistence plugin which might do the job
can run it in memory with :memory: connection string