Upgrade Jackson 2 to Jackson 3 in sdk/cosmos
メンテナーはふだん 1 日以内に返信
@FabianMeiswinkel がすでに取り組んでいます。
2026年6月30日 から。
評価
この issue はまだ評価されていません。
説明
Summary
Upgrade Jackson from major version 2 (com.fasterxml.jackson) to major version 3 (tools.jackson) across all modules under sdk/cosmos.
Context
As part of aligning with Spring Boot 4, the sdk/spring modules were migrated from Jackson 2 to Jackson 3 (see #49538 and #49550). During that work, the Cosmos modules (azure-spring-data-cosmos and, transitively, azure-cosmos) were intentionally left out of scope because they cannot be migrated in isolation.
This issue tracks the follow-up work to bring sdk/cosmos to Jackson 3 so that azure-spring-data-cosmos and the Spring Cloud Azure Cosmos starter can fully move off Jackson 2.
Why Cosmos could not be upgraded together with sdk/spring
azure-cosmos exposes Jackson 2 types as part of its public API, not just internally. Around 65 public (non-implementation) classes import com.fasterxml.jackson, for example:
CosmosItemSerializer(public abstract extension point whose signatures useObjectNode/JsonNode)CosmosItemResponse,CosmosBulkItemResponse,CosmosBatchOperationResult- Most
com.azure.cosmos.models.*properties classes (CosmosContainerProperties,IndexingPolicy,SqlQuerySpec, ...)
Because JsonNode is part of the public contract, switching to Jackson 3 is a breaking API change for azure-cosmos. That change cascades to every module that depends on it.
Affected modules
Modules under sdk/cosmos that depend on azure-cosmos and/or use Jackson 2 directly (approximate Jackson 2 file counts):
| Module | Jackson 2 files |
|---|---|
azure-cosmos |
221 |
azure-cosmos-tests |
103 |
azure-cosmos-spark_3 (+ all spark variants) |
52+ |
azure-cosmos-kafka-connect |
20 |
azure-cosmos-encryption |
14 |
azure-cosmos-benchmark |
9 |
azure-cosmos-test |
— |
Roughly 440+ source files reference Jackson 2 across the tree.
Considerations
azure-cosmosis a GA data-plane library; a 2 -> 3 migration that changes the public API is a breaking change and requires the appropriate API review / approval.- Options to evaluate:
- Additive Jackson 3 support in
azure-cosmos(keep the Jackson 2 public API, add Jackson 3) to avoid an immediate break for downstream consumers. - A full migration across all
sdk/cosmosmodules in lockstep.
- Additive Jackson 3 support in
- The Jackson 2 annotations namespace (
com.fasterxml.jackson.annotation) is unchanged in Jackson 3 and can be retained.
Related
- #49538
- #49550
- 主要言語
- Java
- スター
- 2.6k
- フォーク
- 2.2k
- 平均マージ
- 2日 2時間
- マージ済み PR(30日)
- 257
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
Azure/azure-sdk-for-java のほかの issue
-
[Spring Cloud Azure] Improve Javadoc and startup guidance for allowed-group-names vs allowed-group-ids in AadAuthenticationProperties対応中かも @himanchalkaushale が 7 日前に担当しました。 オープンazure-spring azure-spring-aad Client
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
Azure/azure-sdk-for-java#51046 · コメント 2 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
mgmt, in track 1 migration guide, call out that file-based authentication method is not recommended再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープンAzure.Identity
難易度 1/5 1時間未満 初心者へのやさしさ 74/100
Azure/azure-sdk-for-java#48894 ·
メンテナーはふだん 1 日以内に返信
-
[BUG] DataLakeFileSystemAsyncClient.createIfNotExists returns true when the file system already exists対応中かも @browndav-msft が 1 日前に担当しました。 オープンClient customer-reported needs-team-attention question Storage
Azure/azure-sdk-for-java#51145 · コメント 2 件 · リアクション 1 件 · 担当者 2 名 ·
メンテナーはふだん 1 日以内に返信
-
[BUG] RequestRetryOptions tryTimeout has no effect on synchronous Storage clients対応中かも @browndav-msft が 1 日前に担当しました。 オープンClient customer-reported needs-team-attention question Service Attention Storage
Azure/azure-sdk-for-java#51144 · コメント 2 件 · リアクション 1 件 · 担当者 2 名 ·
メンテナーはふだん 1 日以内に返信
-
Client Cosmos
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
Azure/azure-sdk-for-java#51134 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
Azure/azure-sdk-for-java の issue をすべて見る
似ている issue
-
getRawTextContent() returns the lines of every page in reverse order (bottom to top) since 4.0.3オープン
難易度 1/5 1〜3時間 初心者へのやさしさ 90/100
-
bug subsystem:agent-harness triage
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
ShaftHQ/SHAFT_ENGINE#7797 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
NationalSecurityAgency/ghidra#10155 ·
メンテナーはふだん 2 日以内に返信
-
area:data coverage
難易度 1/5 1時間未満 初心者へのやさしさ 67/100
reacher-z/Awesome-CUA#4864 ·
メンテナーはふだん 19 日以内に返信
-
bug web-ui
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
jenkinsci/jenkins#27705 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信