Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 21:12
    Aaronontheweb commented #4001
  • 21:11

    Aaronontheweb on dev

    Added missing Persistence Testiā€¦ (compare)

  • 21:11
    Aaronontheweb closed #4001
  • 20:59
    sean-gilliam commented #3889
  • 20:59
    sean-gilliam opened #4001
  • 16:07
    spankr commented #3921
  • 15:55
    Aaronontheweb labeled #3765
  • 15:54
    Aaronontheweb labeled #3765
  • 15:54
    Aaronontheweb milestoned #3765
  • 15:53
    Aaronontheweb closed #3902
  • 15:23
    Aaronontheweb commented #3921
  • 15:11
    spankr commented #3921
  • 15:05
    Aaronontheweb commented #3973
  • 15:05
    Aaronontheweb commented #3973
  • 15:02
    Aaronontheweb commented #4000
  • 15:02
    Aaronontheweb milestoned #4000
  • 15:02
    Aaronontheweb assigned #4000
  • 15:01
    Aaronontheweb commented #3889
  • 14:55
    sean-gilliam commented #3889
  • 14:35
    IgorFedchenko commented #3973
Bert Lamb
@BertLamb
If I'm using ReceiveAsync<> do I need to close over Self and Sender?
atresnjo
@atresnjo
we're using the default json serializer atm, is there a way to switch to msgpack without losing the previous data stored that was serialized in json?
Aaron Stannard
@Aaronontheweb
@BertLamb don't think so
since those values can't change inside the ActorCell while the ReceiveAsync await statements are being evaluated
Aaron Stannard
@Aaronontheweb
@bbrandtnerdery I'll see if I can get your SO question answered
Ismael Hamed
@ismaelhamed
@Aaronontheweb Is anyone monitoring the Alpakka repo? I know you guys are busy, just asking
Arjen Smits
@Danthar
@ismaelhamed took a look at your recent PR's both have build errors. Sorry im not used to appveyor. Can't really tell whats going on at a glance.
Looks like something with the sns tests
AndreSteenbergen
@AndreSteenbergen

I have an issue regarding cluster. After running 2-3 days without errors. For some reason I get nodes being down. After restart they don't rejoin the cluster. In the logs I see a constant stream of the same akka message.

  1. Received InitJoin message
  2. Sending InitJoinNack message from node
  3. New incarnation of existing member

The node never gets a welcome, and lighthouse node constantly throws these messages with a 5 second (or so) interval. What could be the cause? Unreachable leader, is this a split brain issue? I don't understand why a restarted node is not able to rejoin the cluster. I am running 1.3.10 with dotnetty handlers 0.6. I don't know how to reproduce this, except for running the cluster and let the nodes do their job until some hickup of some sort. dmesg doesn't reveal issues about out of memeory stuff.

Ismael Hamed
@ismaelhamed
C:\projects\alpakka\tools\FAKE\tools\FAKE.exe : The specified framework version 'C:\Users\appveyor\.nuget\packages\dotnet-xunit\2.3.1\tools\netcoreapp1.0\xunit.console.dll' could not be parsed
@Danthar that value is not even close to an actual .net version
Not sure where it's taking it. Build RunTestspassed in my machine though.
Arjen Smits
@Danthar
thats wierd... Strange thing is though. its only failing on your PR's the others are fine.
Check that. @Horusiath kinesis PR is also failing with the same error
could be a global env thingy in the appveyor CI.
Ismael Hamed
@ismaelhamed
Yep, I was about to tell you, the Amazon Kinesis' PR is failing with the same reason
Lutando Ngqakaza
@Lutando
Can anyone point me in the direction of the akka actor tests which test that actors on recovery receive a snapshot, if they took a snapshot before being poisoned.
:D
AndreSteenbergen
@AndreSteenbergen
My PR update fails to build as well. also fake.exe
Bartosz Sypytkowski
@Horusiath
Infrastructure 2019: when you change nothing, and things start to fail spontaneously :P
@AndreSteenbergen do you have any split brain strategy set up?
Ismael Hamed
@ismaelhamed
@Danthar I've sent a PR to fix the tests failing. Seems to do the trick.
Arjen Smits
@Danthar
awesome
Peter Huang
@ptjhuang
@AndreSteenbergen I had similar issue that went away after update: akkadotnet/akka.net#3506
Anton Fernando
@anton55_gitlab
anyone know how to create a custom mqtt stream for akka net?
AndreSteenbergen
@AndreSteenbergen
@Horusiath not on purpose ... Just standard config hocon for working with clusters, I have my cluster upgraded to 1.3.10 with .net handlers on 0.6. I am trying a new release with 1.3.11 this afternoon. I will look into split brain strategy. I was trying to stop 1 lighthouse and restart it. But ran into the issue described.
Onur Gumus
@OnurGumus
What is the idiomatic way to load a hocon file in a .net core project ?
in regards to akka.net
AndreSteenbergen
@AndreSteenbergen
Don't know if it the way to do it, but I load config like this
static void Main(string[] args)
    {
        var config = HoconLoader.FromFile(args?.FirstOrDefault() ?? "./config.hocon");
And in a shared project:
public static class HoconLoader
{
    public static Config FromFile(string path)
    {
        return ConfigurationFactory.ParseString(File.ReadAllText(path));
    }
}
shango man
@shangoman_twitter
Hello,
I
Argh fat fingers. Looking through history, I have seen references to Service Fabric deployment, bit no definitive responses. Is SF a recommended deployment target. If so would it be as a stateless service or hosted exe. Many thanks
Bartosz Sypytkowski
@Horusiath
@AndreSteenbergen since you don't have split brain (maybe auto-down too), then it may be that the node that is disconnecting, is never marked as downed and cannot rejoin the cluster because of that.

anyone know how to create a custom mqtt stream for akka net?

@anton55_gitlab AFAIK there's no connector build in out-of-the-box right now.

There's a project called Alpakka where we're building connectors from akka.streams to other systems. Many things there are ported from original Alpakka project (see: https://github.com/akka/Alpakka). I can see that, there are several projects related to MQTT there, that could be ported as a contribution.

Ebere Abanonu
@eaba
guys @Horusiath @Aaronontheweb I need to put an end to this beast:
2019-01-11 15:35:18.9413|DEBUG|product.Admin.Distributor.Actor.AdminDistributor|received handled message LoadSnapshotResult<toSeqNr: 9223372036854775807, snapshot: SelectedSnapshot<meta: SnapshotMetadata<pid: AdminDistributor, seqNr: 267, timestamp: 2018/12/31>, snapshot: AtLeastOnceDeliverySnapshot<currentDeliveryId: 267, unconfirmedDeliveries: 0>>> from akka://productAdmin/deadLetters
2019-01-11 15:35:19.0129|DEBUG|Akka.Persistence.Journal.ReplayFilter|Started (Akka.Persistence.Journal.ReplayFilter)
2019-01-11 15:35:19.0531|DEBUG|Akka.Persistence.SqlServer.Journal.BatchingSqlServerJournal|now supervising akka://productAdmin/system/akka.persistence.journal.sql-server/$a
2019-01-11 15:35:21.3838|DEBUG|Akka.Persistence.SqlServer.Journal.BatchingSqlServerJournal|Completed batch (chunkId: 63) of 1 operations in 2404.88 milliseconds
2019-01-11 15:35:21.4161|ERROR|product.Admin.Distributor.Actor.AdminDistributor|Persistence failure when replaying events for persistenceId [AdminDistributor]. Last known sequence number [267]
2019-01-11 15:35:21.4518|DEBUG|Akka.Persistence.Journal.ReplayFilter|Stopped
2019-01-11 15:35:21.4976|DEBUG|product.Admin.Distributor.Actor.AdminDistributor|received handled message ReplayMessagesFailure<cause: Newtonsoft.Json.JsonSerializationException: Cannot preserve reference to readonly dictionary, or dictionary created from a non-default constructor: System.Collections.Immutable.ImmutableDictionary`2[System.String,System.String]. Path 'Payload.Client', line 1, position 262.
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ResolvePropertyAndCreatorValues(JsonObjectContract contract, JsonProperty containerProperty, JsonReader reader, Type objectType)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObjectUsingCreatorWithParameters(JsonReader reader, JsonObjectContract contract, JsonProperty containerProperty, ObjectConstructor`1 creator, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
   at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
   at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
   at Akka.Serialization.NewtonSoftJsonSerializer.FromBinary(Byte[] bytes, Type type)
   at Akka.Serialization.Serialization.Deserialize(Byte[] bytes, Int32 serializerId, String manifest)
   at Akka.Persistence.Sql.Common.Journal.BatchingSqlJournal`2.ReadEvent(DbDataReader reader)
   at Akka.Persistence.Sql.Common.Journal.BatchingSqlJournal`2.HandleReplayMessages(ReplayMessages req, TCommand command, IActorContext context)> from akka://productAdmin/deadLetters
The effect is this:
2019-01-11 15:35:21.5349|DEBUG|product.Admin.Distributor.Actor.AdminDistributor|Stopping
2019-01-11 15:35:21.5658|DEBUG|product.Admin.Distributor.Actor.AdminDistributor|no longer watched by [akka://productAdmin/system/recoveryPermitter#2029696666]
2019-01-11 15:35:21.5968|DEBUG|Akka.Routing.ResizablePoolActor|Stopping
2019-01-11 15:35:21.6263|DEBUG|Akka.Routing.ResizablePoolActor|Stopping
2019-01-11 15:35:21.6540|DEBUG|product.Database.Actor.AdminActor|no longer watched by [akka://productAdmin/user/AdminDistributor/Admin#20837550]
2019-01-11 15:35:21.6626|DEBUG|product.Admin.Response.Actor.AdninResponse|no longer watched by [akka://productAdmin/user/AdminDistributor/Responses#1386945307]
2019-01-11 15:35:21.6928|DEBUG|product.Admin.Response.Actor.AdninResponse|Stopped
2019-01-11 15:35:21.7219|DEBUG|product.Database.Actor.AdminActor|Stopped
2019-01-11 15:35:21.7438|DEBUG|Akka.Routing.ResizablePoolActor|Stopped
2019-01-11 15:35:21.7544|DEBUG|Akka.Routing.ResizablePoolActor|Stopped
2019-01-11 15:35:21.7783|DEBUG|product.Admin.Distributor.Actor.AdminDistributor|Stopped
I just need to understand whats happening.....I have always needed to press the red button which is deleting all tables to get it responding
Ebere Abanonu
@eaba
Some how this is critical issue for me......it cannot happen in production
Ismael Hamed
@ismaelhamed
@eaba does setting preserve-object-references = false for the serializer make any difference?
Ebere Abanonu
@eaba
How do I set that @ismaelhamed ?
Found it....I will give it a try
Ebere Abanonu
@eaba
@ismaelhamed
serialization-settings.json {
                        preserve-object-references = false
                        encode-type-names = false
                    }
that seems to be helping at the moment...I will see how far that takes me....thanks
I now see the deadletter messages being logged
Ebere Abanonu
@eaba
Does this apply to all serializer including messagepack?
Maciek Misztal
@mmisztal1980

hey all, one of my actors is triggering a top-level actor creation followed by forwarding the message cmd to it:

Akka.SearchController.References[name] = Context.System.ActorOf(Context.DI().Props<SearchController>(), name);
Akka.SearchController.References[name].Forward(cmd);
public static class Akka
    {
        public static ActorSystem System;
        public static class SearchController
        {
            public static IDictionary<string, IActorRef> References = new Dictionary<string, IActorRef>();
        }
    }

What I've noticed is that no messages seem to be reaching it and I'm not seeing any deadletters (WRN) logged either.
I've replaced my SearchController actor implementation with:

    public class SearchController : ReceiveActor
    {
        public const string ActorName = "search-controller";
        private readonly ILoggingAdapter log = Context.GetLogger();

        public SearchController()
        {
            Receive<object>(msg =>
            {
                log.Info("{Actor} received: {@Command}", Self.Path.Name, msg);
            });
        }
    }

and I don't seem to be receiving anything either...
I've verified that SearchController's c-tor is being called.

Does anyone have any hints to diagnose this?
At the moment, all actors are running on a single node.

Ebere Abanonu
@eaba
Maybe you should tweak Receive<object> a bit. Something more explicit