バージョン違いによるレプリケーションまとめ。

バージョンの異なるCouchDB同士でのレプリケーションは基本的にはやるべきではないのだが、とは言っても実際のところどのケースがうまく行って、どのケースがうまく行かないのか気になったので調べてまとめてみた。対象は0.11.0, 1.0.1, 1.0-androidと、1.0.1のCouchOneの環境。

レプリケーション実行

レプリケーション元

レプリケーション先

データ内容

成否

0.11.0

1.0.1

0.11.0

ドキュメントのみ

OK

0.11.0

1.0.1

0.11.0

デザインドキュメント含む

OK

0.11.0

0.11.0

1.0.1

ドキュメントのみ

OK

0.11.0

0.11.0

1.0.1

デザインドキュメント含む

OKは返るがデザインドキュメントはレプリケーション不可

レプリケーション実行

レプリケーション元

レプリケーション先

データ内容

成否

1.0.1

1.0.1

0.11.0

ドキュメントのみ

OK但し、レスポンスすぐ返らない

1.0.1

1.0.1

0.11.0

デザインドキュメント含む

NG

1.0.1

0.11.0

1.0.1

ドキュメントのみ

NG。エラーになるがドキュメントのレスポンスはできる

1.0.1

0.11.0

1.0.1

デザインドキュメント含む

NG。デザインドキュメントは失敗する

レプリケーション実行

レプリケーション元

レプリケーション先

データ内容

成否

1.0.1

1.0.1

1.0.1

ドキュメントのみ

OK

1.0.1

1.0.1

1.0.1

デザインドキュメント含む

OK

レプリケーション実行

レプリケーション元

レプリケーション先

データ内容

成否

1.0-android

0.11.0

1.0-android

ドキュメントのみ

NG

1.0-android

0.11.0

1.0-android

デザインドキュメント含む

NG

1.0-android

1.0-android

0.11.0

ドキュメントのみ

NG

1.0-android

1.0-android

0.11.0

デザインドキュメント含む

NG

レプリケーション実行

レプリケーション元

レプリケーション先

データ内容

成否

0.11.0

0.11.0

1.0-android

ドキュメントのみ

OK

0.11.0

0.11.0

1.0-android

デザインドキュメント含む

OK

0.11.0

1.0-android

0.11.0

ドキュメントのみ

OK

0.11.0

1.0-android

0.11.0

デザインドキュメント含む

OK

レプリケーション実行

レプリケーション元

レプリケーション先

データ内容

成否

0.11.0

0.11.0

CouchOne

ドキュメントのみ

OK

0.11.0

0.11.0

CouchOne

デザインドキュメント含む

OK

0.11.0

CouchOne

0.11.0

ドキュメントのみ

OK

0.11.0

CouchOne

0.11.0

デザインドキュメント含む

OK

レプリケーション実行

レプリケーション元

レプリケーション先

データ内容

成否

1.0-android

CouchOne

1.0-android

ドキュメントのみ

NG。Replication failed: could not open …が返る

1.0-android

CouchOne

1.0-android

デザインドキュメント含む

NG

1.0-android

1.0-android

CouchOne

ドキュメントのみ

NG

1.0-android

1.0-android

CouchOne

デザインドキュメント含む

NG

レプリケーション実行

レプリケーション元

レプリケーション先

データ内容

成否

1.0.1

1.0.1

1.0-android

ドキュメントのみ

OK

1.0.1

1.0.1

1.0-android

デザインドキュメント含む

OK

1.0.1

1.0-android

1.0.1

ドキュメントのみ

OK

1.0.1

1.0-android

1.0.1

デザインドキュメント含む

OK

レプリケーション実行

レプリケーション元

レプリケーション先

データ内容

成否

1.0-android

1.0.1

1.0-android

ドキュメントのみ

OK

1.0-android

1.0.1

1.0-android

デザインドキュメント含む

OK

1.0-android

1.0-android

1.0.1

ドキュメントのみ

OK

1.0-android

1.0-android

1.0.1

デザインドキュメント含む

OK

追記 CouchDB 1.0.1と1.0.2間でのレプリケーション

これはCouchDB 1.0.1同士でやったときと同様、すべてうまく行った。