Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Oct 21 15:57
    Aaronontheweb closed #3877
  • Oct 21 15:57
    Aaronontheweb commented #3877
  • Oct 21 15:56

    Aaronontheweb on dev

    Persistence TestKit documentati… (compare)

  • Oct 21 15:56
    Aaronontheweb closed #3889
  • Oct 21 07:27
    dependabot-preview[bot] labeled #3999
  • Oct 21 07:27

    dependabot-preview[bot] on nuget

    Bump FluentAssertions from 4.14… (compare)

  • Oct 21 07:27
    dependabot-preview[bot] opened #3999
  • Oct 20 17:25
    valdisz synchronize #3889
  • Oct 20 17:17
    valdisz synchronize #3889
  • Oct 20 15:44
    valdisz synchronize #3889
  • Oct 20 09:22
    ismaelhamed commented #3863
  • Oct 19 23:39
    valdisz synchronize #3889
  • Oct 19 23:08
    edvinasz commented #2947
  • Oct 19 13:36
    Aaronontheweb commented #3973
  • Oct 19 13:34
    dependabot-preview[bot] synchronize #3995
  • Oct 19 13:34

    dependabot-preview[bot] on nuget

    Bump BenchmarkDotNet from 0.10.… (compare)

  • Oct 19 13:34
    dependabot-preview[bot] edited #3995
  • Oct 19 13:34
    dependabot-preview[bot] synchronize #3993
  • Oct 19 13:34

    dependabot-preview[bot] on nuget

    Bump Google.Protobuf from 3.9.1… (compare)

  • Oct 19 13:34
    dependabot-preview[bot] synchronize #3991
Bartosz Sypytkowski
@Horusiath
it's part of shared persistence sql lib, but it needs implementation per each concrete provider
Boban
@bobanco
does postgres has implemented it?
i mean the postgres persistence implementation
Bartosz Sypytkowski
@Horusiath
there was PR (not merged) made long ago ;) It needs to be updated
AkkaNetContrib/Akka.Persistence.PostgreSql#32
this is the PR
console app for stress tests is attached
Boban
@bobanco
will take a look
with jvm lagom framework whihc under the hood is using akka sharding and persistence i was getting troughput > 3k
same workload
Bartosz Sypytkowski
@Horusiath
lagom with cassandra?
Boban
@bobanco
oh yes
i forgot abt the cassandra
Bartosz Sypytkowski
@Horusiath
their cassandra plugin also implements some sort of request batching
Boban
@bobanco
any idea when postgres PR will get merged?
if i can get better troughput mb i can avoid convincing my team and also myself to use jvm for this microservice, cuz entire ecosystem is running on .net
and akka.net
i also made prototype on a top of orleans, it was even worse the mysql storage provider was falling :smile:
Bartosz Sypytkowski
@Horusiath
I guess mysql is not a top used storage in .net - probably most of the implementations in all libraries will end up pretty buggy
Boban
@bobanco
i can switch to postgres or cassandra
if i can avoid this issue
sharding together with persistence will give awesome scalability, only need now to find the right persistence :)
@Horusiath SqlServer persistence has implemented this batching journal right? can i use it in 1.3.1?
Bartosz Sypytkowski
@Horusiath
@bobanco not yet - I'm updating a related PR right now
I hope I'll made it in time before 1.3.1 release
Boban
@bobanco
@Horusiath thank you man
Bartosz Sypytkowski
@Horusiath
also if it's an option for you, you may want to use redis, even just for sharding-related data
@alexvaluyskiy put some work there
Joshua Garnett
@joshgarnett
@bobanco if it helps I’m going to be launching a game with Akka.Net + MySQL, so will likely be contributing improvements to that plugin. On a previous game we were using the JVM Akka + MySQL (Aurora to be specific) and targetting 50K/journals per second. With db sharding in place we were close to hitting that target
Boban
@bobanco
@joshgarnett thanks for the info, are u planing to implement the batching journal or i should take the contribution on it? 50k events per second is fairly good enough for my case
Joshua Garnett
@joshgarnett
I’m probably a month out from digging further into the changes needed, so if you need something sooner, you should give it a go
Boban
@bobanco
yh i will work on it tonight as i need to close this prototyping by the end of this week
Joshua Garnett
@joshgarnett
Good luck
Boban
@bobanco
tx :smile:
@Horusiath redis persistence is updated to be used in the last version?
Boban
@bobanco

@Horusiath i have implemented the batcing journal but it doesn't work :smile: am getting null reference exception here is log

[ERROR][08-Sep-17 23:30:19][Thread 0008][akka://system/system/akka.persistence.journal.mysql] Object reference not set to an instance of an object.
Cause: [akka://system/system/akka.persistence.journal.mysql#1985097534]: Akka.Actor.ActorInitializationException: Exception during creation ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at Akka.Persistence.Sql.Common.Journal.BatchingSqlJournal`2.PreStart()
   at Akka.Actor.ActorBase.AroundPreStart()
   at Akka.Actor.ActorCell.<>c__DisplayClass168_0.<Create>b__0()
   at Akka.Actor.ActorCell.UseThreadContext(Action action)
   at Akka.Actor.ActorCell.Create(Exception failure)
   --- End of inner exception stack trace ---
   at Akka.Actor.ActorCell.Create(Exception failure)
   at Akka.Actor.ActorCell.SysMsgInvokeAll(EarliestFirstSystemMessageList messages, Int32 currentState)

here is the repo

@Horusiath Please take a look what is missing

Sean Farrow
@SeanFarrow

Hi All,

Three quick persistence queries:
Firstly, I know it uses google protocol buffers, how does it handle serialization, I couldn't find the code. I've got a custom type that doesn't currently serialize with protobuff so was wondering whether this would still be handled.
Secondly, how can I stop and rehydrate an actor after a period of time, this is a process that is offline currently so could take some time.
Finally, can someone confirm that as long as the persistence id's are the same the actor hierarchy can be changed.

Alfredo Herrera
@alfredherr
@heynickc , thank you
Bartosz Sypytkowski
@Horusiath
@object I'm working on Akkling upgrade right now, but I run into some problems with Paket
Bartosz Sypytkowski
@Horusiath
@bobanco see akkadotnet/Akka.Persistence.SqlServer#81 - I've updated the batching PR for SqlServer. I think in your case the problem may be either in serializer initialization (using default-serializer key instead of serializer) or with connection string - .net core lack of support for ConfigurationManager caused some issues and if you're using connection-string-name it may be problematic.
Boban
@bobanco
@Horusiath i have fixed the issue, problem was with the ctor of the mysql batching journal
Saepul Ramdani
@blackclavus

Hello guys...
Just got this error from my project using Akka 1.3.1 on mono (linux)

Unhandled Exception:
System.ArgumentNullException: The message cannot be null.
Parameter name: message
  at Akka.Actor.Envelope..ctor (System.Object message, Akka.Actor.IActorRef sender, Akka.Actor.ActorSystem system) [0x00032] in <388272c00ff54cb2808e25c3aa633b3f>:0
  at Akka.Actor.ActorCell.SendMessage (Akka.Actor.IActorRef sender, System.Object message) [0x00009] in <388272c00ff54cb2808e25c3aa633b3f>:0
  at Akka.Actor.LocalActorRef.TellInternal (System.Object message, Akka.Actor.IActorRef sender) [0x00000] in <388272c00ff54cb2808e25c3aa633b3f>:0
  at Akka.Actor.ActorRefBase.Tell (System.Object message, Akka.Actor.IActorRef sender) [0x0000a] in <388272c00ff54cb2808e25c3aa633b3f>:0
  at Akka.Actor.ActorRefImplicitSenderExtensions.Tell (Akka.Actor.IActorRef receiver, System.Object message) [0x00006] in <388272c00ff54cb2808e25c3aa633b3f>:0
  at Akka.IO.TcpExt.OnComplete (System.Object sender, System.Net.Sockets.SocketAsyncEventArgs e) [0x00016] in <388272c00ff54cb2808e25c3aa633b3f>:0
  at System.Net.Sockets.SocketAsyncEventArgs.OnCompleted (System.Net.Sockets.SocketAsyncEventArgs e) [0x0000e] in <a67b90c5acf54694896b770f716b945d>:0
  at System.Net.Sockets.SocketAsyncEventArgs.Complete () [0x00000] in <a67b90c5acf54694896b770f716b945d>:0
  at System.Net.Sockets.Socket+<>c.<.cctor>b__306_7 (System.IAsyncResult ares) [0x0005d] in <a67b90c5acf54694896b770f716b945d>:0
  at System.Net.Sockets.SocketAsyncResult+<>c.<Complete>b__27_0 (System.Object state) [0x0000b] in <a67b90c5acf54694896b770f716b945d>:0
  at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem () [0x00008] in <902ab9e386384bec9c07fa19aa938869>:0
  at System.Threading.ThreadPoolWorkQueue.Dispatch () [0x00074] in <902ab9e386384bec9c07fa19aa938869>:0
  at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback () [0x00000] in <902ab9e386384bec9c07fa19aa938869>:0

(I'll put this on git after I'm finished (and reproduced this exception) on example project)

Saepul Ramdani
@blackclavus
*oh, this happen when Tcp received data from client
Gregorius Soedharmo
@Arkatufus
I dont think mono is fully supported in 1.3.1, why don't you use net core 1.1 instead?
Saepul Ramdani
@blackclavus
Yeah, we're planning to use net core 1.1 later, but it seems it should be done sooner
vicosoft4real
@vicosoft4real
I keep get this exception : [11:52:41 WRN] Association with remote system akka.tcp://EduSaaSSystem@127.0.0.1
:4053 has failed; address is now gated for 5000 ms. Reason is: [Akka.Remote.Endp
ointDisassociatedException: Disassociated
at Akka.Remote.EndpointWriter.PublishAndThrow(Exception reason, LogLevel leve
l, Boolean needToThrow)
at Akka.Remote.EndpointWriter.Unhandled(Object message)
at Akka.Actor.ReceiveActor.ExecutePartialMessageHandler(Object message, Parti
alAction`1 partialAction)
at Akka.Actor.ReceiveActor.<>cDisplayClass11_0.<Become>b0(Object m)
at Akka.Actor.ActorCell.<>cDisplayClass106_0.<Akka.Actor.IUntypedActorConte xt.Become>b0(Object m)
at Akka.Actor.ActorBase.AroundReceive(Receive receive, Object message)
at Akka.Actor.ActorCell.ReceiveMessage(Object message)
at Akka.Actor.ActorCell.ReceivedTerminated(Terminated t)
at Akka.Actor.ActorCell.AutoReceiveMessage(Envelope envelope)
at Akka.Actor.ActorCell.Invoke(Envelope envelope)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Akka.Actor.ActorCell.HandleFailed(Failed f)
at Akka.Actor.ActorCell.SysMsgInvokeAll(EarliestFirstSystemMessageList messag
es, Int32 currentState)]
my client configuration is =>actor {
serializers {
wire = "Akka.Serialization.HyperionSerializer, Akka.Serialization.Hyperion"
}
serialization-bindings {
"System.Object" = wire
}
provider = "Akka.Cluster.ClusterActorRefProvider, Akka.Cluster"
}
remote {
            helios.tcp {
                transport-class = "Akka.Remote.Transport.Helios.HeliosTcpTransport, Akka.Remote"
                applied-adapters = []
                transport-protocol = tcp
                port = 0
                hostname = 127.0.0.1
            }
            log-remote-lifecycle-events = DEBUG
        }
        cluster{
            seed-nodes= ["akka.tcp://EduSaaSSystem@127.0.0.1:4053"]
        }
vicosoft4real
@vicosoft4real
Lighthouse configuration => lighthouse{
actorsystem: "EduSaaSSystem" #POPULATE NAME OF YOUR ACTOR SYSTEM HERE
}
                akka {
                    actor { 
        serializers {

                 wire = "Akka.Serialization.HyperionSerializer, Akka.Serialization.Hyperion"
           }
            serialization-bindings {
              "System.Object" = wire
            }
                        provider = "Akka.Cluster.ClusterActorRefProvider, Akka.Cluster"
                    }

                    remote {
        helios.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 = "POPULATE STATIC IP HERE"
                            hostname = "0.0.0.0"
                            port = 4053
                        }
                        log-remote-lifecycle-events = DEBUG

                    }            

                    loggers = ["Akka.Logger.NLog.NLogLogger, Akka.Logger.NLog"]

                    cluster {
                        #will inject this node as a self-seed node at run-time
                        seed-nodes = ["akka.tcp://EduSaaSSystem@127.0.0.1:4053"] #manually populate other seed nodes here, i.e. "akka.tcp://lighthouse@127.0.0.1:4053", "akka.tcp://lighthouse@127.0.0.1:4044"
                        roles = [lighthouse]
                    }
                }
vicosoft4real
@vicosoft4real
What am i doing wrong? is it my serialization?