microsoft / microsoft/multiclouddb-sdk-for-java

New portability policy: every feature must be supported by at least 2 out of 3 providers.

Open
#76 0 comments 0 reactions 1 assignee View on GitHub

@allenkim0129 is already working on this.

Since May 7, 2026.

Dominant language
Java
Stars
7
Forks
7
Avg merge
1d 22h
Merged PRs (30d)
1

Description

While it is the goal of this project to try to ensure that only features that can be supported in all 3 providers are exposed, this may be unrealistic for certain important features, and in many cases only 2 out of 3 providers will be deployed. To support this, we will only expose features that are supported in at least 2 out of the 3 core providers (Cosmos DB, DynamoDB, and Spanner at the time), with clear portability warnings at compile time for features that are not supported in all 3. This needs to be made clear in all relevant documentation, and implemented in conformance related code accordingly.

EDIT: we also need to create a mechanism where users must opt into which providers they are using at design time. If they do not explicitly configure this, it is assumed that all three providers are being used, and in that scenario, if only 2 of 3 providers support a given feature that is being used, this would generate a compile time error, not a warning. This will act as an additional portability failsafe.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.