benjaminpetit on master
Remove unused code in TaskSched… (compare)
jdom on master
Remove code obsoleted by Target… (compare)
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?
@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.
Exception while calling IQueueAdapter.CreateNewReceiver.
System.NullReferenceException: Object reference not set to an instance of an object.
at OrleansAWSUtils.Storage.SQSStorage.CreateClient() in D:\build\agent\_work\23\s\src\AWS\Orleans.Streaming.SQS\Storage\SQSStorage.cs:line 86
at OrleansAWSUtils.Streams.SQSAdapterReceiver.Create(SerializationManager serializationManager, ILoggerFactory loggerFactory, QueueId queueId, String dataConnectionString, String serviceId) in D:\build\agent\_work\23\s\src\AWS\Orleans.Streaming.SQS\Streams\SQSAdapterReceiver.cs:line 30
at OrleansAWSUtils.Streams.SQSAdapter.CreateReceiver(QueueId queueId) in D:\build\agent\_work\23\s\src\AWS\Orleans.Streaming.SQS\Streams\SQSAdapter.cs:line 39
at Orleans.Streams.PersistentStreamPullingAgent.InitializeInternal(IQueueAdapter qAdapter, IQueueAdapterCache queueAdapterCache, IStreamFailureHandler failureHandler) in D:\build\agent\_work\23\s\src\Orleans.Runtime\Streams\PersistentStream\PersistentStreamPullingAgent.cs:line 107
http://localhost:4576/123456789012/test_queue