New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
vNext / 1.0 #26
Comments
Question 1: I'd prefer to not break backwards compatibility. Without knowing the new structure, maybe on loading / deserialization, if there is an error we load it like we did previously, and then save the item in the new format again. Would that be possible? The other option is to add a version field to the document ( Our new documents could be version 2) and handle loading data appropriately. That way if we change this again it won't be a big deal. This would probably be the best way to go. Question 2: Yes, it's for eTag support The initial providers were all based on the MSSql providers. |
The problem is that you loose the information which version your document has. Which basically means that you have to query the document before updating, which will hurt performance. Not sure how to do it with compatibility. |
e.g. like that:
|
Okay, maybe the first idea would be the best way to go then. Load it expecting the new format. If we get an exception try and load it the previous method and update it. The next time it gets loaded it would work and we would have minimum performance impact. Is that feasible? |
that should work, will add a test for it My idea was to use this approach for etag support:
There are several cases:
|
Should I look at upgrading to v2? |
Do you want to keep the compatibility to 1.X? I think we can just make a v2 project in the same folder. Afaik the interfaces have no changed. |
I think we should just upgrade to TechPreview3(.Net.Core 2.0.) TechPreview2 isn't production ready in any case. If someone is continuing with that version the nuget package 0.1.6 will be installed. The dotnet 4.6.1 target will still make the library comptible to the mainline version (1.51) |
What is with Beta1? |
I am not sure if they have already migrated TestSilo. My last info is that there was an issue because of appdomains |
My suspicion is that the nuget packages are behind. The project is referencing myget at the moment. I think this is the latest version: https://blogs.msdn.microsoft.com/orleans/2017/09/13/announcing-orleans-2-0-tech-preview-3/ The big move seems to have gone to .NET Standard 2.0 |
Beta1 is the newest: https://github.com/dotnet/orleans/releases ... 13 days old :) ... I think they moved to nuget.org with the beta. |
Well, I'm confused. I always thought previews came after the beta :) |
Just confirmed it in the gitter channel ;) |
According to : dotnet/orleans#3629 the plan is to release v2 four weeks after the beta release. That gives us two weeks and a bit(probably more). My suggestion is to get your changes out as 0.1.7-preview. Get some testing done in the wild. That way we don't need to worry about v2 breaking anything else. We can then create a new vnext branch using v2, which can then become 0.1.8-preview. What do you think? |
Which changes are you talking about? The vnext branch is a little bit of chaos and solves too many problems right now. |
The changes on vnext after everything has stabilized. |
OK great, let me know if I can help. My time is unfortunately very limited for the next week or two. I suspect you might be done by then :) Thanks for all the work |
Isn't that our version number should match with Orleans Version? Because Orleans other packages also follow this pattern as well. |
Of course, because they maintain it together |
I think v1 is fine for now. We can then create an issue on the main project for a code review.if they like it, it can then be put in the main project. I think with the release of Orleans v2, Mongo will become a larger part of the market as Linux adoption increases. |
As we already support Membership, Storage, Reminders, and etc. we should push to same version 1.5.2. |
The version should not indicate compatibility to orleans, but has an internal meaning. E.g. with Semantic Version the data format could change between v1 and v2. |
@laredoza Can you review the storage provider? |
@laredoza I updated the membership provider. I think there is no way to implement the extended protocol in a reliable way, because it requires multi-document transactions. Therefore I have removed the code for the table version and only implemented etag support. It is described here and implemented for DynamoDb in the same way: https://dotnet.github.io/orleans/Documentation/Runtime-Implementation-Details/Cluster-Management.html |
@laredoza I am (almost) done. What is pending is to update the Test Application. I have imported the TesterInternals assembly from Orleans to run their tests and found some bug (in my version). |
Test App Migrated |
Thanks, sorry I've got a tight deadline for today. Will have a look at the changes tomorrow. Great Progress. |
Nice, would be nice to get a beta out to nuget tomorrow. |
I Simplified the options and configuration extensions. |
It looks great. I'll continue going through it this weekend but I've posted a new preview package in the meantime: https://www.nuget.org/packages/Orleans.Providers.MongoDB/2.0.0-preview1 |
Thank you: I also asked if we can use the icon: dotnet/orleans#3660 ... minor thing, but would give the package an official touch :D |
yeah, that would be great. If you've got a nuget account please send it to me on gitter so that I can give you admin rights as well. |
Orleans Team is fine when we use their icon. Can we finalize it? We should also make PR for the Orleans docs to add our link to the documentation. |
I published a preview2 |
Storage Provider
Statistics
Reminders
Membership
General
The text was updated successfully, but these errors were encountered: