0

Sphinx チームへの質問: 新しい 2.0.5 リリースの binlog 形式が以前の 2.0.4 バージョンと互換性がないのはなぜですか?

どうすれば新しいバージョンに移行できますか?

2.0.5 をインストールした後の結果を確認してください。

WARNING: index 'index_9127': preload: /var/db/sphinxsearch/idx/index_9127.meta is v.6, binary is v.5; NOT SERVING
4

1 に答える 1

1

互換性があります。

ソースを調査したところ、2.0.4と2.0.5の間にバージョンの変更はないことがわかりました(実際にはそうである必要があります)。

ただし、binlogのバージョンは変更されました(これは2.1-devブランチであり、2.0.Xではありません!)トランクでは、新しい機能を追加してスフィンクスを開発するため、バージョンを自由に増やすことができます。svnrev以降。番号付けは両方のブランチで1つです。svnから構築されたスフィンクスを使用する場合は、必要なブランチを保持することが重要です。たとえば、svn rev 3308はrel20ブランチにあり、2.0.5リリースですが、svn rev 3189はトランクブランチにあり、現在は2.1.X-devです。ここで、より多くの数(3189に対して3308)は、より高い数がより多くの「新鮮な」バージョンを指していることを決して意味しません。ちなみに、これらはsvnリポジトリの異なるブランチ(=フォルダー)に配置されているため、混乱することはありません。

実際には、「トランク」バージョン(2.1.X-dev)を使用してから、2.0.5にアップグレードしたようです(実際には、アップグレードではなく、ドングレードでした)。そして、結果として、古いバージョンのsphinxは新しいバージョンのインデックスをロードできませんでした。

したがって、問題はスフィンクスにはまったくありません。

データが重要であり、2.0.5ブランチへのダウングレードも重要である場合は、スフィンクスを適切にシャットダウンしてから(クラッシュを保持することが目的であるため、binlogにはデータが含まれません)、ワイプする必要があります。すべてのbinlogファイルを取り出し、「meta」を含めます。再起動後、スフィンクスは現在のバージョンでファイルを再作成します。ただし、-バックアップを使用して実行する必要があります-メタバージョンの変更とは別に、インデックス形式の別の変更である可能性もあります(その場合、古いバージョンでは新しいインデックスが読み込まれません)。

ところで、安定した2.0.Xブランチのコンテンツ全体が定期的にトランクにマージされるため、2.1-devにとどまることができます。したがって、そこにあるすべてのバグもトランクで修正されます。

于 2012-08-08T03:17:39.453 に答える