Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 01:28
    yangQingYu123 starred dotnet/orleans
  • Sep 22 22:12
    SalimiHabib edited #5964
  • Sep 22 22:11
    SalimiHabib edited #5964
  • Sep 22 22:07
    SalimiHabib edited #5964
  • Sep 22 15:27
  • Sep 22 15:27
    aeonve starred dotnet/orleans
  • Sep 22 13:18
    rmja commented #5967
  • Sep 22 11:54
    MV10 commented #5952
  • Sep 22 09:27
    qzwzqty starred dotnet/orleans
  • Sep 22 09:06
    SalimiHabib edited #5964
  • Sep 22 09:05
    SalimiHabib edited #5964
  • Sep 22 09:04
    SalimiHabib edited #5964
  • Sep 22 06:57
    SalimiHabib edited #5964
  • Sep 22 06:56
    SalimiHabib edited #5964
  • Sep 22 06:48
    SalimiHabib edited #5964
  • Sep 22 06:31
    xsjmonk starred dotnet/orleans
  • Sep 22 06:25
    SalimiHabib edited #5964
  • Sep 22 05:18
    milkman2014 starred dotnet/orleans
  • Sep 22 02:26
    Snuger starred dotnet/orleans
  • Sep 21 23:40
    strugglepcx starred dotnet/orleans
Seb Ferraro
@NoMercy82
I get no exceptions
but if I leave the clients running, I just continually get exceptions thrown
And it never resolves
FluentGuru
@FluentGuru
@ReubenBond the fix on cosmosdb worked. Thanks for your support :D
Reuben Bond
@ReubenBond
@FluentGuru fantastic!
@NoMercy82 which version of Orleans?
John Berzy
@johnberzy-bazinga
Hi All. Is anyone running orleans with dotnet core 3.0?
I guess a better question would be is it possible to run Orleans with dotnet core 3.0 currently?
Jakub Konecki
@jkonecki
Hi @ReubenBond - I think I may have found an issue in UniqueKey but wanted to check my understanding before I raise an issue. What is supposed to be the value of UniqueKey.IsLongKey for grains that are using string keys?
A bit of context - having IAddressable I'm trying to get the key of the grain - not the long identity string, but the actual Id that was used to create the proxy - there are a bunch of extension methods on IAddressable: GetPrimaryKeyString, GetPrimaryKeyLong, etc. But how can I tell which one should I call? I wanted to call IsPrimaryKeyBasedOnLong but it returns true for grains that use string keys, which confuses the hell out of me
Reuben Bond
@ReubenBond
@jkonecki it's a limitation. The 'best' way I can suggest is using type checks:grain is IGrainWithStringKey for example. It's something I'd like for us to address in future (by eliminating all other kinds of keys 😈)
For the time being there's probably something that can be done to make peoples' lives easier
Jakub Konecki
@jkonecki
@ReubenBond that's fine, I can implement the check for implemneted interface - what about UniqueKey.IsLongKey?
Reuben Bond
@ReubenBond

I think the interface approach is best for all kinds. Note that it's not entirely accurate since technically:
a) A grain can implement all or none of those interfaces, and
b) GrainIds are independent of grain interfaces

I want to make the id vs communications interface more explicit down the line

FluentGuru
@FluentGuru
@johnberzy-bazinga yes you can run Orleans 2.x on netcore3 but you'll need netcore2x for building so if you build and deploy your silos with docker+Kube you will need to either build your project outside the image and just include the binaries or include both netcore2x and netcore3
John Berzy
@johnberzy-bazinga
@FluentGuru thanks for the info. We do build in a container.
FluentGuru
@FluentGuru
@johnberzy-bazinga we did this forced workaround to have both version available on build time until we can upgrade to Orleans 3.x
https://gist.github.com/FluentGuru/6d47f1eccff441d22ca5143fbd64eb5a
works good on alpine3.9
John Berzy
@johnberzy-bazinga
@FluentGuru exactly what I was about to do. Thanks for saving me the effort :)
Seb Ferraro
@NoMercy82
@ReubenBond we're on 2.3.0
With regards to the weird client bug where they just crap themselves when the cluster restarts and they aren't restarted with it
Kevin Ashton
@ashtonkj_twitter
Potentially interesting thing for anyone looking at Autonomous Vehicles: https://github.com/microsoft/AirSim
Reuben Bond
@ReubenBond
@NoMercy82 can you upgrade to the latest version? We fixed a bug which would cause that behaviour
Seb Ferraro
@NoMercy82
I will do that today yes
Jamie Mitchell
@jamiemitchellconsultants
is there a way to limit grains to only accept messages from other grains and not from external clients?
Seb Ferraro
@NoMercy82
Not sure, I guess you could only expose those interfaces to the clients?
FluentGuru
@FluentGuru
@johnberzy-bazinga no problem :)
Joseph Garrone
@JosephGarrone

Trying to draw some parallels between Orleans and historical methods.

When polling for information (i.e. polling individual SNMP tags) in a standard application you'd have a bunch of threads/long running tasks performing a request to a specific tag and then updating some state data. In Orleans, the analogy would be reminders + timers from what I can tell.

Now considering the case where the data is unsolicited (i.e. multicast packets coming into the Orleans cluster), what is the similar "clusterable" mechanism for listening for this data? Historically, you'd just have a udp client blocking on its receive method and then performing processing as the new data comes through.

Reuben Bond
@ReubenBond

https://github.com/tcz717/SimCivil

A C# game server simulating a civilization world allowing roles free interacting. The key goals of the game are to dynamically generate any skills, technologies, recipes, and objects according to role behavior, and imitating real-world roles interacting logic as much as possible.

Interesting. Uses Orleans for the server, too.

Kevin Ashton
@ashtonkj_twitter
That does look interesting. Pity my ability to read mandarin is pretty much non-existent.
Reuben Bond
@ReubenBond
I have an app to help you @ashtonkj_twitter ;)
Kevin Ashton
@ashtonkj_twitter
Which app?
Reuben Bond
@ReubenBond
It's called HanBaoBao and it's on Android
Seb Ferraro
@NoMercy82
@ReubenBond The upgrade to 2.4.2 has fixed the client problems we've seen. Thanks
Reuben Bond
@ReubenBond
Great :)
I figured it would
Yevhen Bobrov
@yevhen
:point_up: September 19, 2019 2:06 AM
from day 1 in Orleankka)) also, please do it for Streams (GUIDs are not usable). This was something I never understood why you bothered supporting all these types of keys. Premature optimization is the root of all evil :)
VitalyV
@VitalyV
Hi there! Guys, did you find good examples, how to implement DDD with Orleans? Thanks
neko_code
@luckyycode
This is interesting
we were unable to find any so we implemented our own
well we had ddd-styled project, later introduced Orleans
VitalyV
@VitalyV
@luckyycode How do you work with aggregates? An aggregate is grain? What about entities and value objects? What kind of strategy do you use for persistence?
neko_code
@luckyycode
for persistence grains we are using simple grains, but with ReadStateAsync/WriteStateAsync overriden methods for saving state using ef core/dapper in different scopes
and for aggregates we also have I think a few grains for aggregating data from other grains
there's Design Patterns repo in OrleansContrib, maybe that will help
on the other hand we are using cqs, so it feels like containerised container with containers lol
VitalyV
@VitalyV
I see, thanks. What do you think, in the future make a simple project DDD+Orleans for community? In my opinion it will be very helpful. ))
neko_code
@luckyycode
well it can be better I think, it is very tighten with our cqs plate/dto project placement
maybe one day I think :)
VitalyV
@VitalyV
Thank you