Comments (3)
I have no problem with that change
from orleankka.
Hi, Jason!
Did you mean MayInterleave
or AlwaysInterleave
attribute?
I don't mind changing the behavior of AlwaysInterleave
to always interleave but as for MayInterleave
I think it's better to leave it as now. IMHO, Orleans should have both options supported.
The ability to have calls which may interleave but not with others is crucial for a lot of use-cases, perhaps the most prominent is a so called system
calls, which is kind of a special call that may not interleave with anything else. We have code that relies on this feature.
Example (from our system): we have a Projection actor that receives events that need to be projected on Elasticsearch index. For efficiency we batch index operations using timer and TaskCompletionSource, so senders got an ack only after the successful flush. On the other side, this actor participates in the complex index migration protocol which requires exclusive index access. When we send SwitchOver message to Projection actor it waits in Orleans queue until its turn and then executes exclusively, no event messages are processed concurrently (they're just sitting in Orleans queue).
Anyway, If we could have both options supported (and without breaking backward compatibility) - it's absolutely fine. Perhaps, some kind of boolean on MayInterleave
which is false by default (ie current behavior?
from orleankka.
Did you mean MayInterleave or AlwaysInterleave attribute?
This change is only for AlwaysInterleave. It has no effect on MayInterleave. This will not be strictly backwards compatible for the AlwaysInterleave behavior, as it will change the way calls with that attribution behave slightly.
from orleankka.
Related Issues (20)
- Document F# bugger or add a startup check HOT 1
- Create template for dotnet cli tool HOT 4
- Missing ServiceId of ClusterOptions in F# samples and Docs HOT 1
- Storage provider issue HOT 1
- F# + recieve message DU instead of object. HOT 3
- Orleankka + Dashboard \n Dashboard can't see methods information
- What should I do to call orleankka actor from orleans silo? HOT 5
- Is ImplicitStreamSubscription supported? HOT 5
- .Net Core 3 Preview 6 Idiomatic Example HOT 4
- Auto.Interfaces assembly generated in wrong folder HOT 4
- Undefined UseOrleankka HOT 1
- Is this project active? HOT 4
- Feature request: StreamRefMiddleware HOT 3
- Allow IActorGrain and GrainWithStringKey in inherited interface
- Nake.bat uses version of EventStore no longer available
- Missing NuGet for Orleankka.TestKit version 7.0.0 HOT 2
- ActorPath changes between ActorRef and ActorGrain HOT 4
- StreamRef and ImplicitStreamSubscription issues HOT 2
- Impact of Orleans 7.0 Stream Changes to Memory Stream / SMS
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from orleankka.