Newton バージョンのリリースノート

2.10.2

バグ修正

  • 整合性エンジンの重要な部分を改善しました。

    • ファイルシステムツリーをハッシュするための一般的なケースを最適化し、多くの余分なディスク I/O を無くしました。

    • 競合検出のタイムスタンプ情報を含むように hashes.pkl ファイル形式を更新しました。また競合状態を防止し、一般的なケースを最適化するために、ハッシュロジックを簡略化しました。

    アップグレードの影響: アップグレードしてロールバックする場合は、すべての hashes.pkl ファイルを削除する必要があります。

  • If using erasure coding with ISA-L in rs_vand mode and 5 or more parity fragments, Swift will emit a warning. This is a configuration that is known to harm data durability. In a future release, this warning will be upgraded to an error unless the policy is marked as deprecated. All data in an erasure code storage policy using isa_l_rs_vand with 5 or more parity should be migrated as soon as possible. Please see https://bugs.launchpad.net/swift/+bug/1639691 for more information.

  • min_part_seconds_left が 0 より大きい場合、リングビルダーがデバイスの削除を許可しないバグを修正しました。

  • クライアント側の COPY から生成された PUT サブリクエストは、 SSC (サーバー側のコピー) Swift ソースフィールドを適切に記録するようになりました。詳細については、 https://docs.openstack.org/developer/swift/logs.html#swift-source を参照してください。

  • min_part_hours が 0 に設定されたリングは、リバランスのたびに1つのパーティションレプリカのみを移動するため、 min_part_hours が 0 より大きい場合の動作が一致します。

  • ユーザーが無効なコピー先を送信した場合は、 412 Precondition Failed を正しく送信します。以前は、Swift は 500 の内部サーバーエラーを送信しました。

  • コンテナードライブのエラーにより、残りのドライブに二重のスペースが使用されるというエラーを修正しました。コンテナーまたはアカウントデータベースを使用したドライブのマウントが解除されたときに、このバグは残りのすべてのドライブにハンドオフレプリカを作成し、ドライブの使用容量を増やし、クラスターを満たしていました。。

  • データベーススキーマが壊れていると、アカウントとコンテナーのデータベースが隔離されるようになりました。

  • オブジェクトがコンテナーリスティングに追加されるない、まれな可能性を排除し、オブジェクトアップデータによるコンテナーの更新を確実にしました。

  • いくつかのテストの互換性の問題を修正しました。

  • 適切なポートを参照するようにドキュメントを更新しました。

2.10.1

バグ修正

  • いくつかの状況で ssync が不正なフラグメントデータを書き込むバグをクローズしました。書き込みを終了する前に、正しいバイト数がフラグメントに書き込まれていることを確認するためのチェックが追加されました。また、消去コード化されたフラグメントメタデータが読み取り要求で検証され、不良データが見つかると、そのフラグメントが隔離されます。

  • 新しいファイルが空でないパーティションに新しいサフィックスで格納されたときに発生した consolidate_hash の退行バグを修正しました。 このバグは2.7.0で導入され、パーティションサフィックスの一貫性のないハッシュのために、アップグレード中およびアップグレード後に rsync のレプリケーション統計を増加する可能性があります。

  • パーティションが予想よりもずっと少なく更新される可能性がある hashes.pkl の固定の非確定的なサフィックスの更新を修正しました。

  • パーツを置いている間の`swift-ring-builder` のまれな無限ループを修正しました。

  • 監査が期限切れのオブジェクトを見つけたときの KeyError メッセージを修正しました。

  • ドライブ監査設定ファイルに "user" オプションを追加しました。その値は、ドライブ監査の調整キャッシュの所有者を設定するために使用されます。

  • update_auditor_status の呼び出しを絞りました。なので、1分に1回しか更新しません。これにより、新しいクラスタで過剰な I/O が発生するのを防ぎます。

  • InternalClient を使用するデーモンは、 SIGTERM を使用して適切に停止できます。

  • 静的ウェブに対する設定可能な URL ベースを追加し、アクセス可能なエンドポイントが Swiftクラスタに知らされていない場合の問題を修正しました(例えば、httpとhttps)。

  • 上流の CI で動作するように、func env tox 名から "in-process-" を削除しました。

2.10.0

新機能

  • スケジュール優先度と I/O スケジューリングクラスを変更する新しい設定変数を追加しました。サーバーとデーモンは nice_priorityionice_classionice_priority を理解し、相対的な重要性をスケジューリングするようになりました。 設定の詳細については、http://docs.openstack.org/developer/swift/deployment_guide.html を参照してください。

  • 新しいカーネル(xfsを使用する場合 3.15+ )では、一時ファイルを作成してコミット時に名前を変更する代わりに、ファイルを開くときに Swift が O_TMPFILE フラグを使用します。これにより、データパスが簡単になり、ファイルシステムがディスク上のファイルをより効率的に最適化できるようになり、パフォーマンスが向上します。

  • 完全に健全でないクラスターにおける、消去コードの GET 性能が大幅に向上しました。

  • コンテナーへの PUT または POST は、コンテナーの最終更新時刻を更新し、その値は GET/HEAD レスポンスに含まれます。

  • POST 応答にオブジェクト sysmeta を含めます。 Sysmeta は依然としてクライアントに送信される前に応答から取り除かれますが、ミドルウェアはその情報を利用できます。

アップグレード時の注意

  • dnspython の依存関係を 1.14 に更新し、dnspython の依存関係を Python 2 と Python 3 に分ける必要性をなくしました。

  • swift-temp-url を非推奨にし、代わりに python-swiftclient の実装を呼び出してください。これにより、python-swiftclient が Swift のオプションの依存関係として追加されます。

  • other-requirements.txt を bindep.txt に移動しました。 bindep.txt は、 Swift の非 Python 依存関係をリストします。

バグ修正

  • コンテナーのリスト区切り文字が暗号化で機能しないバグを修正しました。

  • 一部のヘッダーが COPY リクエストで正しくコピーされていなかったバグを修正しました。

  • コンテナーシンクでは、マニフェストをすべての参照されるセグメントの前に同期させることで、SLO をより効率的にコピーできます。 これにより、コンテナーの同期が SLO マニフェストをコピーしないバグが修正されました。

  • いくつかの廃棄済みオブジェクト (tombstone) ファイルが再利用されないかもしれないバグを修正しました。

その他の注意点

  • 様々な他のマイナーなバグ修正と改善。