既存のデータとの互換性を損なうことなく、実稼働システムでBoost Serialization Libraryを安全にアップグレードできることをどのように確認できますか? ライブラリの以前のバージョンによってバイナリ形式で保存されたすべてのデータが新しいライブラリによって正常に読み取られることを確認するために実行する必要があるテストはありますか? Boost Serialization ライブラリ自体は、バージョン間の何らかの互換性を保証しますか?
3 に答える
Boost.serializationは下位互換性がありますが、上位互換性があるとは限りません。
これの意味は:
- 新しいバージョンで読み取ることができるboost.serializationの古いバージョンでアーカイブを作成できます。
- 新しいバージョンのboost.serializationで作成されたアーカイブが、古いバージョンで読み取り可能になるという保証はありません。
たとえば、クライアントとサーバーの間で双方向にメッセージを送信する場合、ロックステップで両方のブーストのバージョンをアップグレードする必要がある場合があります。
「ワイヤーフォーマット」は、ブーストのすべてのバージョンで変わるわけではありません。したがって、ブーストの2つの特定のバージョン間では、問題がない可能性があります。どのバージョンのアーカイブ形式がどのバージョンのブースト内で使用されているかについての特定のドキュメントが見つかりません。
また、下位互換性は「保証」されていますが、それは単に意図を表しているだけであることに注意してください-お金を取り戻すことができると思いますが;-)。Boostバージョン1.42および1.43にはバグがあり、それ以降のバージョンではそれらを読み戻すことができません。1.45リリースノートを参照してください。
最初のリリースはBoost1.32でした。それ以降のリリース履歴は、 http ://www.boost.org/doc/libs/1_43_0/libs/serialization/doc/release.htmlで確認できるようです。
それ以外は、ブーストメーリングリストで質問することをお勧めします: http ://www.boost.org/community/groups.html#users