cloudfoundry / cloudfoundry/cf-java-client
`ApplicationManifestUtilsV3#write` is not threadsafe
まだ誰も着手していません。
- 主要言語
- Java
- スター
- 334
- フォーク
- 319
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
The method ApplicationManifestUtilsV3#write uses a static snakeyaml Yaml dumper to write all manifests into a byte array. This operation is inheritly not threadsafe, as the deserializer is not.
This in itself may not a be problem. However, when using Applications#pushManifestv3 to push multiple Apps in parallel this can cause issues that manifest in the form of
Bad request: Manifest does not support Anchors and Aliasesorjava.lang.NullPointerException: Nodes must be provided.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
ApplicationManifestUtilsV3#write と、issue に記載されている Snakeyaml の使用箇所から始め、Applications#pushManifestv3 からの呼び出しを追跡します。マニフェストの並列 push を再現し、報告されている anchor/alias または null-pointer の失敗を確認します。同時実行された push がこれらのエラーなしで完了し、その動作が適切なテストでカバーされれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- api
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100