Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 16:57
    sergeybykov milestoned #6314
  • 16:57
    sergeybykov assigned #6314
  • 16:26
    ReubenBond milestoned #6313
  • 16:26
    ReubenBond assigned #6313
  • 16:26
    ReubenBond commented #6313
  • 16:08
    sergeybykov assigned #6315
  • 14:37
    pentp edited #6315
  • 14:37
    pentp opened #6315
  • 14:28
    RockNHawk commented #6314
  • 14:27
    RockNHawk commented #6314
  • 14:25
    RockNHawk commented #6314
  • 13:53
    RockNHawk commented #3705
  • 13:46
    RockNHawk commented #6314
  • 10:42
    RockNHawk edited #6314
  • 10:41
    RockNHawk edited #6314
  • 10:40
    RockNHawk edited #6314
  • 10:34
    RockNHawk edited #6314
  • 10:33
    RockNHawk opened #6314
  • 10:19
  • 07:50
    rvplauborg opened #6313
Lars Thomas Denstad
@COCPORN
Where do you run the codegeneration?
Panu Oksala
@PanuOksala_twitter
we use the codegenerator.msbuild nuget package, which creates the files during build.
that package is referenced at least in the silo hosts
Lars Thomas Denstad
@COCPORN
Is it in the interface assembly, tho?
Thanks for the tip about this feature, BTW. It has passed me by completely.
Panu Oksala
@PanuOksala_twitter
Yes
burgerTo
@burgerTo

Hi,
i have a question regarding async running methods.

This is a examplecode of a GrainMethod:

public Task GrainMethod()
{
_anotherGrain = GrainFactory.GetGrain<IBasicMeasurementDevice>(guid);

_anotherGrain.AnotherGrainMethod().ContinueWith(task =>
{
    //modify private members in Grain;
}, TaskContinuationOptions.OnlyOnFaulted);

}

I want to run the "AnotherGrain" Method without awaiting for it. But if there occurs a exception, I want to modifie the state of the caller grain.
Could this solution lead to race conditions?

oleggolovkovuss
@oleggolovkovuss
Hello, does anyone know what should I use instead of
options.Invariant = "MySql.Data.MySqlClient"; //this was working with mysql 5.6
with MySql 8?
oleggolovkovuss
@oleggolovkovuss
actually the invariant seems fine, it doesn't like the creation of stored procedures now for some reason
oleggolovkovuss
@oleggolovkovuss
ok, my error was because of this line https://github.com/dotnet/orleans/blob/master/src/AdoNet/Orleans.Persistence.AdoNet/MySQL-Persistence.sql#L92 though the exception message was saying there's wrong syntax in a diffrent location omg, thanks all :D
Panu Oksala
@PanuOksala_twitter
@COCPORN I have an example project available that verifies this issue
Sergey Bykov
@sergeybykov

@COCPORN

@sergeybykov Yes, it was hyperbole from me. About the buckets, perhaps I've misunderstood how they work. It looks to just be sorted on expiry time, and then I suppose any grain that has activity moves itself to another bucket based on the time to live configuration. I could take a stab at implementing my suggestion, as I think the amount of work needed to have something that is useful (or can at least be evaluated for usefulness) isn't that big.

Yes, when a grain is invoked, it gets moved to the most recent bucket, unless it's already there. If you are willing to take a stab at it, we'll be happy to help.

@PanuOksala_twitter http://dotnet.github.io/orleans/Documentation/clusters_and_clients/heterogeneous_silos.html says: "All silos should reference interfaces of all grain types of the cluster, but grain classes should only be referenced by the silos that will host them." That also implies that any serializable types that could be sent as arguments should be referenced by all silos. Maybe worth adding such a statement to the doc to prevent confusion.
Sergey Bykov
@sergeybykov
@burgerTo I believe what you are trying to do will generally work, with all the potential implications of not awating an outgoing call - the caller grain might get deactivated before the response arrives, etc.
David Christensen
@OracPrime
Is there any documentation on custom placement strategies? There are the examples inside the Orleans repo, but I feel like I'm reverse engineering...
Reuben Bond
@ReubenBond
There aren't yet, @OracPrime - but they would be welcome :)
David Christensen
@OracPrime
Yes, wouldn't they :)
Barry Briggs
@barrybriggs
Ref the docs on external tasks: https://dotnet.github.io/orleans/Documentation/grains/external_tasks_and_grains.html I'm assuming from reading that I could use this method to call out from a grain to a very-long-running-task (like a Python interpreter training an ML model) and have it periodically call back into a grain?
(Just want to check before writing a bunch of code :-))
Reuben Bond
@ReubenBond
You can do that, @barrybriggs, yes. External tasks/threads can call back into grains. Certainly, it is advised to start such tasks using Task.Run.
Barry Briggs
@barrybriggs
thx!
Tom Nelson
@Zeroshi

@sergeybykov

I think it'd be better for us to chat thematically over Teams/Skype than for me to try to type the same thoughts, and then for us to go back and forth. A voice dialog is an efficient means of arriving to something. 🙂

That sounds great!
thank you!
Sergey Bykov
@sergeybykov
@Zeroshi What time zone are you in?
David Christensen
@OracPrime
Hmmm. Custom placement strategies appear to not as hard as at first thought (famous last words)
Sergey Bykov
@sergeybykov
@OracPrime They are not. Usually, the harder part is getting data necessary to make placement decisions (statistics, etc.).
Tom Nelson
@Zeroshi
@sergeybykov im on eastern
Veikko Eeva
@veikkoeeva
Learned a ton about designing and ordering business cards over the weekend. Things look so nice in RGB and quite more bland in CMYK. :P
Tom Nelson
@Zeroshi
I used to be a graphic designer. I can help with that
Panu Oksala
@PanuOksala_twitter
@sergeybykov ok, thanks
Veikko Eeva
@veikkoeeva
@Zeroshi I wonder... :) I'm currently actually looking a printing shop that can help me produce a pdf with the right color pallette information and help select choosing the right material (likely paper) and finishes. I've been thinking fluorescent green edge color and maybe similar components or metallic (just metallic or holograhic) elements on the surface. The current design is like
kuva.png
and requires fairly sophisticated printing already. :D I've been contacting places like https://publicide.com/ if they can help.
The impetus for this that I've been in meetings/parties in embassies or multilateral investment banks and especially in Asia people may have fairly finished looking cards. I can't just hand casually something that looks like if the price was the most important factor and is like toilet paper in comparison. :D
@ashtonkj Maybe that shows some reasons about the finance discussion back in the day. You may find https://wdbe2019.exordo.com/programme/presentation/59 interesting (see pptx and speaker notes for more details). :)
Kevin Ashton
@ashtonkj_twitter
Thanks @veikkoeeva
Will check it out
Veikko Eeva
@veikkoeeva
And I suck with Illustrator. Currently I'm pushing stuff to my little brother (programmer, but fluent with Photoshop). I've also been looking at Fiverr etc. if someone could do the aforementioned color palette things etc., but heck, even people doing business card design often do not seem to understand RGB glow from the screen is the opposite of "CMYK" reflection from a physical surface.
@ashtonkj_twitter You may find http://www.oecd.org/going-digital/topics/blockchain/the-tokenisation-of-assets-and-potential-implications-for-financial-markets.htm interesting also, or https://github.com/lumoin/circomy. I'd need to actually push updates to the doc at some point in the near future. Though I'm off to tour in Europe for about 1.5 weeks soon discussing about these issues so have to wait. :)
Kevin Ashton
@ashtonkj_twitter
Tough life (Going on tour of Europe and all) :D
Veikko Eeva
@veikkoeeva
@ashtonkj_twitter Well, we are self-funded so I need to take days off from a paying job. But it has been a blast during the past few years. It appears there's a lot of demand on what we're working on. Probably need to go out more and find someone willing to join a good cause and be able to program. :) Off to the gym now!
burgerTo
@burgerTo
@sergeybykov thanks, also for the hint with potential grain deactivation. I try to handle this in the grain statemachine.
Lars Thomas Denstad
@COCPORN
What time was the meetup again?
Reuben Bond
@ReubenBond
1700-1800 GMT (9am PST)
Lars Thomas Denstad
@COCPORN
Ah, excellent, thanks.
David Christensen
@OracPrime
"Cannot enqueue message to invalid activation" - what does that mean?
I've got my grain placement going, but everything's stopped working now :( I think the vast majority of calls should be in-silo. Can I see what calls are cross-silo? I'm suffering from Orleans producing too much debugging information but I can't see anything useful.
Tom Nelson
@Zeroshi
@veikkoeeva i use vista print and they are able to handle each one of your issues. they are fast, affordable, and very good. that design looks nice and i can see a metallic foil making it "pop"