Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 12:20
    IgorFedchenko commented #3973
  • 12:17
    IgorFedchenko commented #3973
  • 11:58
    IgorFedchenko synchronize #3973
  • 11:33
    IgorFedchenko commented #3973
  • 11:25
    IgorFedchenko synchronize #3973
  • 07:04
    dependabot-preview[bot] labeled #3996
  • 07:04
    dependabot-preview[bot] opened #3996
  • 07:04

    dependabot-preview[bot] on nuget

    Bump Microsoft.NET.Test.Sdk fro… (compare)

  • 07:04
    dependabot-preview[bot] labeled #3995
  • 07:04

    dependabot-preview[bot] on nuget

    Bump BenchmarkDotNet from 0.10.… (compare)

  • 07:04
    dependabot-preview[bot] opened #3995
  • Oct 17 22:42
    Aaronontheweb commented #3944
  • Oct 17 22:41
    Aaronontheweb commented #3973
  • Oct 17 21:17
    IgorFedchenko commented #3973
  • Oct 17 21:08
    IgorFedchenko commented #3973
  • Oct 17 19:59
    IgorFedchenko synchronize #3973
  • Oct 17 19:34
    IgorFedchenko synchronize #3973
  • Oct 17 16:12
    Aaronontheweb commented #3993
  • Oct 17 15:51
    dependabot-preview[bot] synchronize #3991
  • Oct 17 15:51

    dependabot-preview[bot] on nuget

    Bump Microsoft.Extensions.Depen… (compare)

Maciek Misztal
@mmisztal1980
akka : {
    stdout-loglevel : DEBUG
    loglevel : DEBUG
    log-config-on-start : on
    loggers : ["Akka.Logger.Serilog.SerilogLogger, Akka.Logger.Serilog"]
    actor : {
      debug : {
        receive : on
        autoreceive : on
        lifecycle : on
        event-stream : on
        unhandled : on
      }
    }
  }
I'm pretty sure it is
Ebere Abanonu
@eaba
Can you try out loggers = ["Akka.Logger.NLog.NLogLogger, Akka.Logger.NLog"]?
So that we can be on same page
Maciek Misztal
@mmisztal1980
that'd include rewriting most of my logging stack, as I'm heavy into structured logging so ... nope :)
Ebere Abanonu
@eaba
If you can, then create a file in your project named NLog.config
@ismaelhamed you wont rewrite anything
inside the config paste this:
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <targets>
    <target name="file" xsi:type="File" fileName="Debugs.log" />
  </targets>

  <rules>
    <logger name="*" minlevel="Debug" writeTo="file" />
  </rules>

</nlog>
Everything is auto
Maciek Misztal
@mmisztal1980
I'm sorry but rewriting my logging stack is not an option :)
Ebere Abanonu
@eaba
Okay
I never wrote any logging stack
At times you will need to hack to see inside
Maciek Misztal
@mmisztal1980
right now I'm trying to see if there are any unhandled exceptions flying under the hood, but nothing is happening in there - which would indicate that maybe the IActorRef is incorrect, but on the other hand the code doesn't indicate this :/
Ebere Abanonu
@eaba
@mmisztal1980 I get you perfectly
Like I said, though it might be painful, unplug your logging stack
What I have pasted above logs everything including exceptions
Maciek Misztal
@mmisztal1980
I have a similar setup right now :)
Maciek Misztal
@mmisztal1980
interestingly, if I send PoisonPill.Instance to the actor before doing the .Tell a deadletter message is logged :D
Bartosz Sypytkowski
@Horusiath
@eaba it looks like, you're trying to use some object that JSON.NET is not able to serialize - my guess would be that you're trying to use Akka.Cluster.Sharding (which has warning to not use json.net as a default ;) )
you can try to change it to something else, like Hyperion, or to use akka.cluster.sharding in ddata mode
Ebere Abanonu
@eaba
@Horusiath am not using akka.cluster.sharding no akka.cluster atm... @ismaelhamed suggestion:
serialization-settings.json {
                        preserve-object-references = false
                        encode-type-names = false
                    }
Is taking me further......what do you say about it?
Arjen Smits
@Danthar
Im sure it helps. But like @Horusiath is saying. If your using Cluster Sharding. Using json.net is highly discouraged
When using cluster sharding. or actually, any akka modules with persistence. You will want to have explicit control over your message schema's
considering that akka.persistence is using event-sourcing
Ebere Abanonu
@eaba
When using cluster sharding. or actually, any akka modules with persistence. You will want to have explicit control over your message schema's
Am not using cluster sharding
Arjen Smits
@Danthar
ok
Ebere Abanonu
@eaba
So am left with persistence
does preserve-object-references = false
solve my problem
should i be worried about something going that way?
Arjen Smits
@Danthar
perhaps. i dont know what your message schema looks like. But you can test that pretty quickly yourself
going what way ?
Ebere Abanonu
@eaba
preserve-object-references = false way
Tested and working
Arjen Smits
@Danthar
ah. Im not aware of any long term issues with disabling object-references
Ebere Abanonu
@eaba
My message is just an Immutable Dictionary wrapped in a custom class
Ok
Arjen Smits
@Danthar
ah. yeah json.net can have issues with that
immutable collection types and json.net have a history of bugs
Ebere Abanonu
@eaba
Ok I will note that
Arjen Smits
@Danthar
so be sure to test all your message types if you continue to use immutable collection types with json.net
Ebere Abanonu
@eaba
Ok...
Thanks @Danthar
QwerSense
@QwerSense
Hey, is there a websocket chat example with akka.net and dotnet core?
AndreSteenbergen
@AndreSteenbergen
@Horusiath I configured all nodes like this, my cluster isn't really dynamically sized, so I am going for keep-oldest. Is that a good idea?
    cluster {
            #will inject this node as a self-seed node at run-time
            seed-nodes = ["akka.tcp://claxe@10.0.0.30:4040", "akka.tcp://claxe@10.0.0.31:4040"]
            roles = ["tracker","crawlanalyser","initializer","productanalyser"]

            failure-detector {
                    threshold = 15.0
                    min-std-deviation = 250 ms
            }

            split-brain-resolver {
                    active-strategy = keep-oldest

                    keep-oldest {
                            # Enable downing of the oldest node when it is partitioned from all other nodes
                            down-if-alone = on

                            # if the 'role' is defined the decision is based only on members with that 'role',
                            # i.e. using the oldest member (singleton) within the nodes with that role
                            role = "lighthouse"
                    }
            }
    }
Dan
@ctrlaltdan

Question regarding the lighthouse/voting mechanism...

Whilst developing locally I frequently debug/exit processes which inevitably causes unreachable nodes. I had been using the pbm tool to clear these manually as I assumed the absence of enough running nodes was preventing the voting mechanism from cleaning up correctly.

My attempt at fixing this was to deploy 5 lighthouse nodes. Unfortunately this still seems to have the same issue as only having one lighthouse node.

Does anyone have any recommendations for working locally?

[Unspecified/localhost:9110] pbm> cluster show
akka.tcp://imburse@docker.for.win.localhost:55679 | [client-configuration-v1] | up | unreachable
akka.tcp://imburse@docker.for.win.localhost:55686 | [client-api-v1] | up | unreachable
akka.tcp://imburse@lighthouse-1:4053 | [lighthouse] | up |
akka.tcp://imburse@lighthouse-2:4054 | [lighthouse] | up |
akka.tcp://imburse@lighthouse-3:4055 | [lighthouse] | up |
akka.tcp://imburse@lighthouse-4:4056 | [lighthouse] | up |
akka.tcp://imburse@lighthouse-5:4057 | [lighthouse] | up |