Issue tracker for Petabridge.Cmd
Please explore our current list of issues or create a new one.
Issue tracker for Petabridge.Cmd
Home Page: https://cmd.petabridge.com/
Issue tracker for Petabridge.Cmd
Please explore our current list of issues or create a new one.
serializers {
hyperion = "Akka.Serialization.HyperionSerializer, Akka.Serialization.Hyperion"
}
serialization-bindings {
"System.Object" = hyperion
}
$ pbm localhost:9110
____ _ _ _ _
| _ \ ___| |_ __ _| |__ _ __(_) __| | __ _ ___
| |_) / _ | __/ _` | '_ \| '__| |/ _` |/ _` |/ _ \
| __| __| || (_| | |_) | | | | (_| | (_| | __/
|_| \___|\__\__,_|_.__/|_| |_|\__,_|\__, |\___|
|___/
petabridge.cmd (0.2.2)
Copyright 2017 - 2017, Petabridge®.
serialization error: Object reference not set to an instance of an object.
Hello!
SeedNode1 HOCON
remote {
dot-netty.tcp {
hostname = "localhost"
port = 8081
}
}
SeedNode2 HOCON
remote {
dot-netty.tcp {
hostname = "localhost"
port = 8082
}
}
Run the SeedNode1
, SeedNode2
The results of cluster-sharding local-stats
and cluster-sharding region-stats
are as follows.
Both addresses were printed at 8081.
I think the second address should be printed at 8082.
This seems like a bug. right?
At least inside the current quickstart project: https://github.com/petabridge/petabridge.cmd-quickstart/blob/master/src/Petabridge.Cmd.QuickStart/Petabridge.Cmd.QuickStart.csproj#L44
The command text still gets entered in correctly, but the way the lines appear on the console look mangled together and weird. Need to account for line breaks in the rendering stage of tab autocomplete.
This would help with #45 but it would also make it possible for a user to know what to type without having to enter interactive mode first.
It would be nice when doing a cluster show
, to simply have it show the number of members found in that query at the end. Something simple like:
> cluster show -r a
akka.tcp://[email protected]:10050 | [a] | up |
akka.tcp://[email protected]:10050 | [a] | up |
akka.tcp://[email protected]:10050 | [a] | up |
Found Members: 3
Should be able to support cluster leave -a [addr1] -a [addr2]
- currently can only support one node address at a time.
[ERROR][09.10.2020 00:57:52][Thread 0013][akka://pbmClient/user/console] The value must be greater than or equal to zero and less than the console's buffer size in that dimension. (Parameter 'top')
Actual value was 30.
Cause: System.ArgumentOutOfRangeException: The value must be greater than or equal to zero and less than the console's buffer size in that dimension. (Parameter 'top')
Actual value was 30.
at System.ConsolePal.SetCursorPosition(Int32 left, Int32 top)
at System.Console.SetCursorPosition(Int32 left, Int32 top)
at Petabridge.Cmd.Client.Handler.ConsoleHandlerActor.ClearCurrentLines(Int32 startingLine, Int32 currentLine) in D:\a\1\s\src\Petabridge.Cmd.Client\Handler\ConsoleHandlerActor.cs:line 297
at Petabridge.Cmd.Client.Handler.ConsoleHandlerActor.<Reading>b__20_0(Read _) in D:\a\1\s\src\Petabridge.Cmd.Client\Handler\ConsoleHandlerActor.cs:line 158
at lambda_method(Closure , Object , Action`1 , Action`1 )
at Akka.Tools.MatchHandler.PartialHandlerArgumentsCapture`3.Handle(T value)
at Akka.Actor.ReceiveActor.ExecutePartialMessageHandler(Object message, PartialAction`1 partialAction)
at Akka.Actor.ReceiveActor.<>c__DisplayClass11_0.<Become>b__0(Object m)
at Akka.Actor.ActorCell.<>c__DisplayClass114_0.<Akka.Actor.IUntypedActorContext.Become>b__0(Object m)
at Akka.Actor.ActorBase.AroundReceive(Receive receive, Object message)
at Akka.Actor.ActorCell.ReceiveMessage(Object message)
at Akka.Actor.ActorCell.Invoke(Envelope envelope)
Tool version 0.8.0
Terminal: Windows Terminal 1.3.2651.0
What I did:
Not the end of the world, but autocomplete should be consistent across the board.
This is an issue with the way we query the root of the actor hierarchy, which essentially "misses" the root of the /remote
actor hierarchy portion.
v0.2.1
In trying to edit a command from the command history to insert information earlier in the command for re-execution;
Impairs the readability of some stuff
We are having a strange issue which only shows itself remotely.
We have a cluster which is currently running akka 1.2.3 and pbm host/client 0.2.2 on several of the machines, when connecting locally on the machine in question with pbm host on it using the pbm client all is fine and works as expected.
But remotely the pbm client hangs indefinitely and does not get any further than the copyright message line, it does not do what it does locally return the next line that starts "successfully connected to [", it also does not return a connection failed message either (which I have seen when accidentally entering an incorrect ip/port).
I was wondering if this is an issue anyone else has experienced and if upgrading to akka 1.3.1 and the associated packages like the latest pbm will resolve this for us, we would like confirmation on this so we can then escalate the priority of our planned upgrade to 1.3.1.
If you need any extra info let me know.
ClusterSingletonManager
.actor hierarchy
prints different results each time.actor hierarchy -d 8
1st runReceived unexpected ActorIdentity
Warning message[2020/10/19 18:02:34.084][ 29][ WARN]akka.tcp://[email protected]:9830/user/petabridge.cmd/192.168.100.70%3A9846/actor/handler/$i/$b[Petabridge.Cmd.Host.Default.Actor.ActorTracer] Received unexpected ActorIdentity: [Id=akka.tcp://[email protected]:9834/remote/akka.tcp/[email protected]:9830/user/ApiMasterActor/ClusterSingleton/TestClusterRole1HelloActor/c1, Subject=]
actor hierarchy -d 8
2nd runReceived unexpected ActorIdentity
Warning message[2020/10/19 18:02:35.355][ 4][ WARN]akka.tcp://[email protected]:9830/user/petabridge.cmd/192.168.100.70%3A9846/actor/handler/$j/$b[Petabridge.Cmd.Host.Default.Actor.ActorTracer] Received unexpected ActorIdentity: [Id=akka://mls-cluster-system/user/ApiMasterActor/ClusterSingleton/TestClusterRole2HelloActor, Subject=[akka.tcp://[email protected]:8112/remote/akka.tcp/[email protected]:9830/user/ApiMasterActor/ClusterSingleton/TestClusterRole2HelloActor/c1#1502144516]]
[2020/10/19 18:02:35.451][ 27][ WARN]akka.tcp://[email protected]:9830/user/petabridge.cmd/192.168.100.70%3A9846/actor/handler/$j/$b[Petabridge.Cmd.Host.Default.Actor.ActorTracer] Received unexpected ActorIdentity: [Id=akka://mls-cluster-system/user/ApiMasterActor/ClusterSingleton/TestClusterRole1HelloActor, Subject=[akka.tcp://[email protected]:9834/remote/akka.tcp/[email protected]:9830/user/ApiMasterActor/ClusterSingleton/TestClusterRole1HelloActor/c1#1449701576]]
actor hierarchy
command?I executed the following command:
pbm> log peek -l info
and received the following output:
[DEBUG][2/21/2019 7:41:11 PM][Thread 0003][[akka://webcrawler/user/petabridge.cmd/127.0.0.1%3A53708#325314416]] Sending [RESPONSE][FINAL=True]: [DEBUG][2/21/2019 7:40:34 PM][Thread 0004][[akka://webcrawler/user/petabridge.cmd/127.0.0.1%3A53708#325314416]] Sending [RESPONSE][FINAL=True]: N/A to client [15 bytes] to client [183 bytes]
when as I rend the following command:
pbm> log peek -l info -N 5
I received the following response:
[INFO][2/21/2019 7:36:32 PM][Thread 0005][Cluster] Cluster configured, manual cluster join required [INFO][2/21/2019 7:36:32 PM][Thread 0007][[akka://webcrawle o [0.0.0.0:9110] [INFO][2/21/2019 7:38:58 PM][Thread 0008][[akka://webcrawle nection from client [127.0.0.1:53708] [INFO][2/21/2019 7:40:13 PM][Thread 0007][Cluster] Cluster ://[email protected]:14321] is JOINING itself (with role [INFO][2/21/2019 7:40:13 PM][Thread 0007][Cluster] Cluster ng node [akka.tcp://[email protected]:14321] to [Up]
It looks like the filter does not work when a specified N value is not provided.
Hi, When can we expect to see a pbm image built for .NET5.0?
Since our application is built for .NET5.0, we currently need to install both the.NET3.0 and .NET5.0 framworks in our pods for pdm to work.
Haven't added since pbm
v0.3.2
Work is underway
I just installed and tried out Petabridge cmd on our system. When running
pbm host:port actor hierarchy > result.txt
the result file has some actors (163 of them) and the final line in the file reads
serialization error: Destination array is not long enough to copy all the items in the collection. Check array index and length.
Maybe related to #17
pbm 0.3.1.0
Hello,
We use pbm
client for container liveness check in the K8s deployment. Apparently, it always return exit code 0 even if couldn't connect to the host.
C:\>pbm 127.0.0.1:9110 cluster status
Failed to connect to 127.0.0.1:9110 within 00:00:05
C:\>echo %ERRORLEVEL%
0
pbm client version - 0.8.0
Microsoft Windows [Version 10.0.17763.1282]
The v0.8.5 is the last version of PBM available in chocolatey or for a manual download (blob not found).
Are these methods now obsolete or just some missing links update ?
This makes using pbm
interactive mode when running kubectl exec
, for instance, very difficult if not impossible to use. We should consider sanitizing the CLI output and look for areas where we might be using character / encoding that aren't suitable for x-platform.
Hi,
some days ago an issue with "Akka.Serialization.Hyperion" and latest Hyperion serializer was resolved:
akkadotnet/akka.net#2976
Now i want to try out Petabridge.Cmd.
When i connect to the host the client hangs.
In server log I see following stack trace:
Akka: (InfoLevel) - [INFO][21.08.2017 09:24:15][Thread 0014][[akka://So3ClusterServer/user/petabridge.cmd#521606962]] Received petabridge.cmd connection from client [127.0.0.1:14549] Petabridge.Cmd.Host.AkkaCmdListener: [15] INFO - 2017-08-21 11:24:15,055: Received petabridge.cmd connection from client [127.0.0.1:14549] Akka.Actor.OneForOneStrategy: [8] ERROR - 2017-08-21 11:24:15,080: Error while creating actor instance of type Petabridge.Cmd.Host.AkkaCmdController with 3 args: ([akka://So3ClusterServer/system/IO-TCP/$a/$b#2038589342],System.Collections.Generic.Dictionary
2[System.String,Petabridge.Cmd.Host.CommandPaletteHandler],127.0.0.1:14549)
[akka://So3ClusterServer/user/petabridge.cmd/127.0.0.1%3A14549#1125075362]: Akka.Actor.ActorInitializationException: Exception during creation ---> System.TypeLoadException: Error while creating actor instance of type Petabridge.Cmd.Host.AkkaCmdController with 3 args: ([akka://So3ClusterServer/system/IO-TCP/$a/$b#2038589342],System.Collections.Generic.Dictionary2[System.String,Petabridge.Cmd.Host.CommandPaletteHandler],127.0.0.1:14549) ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.MissingMethodException: Method not found: 'Void Hyperion.SerializerOptions..ctor(Boolean, Boolean, System.Collections.Generic.IEnumerable
1<Hyperion.Surrogate>, System.Collections.Generic.IEnumerable1<Hyperion.SerializerFactories.ValueSerializerFactory>, System.Collections.Generic.IEnumerable
1<System.Type>)'.
at Petabridge.Cmd.Serialization.CommandSerializer..ctor()
at Petabridge.Cmd.Host.AkkaCmdController..ctor(IActorRef connection, IReadOnlyDictionary2 palettes, IPEndPoint clientEndpoint) --- End of inner exception stack trace --- at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, StackCrawlMark& stackMark) at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes) at System.Activator.CreateInstance(Type type, Object[] args) at Akka.Actor.Props.ActivatorProducer.Produce() at Akka.Actor.Props.NewActor() --- End of inner exception stack trace --- at Akka.Actor.Props.NewActor() at Akka.Actor.ActorCell.CreateNewActorInstance() at Akka.Actor.ActorCell.<>c__DisplayClass109_0.<NewActor>b__0() at Akka.Actor.ActorCell.UseThreadContext(Action action) at Akka.Actor.ActorCell.NewActor() 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) Akka: (ErrorLevel) - [ERROR][21.08.2017 09:24:15][Thread 0014][akka://So3ClusterServer/user/petabridge.cmd/127.0.0.1%3A14549] Error while creating actor instance of type Petabridge.Cmd.Host.AkkaCmdController with 3 args: ([akka://So3ClusterServer/system/IO-TCP/$a/$b#2038589342],System.Collections.Generic.Dictionary
2[System.String,Petabridge.Cmd.Host.CommandPaletteHandler],127.0.0.1:14549)
Cause: [akka://So3ClusterServer/user/petabridge.cmd/127.0.0.1%3A14549#1125075362]: Akka.Actor.ActorInitializationException: Exception during creation ---> System.TypeLoadException: Error while creating actor instance of type Petabridge.Cmd.Host.AkkaCmdController with 3 args: ([akka://So3ClusterServer/system/IO-TCP/$a/$b#2038589342],System.Collections.Generic.Dictionary2[System.String,Petabridge.Cmd.Host.CommandPaletteHandler],127.0.0.1:14549) ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.MissingMethodException: Method not found: 'Void Hyperion.SerializerOptions..ctor(Boolean, Boolean, System.Collections.Generic.IEnumerable
1<Hyperion.Surrogate>, System.Collections.Generic.IEnumerable1<Hyperion.SerializerFactories.ValueSerializerFactory>, System.Collections.Generic.IEnumerable
1<System.Type>)'.
at Petabridge.Cmd.Serialization.CommandSerializer..ctor()
at Petabridge.Cmd.Host.AkkaCmdController..ctor(IActorRef connection, IReadOnlyDictionary`2 palettes, IPEndPoint clientEndpoint)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
at System.Activator.CreateInstance(Type type, Object[] args)
at Akka.Actor.Props.ActivatorProducer.Produce()
at Akka.Actor.Props.NewActor()
--- End of inner exception stack trace ---
at Akka.Actor.Props.NewActor()
at Akka.Actor.ActorCell.CreateNewActorInstance()
at Akka.Actor.ActorCell.<>c__DisplayClass109_0.b__0()
at Akka.Actor.ActorCell.UseThreadContext(Action action)
at Akka.Actor.ActorCell.NewActor()
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)
FullException:
Exception: Akka.Actor.ActorInitializationException
Message:
Exception during creation
Stacktrace:
at Akka.Actor.ActorCell.Create(Exception failure)
at Akka.Actor.ActorCell.SysMsgInvokeAll(EarliestFirstSystemMessageList messages, Int32 currentState)
InnerException:
Exception: System.TypeLoadException
Message:
Error while creating actor instance of type Petabridge.Cmd.Host.AkkaCmdController with 3 args: ([akka://So3ClusterServer/system/IO-TCP/$a/$b#2038589342],System.Collections.Generic.Dictionary`2[System.String,Petabridge.Cmd.Host.CommandPaletteHandler],127.0.0.1:14549)
Stacktrace:
at Akka.Actor.Props.NewActor()
at Akka.Actor.ActorCell.CreateNewActorInstance()
at Akka.Actor.ActorCell.<>c__DisplayClass109_0.b__0()
at Akka.Actor.ActorCell.UseThreadContext(Action action)
at Akka.Actor.ActorCell.NewActor()
at Akka.Actor.ActorCell.Create(Exception failure)
------------------------------------------------------------
InnerException:
Exception: System.Reflection.TargetInvocationException
Message:
Exception has been thrown by the target of an invocation.
Stacktrace:
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
at System.Activator.CreateInstance(Type type, Object[] args)
at Akka.Actor.Props.ActivatorProducer.Produce()
at Akka.Actor.Props.NewActor()
------------------------------------------------------------
InnerException:
Exception: System.MissingMethodException
Message:
Method not found: 'Void Hyperion.SerializerOptions..ctor(Boolean, Boolean, System.Collections.Generic.IEnumerable`1<Hyperion.Surrogate>, System.Collections.Generic.IEnumerable`1<Hyperion.SerializerFactories.ValueSerializerFactory>, System.Collections.Generic.IEnumerable`1<System.Type>)'.
Stacktrace:
at Petabridge.Cmd.Serialization.CommandSerializer..ctor()
at Petabridge.Cmd.Host.AkkaCmdController..ctor(IActorRef connection, IReadOnlyDictionary`2 palettes, IPEndPoint clientEndpoint)
Akka: (InfoLevel) - [INFO][21.08.2017 09:24:15][Thread 0008][akka://So3ClusterServer/system/IO-TCP/$a/$b] Message SocketReceived from akka://So3ClusterServer/deadLetters to akka://So3ClusterServer/system/IO-TCP/$a/$b was not delivered. 1 dead letters encountered.
Akka.Actor.LocalActorRef: [26] INFO - 2017-08-21 11:24:15,086: Message SocketReceived from akka://So3ClusterServer/deadLetters to akka://So3ClusterServer/system/IO-TCP/$a/$b was not delivered. 1 dead letters encountered.`
As there are no sources for Petabridge.Cmd are available i cannot check whats happening there.
But for me it looks like it is the same issue already solved in Akka 1.3.0.
Hyperion.SerializerOptions ctor was extended by an optional parameter. So Petabridge.Cmd would have to be recompiled against latest Hyperion.
Once akkadotnet/akka.net#4577 is merged in and deployed into Akka.NET v1.4.11, we should add support for this inside pbm cluster show
and others.
Link: https://cmd.petabridge.com/articles/quickstart.html
The following script is wrong.
Setup
To get started, install the pbm client as a .NET Core global tool.
> dotnet install -g pbm
It should be the following script.
-> dotnet install -g pbm
dotnet tool install -g pbm
Causes NREs when looking up help documentation, among other things.
https://cmd.petabridge.com/articles/install/downloads.html
Last mentioned version is v0.3.0.
Workaround - just hit https://petabridgecmd.blob.core.windows.net/petabridge-cmd/petabridge-cmd/Petabridge.Cmd.Client.0.3.1.zip
It happens on a VM and the querying again via new pbm client command does not solve it. (we use the whole command in the powershell so I guess it restarts the pbm client - any way next time I'll restart the PS console as well)
The command I'm using is:
pbm localhost:3707 cluster-sharding region-stats -r EvaluationActor
It would be nice to have a docker image so that I can quickly use pbm without having to install on machine with docker.
https://www.nuget.org/packages/Petabridge.Cmd.Testing/ - have an entire module dedicated to mocking the behavior of the pbm
client for use in developing custom Petabridge.Cmd modules, but no documentation explaining how to use it :)
pbm 0.2.2
I am running Lighthouse service in AWS ECS Fargate container. When I call pbm myfargateservice:9110 the pbm is able to establish connection but it does not go to the prompt but instead hangs after
PS C:> pbm xyz.amazonaws.com:9110
| _ \ | | __ | | _ __() | | __ _ ___
| |) / _ | __/ | '_ \| '__| |/ _
|/ ` |/ _
| __| __| || (| | |) | | | | (| | (| | __/
|| _|__,|./|| ||_,|__, |_|
|___/
petabridge.cmd (1.1.0.0)
Copyright 2017 - 2022, Petabridge®.
NOTHING IS SHOWING, I don't see errors in logs either...
When running locally in docker, the pbm is able to connect to the service and is fine.
Is there some sort of extra settings that need to be set/changes on the netwrok level?
Will make the process of repairing a cluster much easier than it currently is with pbm
, where each unreachable node's address must be spelled out explicitly on the commandline at the same time
Would remove a tremendous amount of boilerplate for handling switches et al.
The package uses a vulnerable version of System.Net.Http which is affected by CVE-2018-8292.
According to the Release note support for .NET 5 as been added.
But if I try to run it on a machine that only have .net 5 install it doesn't work.
Each time i initiate a shutdown of the actor system i get a bunch of petabridge.cmd related deadletter info log entries like this:
[11:18:30.470 INF] [akka://executor/user/petabridge.cmd] Shutting down petabridge.cmd host...
[11:18:30.476 INF] [akka://executor/system/deadLetterListener] Message SocketAsyncEventArgs from akka://executor/deadLetters to akka://executor/system/IO-TCP/$a was not delivered. 1 dead letters encountered.
[11:18:30.477 INF] [akka://executor/system/deadLetterListener] Message SocketAsyncEventArgs from akka://executor/deadLetters to akka://executor/system/IO-TCP/$a was not delivered. 2 dead letters encountered.
[11:18:30.477 INF] [akka://executor/system/deadLetterListener] Message SocketAsyncEventArgs from akka://executor/deadLetters to akka://executor/system/IO-TCP/$a was not delivered. 3 dead letters encountered.
[11:18:30.477 INF] [akka://executor/system/deadLetterListener] Message SocketAsyncEventArgs from akka://executor/deadLetters to akka://executor/system/IO-TCP/$a was not delivered. 4 dead letters encountered.
[11:18:30.478 INF] [akka://executor/system/deadLetterListener] Message SocketAsyncEventArgs from akka://executor/deadLetters to akka://executor/system/IO-TCP/$a was not delivered. 5 dead letters encountered.
[11:18:30.478 INF] [akka://executor/system/deadLetterListener] Message SocketAsyncEventArgs from akka://executor/deadLetters to akka://executor/system/IO-TCP/$a was not delivered. 6 dead letters encountered.
[11:18:30.478 INF] [akka://executor/system/deadLetterListener] Message SocketAsyncEventArgs from akka://executor/deadLetters to akka://executor/system/IO-TCP/$a was not delivered. 7 dead letters encountered.
[11:18:30.479 INF] [akka://executor/system/deadLetterListener] Message SocketAsyncEventArgs from akka://executor/deadLetters to akka://executor/system/IO-TCP/$a was not delivered. 8 dead letters encountered.
[11:18:30.479 INF] [akka://executor/system/deadLetterListener] Message SocketAsyncEventArgs from akka://executor/deadLetters to akka://executor/system/IO-TCP/$a was not delivered. 9 dead letters encountered.
Is this an expected behaviour? And how could i prevent this from happening?
We recently switched to SemVer for our Akka-based services, so now we use 3 first versions number for major/minor/patch version, followed by the number of commits since the last patch, e.g.:
2.6.1.4 (AssemblyVersion and AssemblyFileVersion)
2.6.1-4+b5837ab (AssemblyInformationalVersion)
Petabridge CMD shows only 3 first numbers, so it only shows 2.6.1. This becomes inconvenient when we frequently update services after newer commits and can't see what commit number is installed.
Are there any specific reasons why Petabridge CMD only show 3 first version parts, and not the full version information?
Be able to retrieve the list of all akka assembly versions that the node is currently running would be useful in runtime environments. Even better if you can grab that data from all of the other nodes in the cluster somehow.
during startup of a ConsoleApp (.Net 4.6.2)
with integrated Petabridge.Cmd.Host v0.8.0 (Akka.Net v1.4.10)
(using Default HOCON Values:
https://cmd.petabridge.com/articles/install/host-configuration.html#default-hocon-values)
calling PetabridgeCmd.Get(_actorSystem).Start() causes the error:
(when default serializer is used)
Newtonsoft.Json.JsonSerializationException
HResult=0x80131500
Message=Error getting value from 'ScopeId' on 'System.Net.IPAddress'.
Source=Newtonsoft.Json
StackTrace:
at Newtonsoft.Json.Serialization.DynamicValueProvider.GetValue(Object target)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.CalculatePropertyValues(JsonWriter writer, Object value, JsonContainerContract contract, JsonProperty member, JsonProperty property, JsonContract& memberContract, Object& memberValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize(JsonWriter jsonWriter, Object value, Type objectType)
at Newtonsoft.Json.JsonSerializer.SerializeInternal(JsonWriter jsonWriter, Object value, Type objectType)
at Newtonsoft.Json.JsonConvert.SerializeObjectInternal(Object value, Type type, JsonSerializer jsonSerializer)
at Akka.Serialization.NewtonSoftJsonSerializer.ToBinary(Object obj)
at Akka.Actor.ActorCell.MakeChild(Props props, String name, Boolean async, Boolean systemService)
at Akka.Actor.ActorCell.AttachChild(Props props, Boolean isSystemService, String name)
at Petabridge.Cmd.Host.PetabridgeCmd.Start()
at PushNotificationsService.AkkaHostService.Start() in ..........
at PushNotificationsService.Program.<>c.
1.<WhenStarted>b__0(T service, HostControl control) at Topshelf.Builders.DelegateServiceBuilder
1.DelegateServiceHandle.Start(HostControl hostControl)when latest hyperion serializer is used (0.9.16)
serialization-bindings {
"System.Object" = hyperion
}
than this error I see in logs (but the app runs further):
ERROR The best overloaded method match for 'Hyperion.SerializerFactories.ArraySerializerFactory.WriteValues<System.ValueType>(System.ValueType[], System.IO.Stream, System.Type, Hyperion.ValueSerializers.ValueSerializer, Hyperion.SerializerSession)' has some invalid arguments
EXCEPTION: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: The best overloaded method match for 'Hyperion.SerializerFactories.ArraySerializerFactory.WriteValues<System.ValueType>(System.ValueType[], System.IO.Stream, System.Type, Hyperion.ValueSerializers.ValueSerializer, Hyperion.SerializerSession)' has some invalid arguments
at CallSite.Target(Closure , CallSite , ArraySerializerFactory , Object , Stream , Type , ValueSerializer , SerializerSession )
at System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid6[T0,T1,T2,T3,T4,T5](CallSite site, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5)
at Hyperion.SerializerFactories.ArraySerializerFactory.<>c__DisplayClass4_0.b__1(Stream stream, Object arr, SerializerSession session)
at Hyperion.Extensions.StreamEx.WriteObject(Stream stream, Object value, Type valueType, ValueSerializer valueSerializer, Boolean preserveObjectReferences, SerializerSession session)
at lambda_method(Closure , Stream , Object , SerializerSession )
at Hyperion.Extensions.StreamEx.WriteObject(Stream stream, Object value, Type valueType, ValueSerializer valueSerializer, Boolean preserveObjectReferences, SerializerSession session)
at lambda_method(Closure , Stream , Object , SerializerSession )
at Hyperion.Extensions.StreamEx.WriteObject(Stream stream, Object value, Type valueType, ValueSerializer valueSerializer, Boolean preserveObjectReferences, SerializerSession session)
at lambda_method(Closure , Stream , Object , SerializerSession )
at Hyperion.Extensions.StreamEx.WriteObject(Stream stream, Object value, Type valueType, ValueSerializer valueSerializer, Boolean preserveObjectReferences, SerializerSession session)
at lambda_method(Closure , Stream , Object , SerializerSession )
at Hyperion.Extensions.StreamEx.WriteObject(Stream stream, Object value, Type valueType, ValueSerializer valueSerializer, Boolean preserveObjectReferences, SerializerSession session)
at lambda_method(Closure , Stream , Object , SerializerSession )
at Hyperion.Extensions.StreamEx.WriteObject(Stream stream, Object value, Type valueType, ValueSerializer valueSerializer, Boolean preserveObjectReferences, SerializerSession session)
at lambda_method(Closure , Stream , Object , SerializerSession )
at Hyperion.Extensions.StreamEx.WriteObject(Stream stream, Object value, Type valueType, ValueSerializer valueSerializer, Boolean preserveObjectReferences, SerializerSession session)
at Hyperion.SerializerFactories.DictionarySerializerFactory.<>c__DisplayClass3_0.b__1(Stream stream, Object obj, SerializerSession session)
at Hyperion.Extensions.StreamEx.WriteObject(Stream stream, Object value, Type valueType, ValueSerializer valueSerializer, Boolean preserveObjectReferences, SerializerSession session)
at lambda_method(Closure , Stream , Object , SerializerSession )
at Hyperion.Extensions.StreamEx.WriteObject(Stream stream, Object value, Type valueType, ValueSerializer valueSerializer, Boolean preserveObjectReferences, SerializerSession session)
at lambda_method(Closure , Stream , Object , SerializerSession )
at Hyperion.Extensions.StreamEx.WriteObject(Stream stream, Object value, Type valueType, ValueSerializer valueSerializer, Boolean preserveObjectReferences, SerializerSession session)
at lambda_method(Closure , Stream , Object , SerializerSession )
at Hyperion.Extensions.StreamEx.WriteObject(Stream stream, Object value, Type valueType, ValueSerializer valueSerializer, Boolean preserveObjectReferences, SerializerSession session)
at lambda_method(Closure , Stream , Object , SerializerSession )
at Hyperion.Extensions.StreamEx.WriteObject(Stream stream, Object value, Type valueType, ValueSerializer valueSerializer, Boolean preserveObjectReferences, SerializerSession session)
at Hyperion.SerializerFactories.DictionarySerializerFactory.<>c__DisplayClass3_0.b__1(Stream stream, Object obj, SerializerSession session)
at Hyperion.Extensions.StreamEx.WriteObject(Stream stream, Object value, Type valueType, ValueSerializer valueSerializer, Boolean preserveObjectReferences, SerializerSession session)
at lambda_method(Closure , Stream , Object , SerializerSession )
at Hyperion.Extensions.StreamEx.WriteObject(Stream stream, Object value, Type valueType, ValueSerializer valueSerializer, Boolean preserveObjectReferences, SerializerSession session)
at lambda_method(Closure , Stream , Object , SerializerSession )
at Hyperion.Extensions.StreamEx.WriteObject(Stream stream, Object value, Type valueType, ValueSerializer valueSerializer, Boolean preserveObjectReferences, SerializerSession session)
at lambda_method(Closure , Stream , Object , SerializerSession )
at Hyperion.Extensions.StreamEx.WriteObject(Stream stream, Object value, Type valueType, ValueSerializer valueSerializer, Boolean preserveObjectReferences, SerializerSession session)
at lambda_method(Closure , Stream , Object , SerializerSession )
at Hyperion.Extensions.StreamEx.WriteObjectWithManifest(Stream stream, Object value, SerializerSession session)
at Hyperion.SerializerFactories.DelegateSerializerFactory.<>c__DisplayClass2_0.b__1(Stream stream, Object value, SerializerSession session)
at Hyperion.Extensions.StreamEx.WriteObject(Stream stream, Object value, Type valueType, ValueSerializer valueSerializer, Boolean preserveObjectReferences, SerializerSession session)
at lambda_method(Closure , Stream , Object , SerializerSession )
at Hyperion.Extensions.StreamEx.WriteObject(Stream stream, Object value, Type valueType, ValueSerializer valueSerializer, Boolean preserveObjectReferences, SerializerSession session)
at lambda_method(Closure , Stream , Object , SerializerSession )
at Hyperion.Extensions.StreamEx.WriteObject(Stream stream, Object value, Type valueType, ValueSerializer valueSerializer, Boolean preserveObjectReferences, SerializerSession session)
at lambda_method(Closure , Stream , Object , SerializerSession )
at Hyperion.Extensions.StreamEx.WriteObject(Stream stream, Object value, Type valueType, ValueSerializer valueSerializer, Boolean preserveObjectReferences, SerializerSession session)
at lambda_method(Closure , Stream , Object , SerializerSession )
at Akka.Serialization.HyperionSerializer.ToBinary(Object obj)
at Akka.Actor.ActorCell.MakeChild(Props props, String name, Boolean async, Boolean systemService)
at Akka.Actor.ActorCell.ActorOf(Props props, String name)
at Akka.IO.TcpManager.Receive(Object message)
at Akka.Actor.ActorBase.AroundReceive(Receive receive, Object message)
at Akka.Actor.ActorCell.ReceiveMessage(Object message)
at Akka.Actor.ActorCell.Invoke(Envelope envelope)
Need a way to purge data in Akka.Persistence.Sharding storage that are linked to a particular shard id
Propose: add a command that can help visualize the actor hierarchy on a given node.
pbm> actor hierarchy [-start {some root path}] [-depth {number of layers to trace}]
Should be able to print out a topology of the actor hierarchy from the top to bottom. By default we will limit the traversal to only a couple of layers in order to make the print-out readable...
Hello!
I was looking at using Petabridge.Cmd as a form of administration panel, and something I'm wondering about is auditing. To be able to log who did what when, we need to know who is issuing commands over Petabridge.Cmd.
It looks like each "session" gets its own instance of the command handler actor, so we could have a login system there (keeping your user ID in some internal state once logged in), but I'm not sure if this is the correct way to do it, or how credentials would be entered without having passwords, etc. in full view in the console window.
Any thoughts?
Thanks,
James.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.