Particular / NServiceBus

Build, version, and monitor better microservices with the most powerful service platform for .NET
https://particular.net/nservicebus/
Other
2.07k stars 646 forks source link

Make the saga id a string instead of a guid #2444

Open andreasohlund opened 9 years ago

andreasohlund commented 9 years ago

So that we can better support other storages like the eventstore and RavenDB.

This will be tricky to do in a backwards compatible way

johnsimons commented 9 years ago

@andreasohlund is this achievable in the v6 timeline or do we postpone ?

andreasohlund commented 9 years ago

I'd say postpone until we redo the saga persister from the ground up

On Mon, May 4, 2015 at 7:52 AM, John Simons notifications@github.com wrote:

@andreasohlund https://github.com/andreasohlund is this achievable in the v6 timeline or do we postpone ?

— Reply to this email directly or view it on GitHub https://github.com/Particular/NServiceBus/issues/2444#issuecomment-98593950 .

mforce commented 8 years ago

Any updates on the timeline for this Feature?

andreasohlund commented 8 years ago

No timelines yet but we do have a fairly big overhaul of the saga persister apis on the radar where we are moving towards sagas being correlated on a single property since that will allow us to optimize our existing persisters significantly but more importantly allow us to support more basic storages such as Azure Blob storage, Amazon S3 etc

As part of the above we will have to make the id strategy pluggable which also means that we will make it a string.

Out of curiosity what is your main driver for needing the id to be a string?

mforce commented 8 years ago

Using MongoDb Persistance and need the string id on the Saga (which will make the _id on the saga an ObjectId instead of Binary UUID) to be able to extract timestamp information from it.

andreasohlund commented 8 years ago

Ok, that makes sense, thanks for the feedback

andreasohlund commented 7 years ago

@Particular/nservicebus-maintainers I think this is a low hanging fruit that would unlock the persisters to completely control the saga id. Current persisters can just parse the string back to guid and throw if not possible?

I propose we include this in v7

udidahan commented 6 years ago

Wasn't this intended to be included in v7?