3 既知の問題と回避策

リリース時での既知の問題について学習します。

この章の内容は次のとおりです。

アクティブ永続性を使用する場合のパーティション数の変更

問題

アクティブ永続性を使用している場合は、パーティション数を変更できません。サービスのパーティション数を変更すると、サービスの再起動時に、アクティブなすべてのデータが永続性のごみ箱に移動するため、元のパーティション数のリストア後にリカバリする必要があります。永続化されるデータは、同じパーティション数で実行されているサービスにのみリカバリできます。

アクティブ永続性が使用されている場合は、パーティション数が変更されていないことを確認します。パーティション数が変更されると、サービスの起動時に、次のようなメッセージが表示されます。

<Warning> (thread=DistributedCache:DistributedCachePersistence, member=1):
Failed to recover partition 0 from SafeBerkeleyDBStore(...); partition-count
mismatch 501(persisted) != 277(service); reinstate persistent store from
trash once validation errors have been resolved

このメッセージは、パーティション数の変更がサポートされておらず、現在アクティブなデータがごみ箱ディレクトリにコピーされたことを示しています。

回避策

データをリカバリするには:

  1. クラスタ全体を停止します。

  2. 各クラスタ・メンバーで影響を受けたクラスタとサービスで現在アクティブなディレクトリの内容を削除します。

  3. アクティブなディレクトリへのサービスごとに、ごみ箱ディレクトリの内容を(再帰的に)コピーします。

  4. パーティション数を元の値にリストアします。

  5. クラスタを再起動します。