4.7. マルチサイトの Ceph Object Gateway
Ceph Object Gateway はオブジェクトの削除中にデッドロックに陥らなくなりました。
以前は、オブジェクトの削除中に、Ceph Object Gateway S3 の DeleteObjects
がマルチサイトデプロイメントと一緒に実行され、Ceph Object Gateway がデッドロックに陥り、新しいリクエストの受け入れを停止していました。これは、DeleteObjects
要求が一度に複数のオブジェクトの削除を処理するために発生しました。
この修正により、レプリケーションログがシリアル化され、デッドロックが防止されます。
起動時での CURL パスの正規化が無効化される
以前は、CURL によってデフォルトで実行される「パス正規化」 (Ceph Object Gateway レプリケーションスタックの一部) により、レプリケーション中にオブジェクト名が不正に再フォーマットされていました。このため、名前に埋め込まれた .
および ..
を含むオブジェクトは複製されませんでした。
この修正により、起動時に CURL パスの正規化が無効になり、影響を受けるオブジェクトが期待どおりに複製されるようになります。
プライマリーサイトで転送されたリクエストの認証が失敗しなくなりました。
以前は、STS によって返された一時的な認証情報を使用してリクエストに署名した場合、セカンダリーに発行された S3 リクエストは失敗していました。リクエストがプライマリーに転送され、転送されたリクエストのセッショントークン内の一時的な認証情報と一致しないシステムユーザーの認証情報を使用して署名されたために、失敗が発生しました。認証情報が一致しないため、プライマリーサイトで転送されたリクエストの認証に失敗して、S3 操作が失敗します。
この修正により、リクエストがセカンダリーからプライマリーに転送される場合に、セッショントークン内の一時的な認証情報を使用して認証がバイパスされます。システムユーザーの認証情報を使用して、認証が正常に完了します。