`release-7.1` vs. `snowflake/release-7.1`

I noticed there are currently two branches where patches are landing besides main.

Is there is going to be difference in features for release-7.1 vs. snowflake/release-7.1?

Snowflake and Apple have slightly different timelines and requirements for releases. In this specific instance we decided to create our own release-branch to have better control over the release process and the timeline.

Specifically, there’s one difference between the two branches: a feature called Version Vector. This feature, even though it is disabled by default, currently causes failures in the nightlies (though snowflake/release-7.1 does not yet pass 1M simulation tests, but it’s closer). We don’t plan to enable Version Vector, so we decided to exclude this change in order to get to a stable version more quickly. Apple is planning to enable this feature, and will iterate on 7.1 until all the problems are found and fixed.

All of Snowflake’s fixes and changes will still go into main first, and we will also cherry-pick into release-7.1 all the bug fixes we track down. Should both release branches stabilize at the same time, we might not even use our branch.

Thanks for the reply @markus.pilman.

I’ve not had a chance to explore what version vector does, and how it might potentially impact C bindings and layers APIs.

For my Tokio/Rust bindings and upcoming layer development work, I would like to make use of GetMappedRange and multi-tenant API (I don’t have directory layer support in my bindings).

Would the multi-tenant API patches that are currently landing in snowflake/release-7.1 also be pulled into release-7.1?

Yes, the intent is to apply all release branch fixes to main, release-7.1, and snowflake/release-7.1 with the exception being version vector specific patches would not apply to snowflake/release-7.1.

Thanks @SteavedHams for the reply!