View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000766 | Pgpool-II | Bug | public | 2022-09-08 18:30 | 2022-12-26 16:55 |
| Reporter | nakamura.kenichi | Assigned To | pengbo | ||
| Priority | low | Severity | trivial | Reproducibility | always |
| Status | closed | Resolution | open | ||
| Platform | Linux | OS | Red Hat Enterprise Linux | OS Version | 8.1 |
| Product Version | 4.2.10 | ||||
| Target Version | 4.2.11 | Fixed in Version | 4.2.11 | ||
| Summary | 0000766: Pgpool-IIのRPMを用いてのリグレッションテストが失敗する | ||||
| Description | 2点報告致します。 いずれも Pgpool-II ソースファイル内リグレッションテストの実施によって確認したものです。 (1)regress.sh に -c オプションを付与してリグレッションテストを実施したところ、 027.auto_failback のテストだけが failed になりました。 対象:Pgpool-II 4.2.10 regress.sh に -c オプションを付与することで発生する差分が理由と考えます。 ・-c を付けない場合、failover.sh と follow_primsry.sh は regress.sh の中で作成される。 ・-c を付けると、/etc/pgpool-II/ から、failover.sh.sample と follow_primary.sh.sample をコピーする。 このシェルの違いが、試験結果の成否に影響しているものと考えます。 なお、-c を付けない場合に作成される failover.sh と follow_primsry.sh を用いることで、 027.auto_failback のテストが正常に完了することを確認しています。 ※ただし -c を付けないだけだと、以下(2)と同じ問題が発生しました。 (2)regress.sh を実行すると、いくつかの試験が failed になりました。 対象:Pgpool-II 4.1.13、Pgpool-II 4.0.20、Pgpool-II 3.7.25、(regress.sh に -c を付けないPgpool-II 4.2.10) 今回の修正では、regress.sh の中で環境変数 PGPOOLDIR=$PGPOOL_INSTALL_DIR/etc を定義するようになっています。 Pgpool-IIのRPMをインストールして試験をする場合は /etc/pgpool-II にある pgpool.conf.sample-xxxx を コピーする必要がありますが、環境変数PGPOOLDIR が /etc/pgppol-II を指していないため、 必要なファイルがコピーできず、いくつかのテストが failed になっています。 これまでは手動で export PGPOOLDIR=/etc/pgpool-II を定義してから regress.sh を実行していました。 ⇒regress.sh 内の PGPOOLDIR=$PGPOOL_INSTALL_DIR/etc の行をコメントアウトすることで、 テストが正常に完了することは確認できています。 以上です、ご確認のほど、よろしくお願い致します。 | ||||
| Steps To Reproduce | ・Pgpool-IIのRPMをインストールする ・インストールしたRPMと同じバージョンのPgpool-IIのソースを展開し、--with-pgsql=/usr/pgsql-14 および make する ・以下のコマンドを実行する (1) $ export PGPOOLDIR=/etc/pgpool-II/ $ export PGPOOL_INSTALL_DIR=/usr $ export PGBIN=/usr/pgsql-14/bin $ export JDBC_DRIVER=/tmp/postgresql-42.4.2.jar $ export LANG=en_US.UTF8 $ cd src/test/regression $ ./regress.sh -p /usr/pgsql-14/bin -i /usr -m noinstall -j /tmp/postgresql-42.4.2.jar -s /var/run/postgresql -c | ||||
| Additional Information | (2)は、(1)のオプション -c がないだけで、試験の手順は同じです。 | ||||
| Tags | No tags attached. | ||||
|
|
ご報告ありがとうございます。 > (1)regress.sh に -c オプションを付与してリグレッションテストを実施したところ、 > 027.auto_failback のテストだけが failed になりました。 こちらのテストの失敗は、認識済です。 -c を付けてテストを実行すると、レプリケーションスロットが有効になります。 レプリケーションスロットが有効な場合、auto_failback が動作しない可能性がありますので、 027.auto_failback のテストを無効にしてください。 ドキュメント: https://www.pgpool.net/docs/latest/ja/html/runtime-config-failover.html#GUC-AUTO-FAILBACK 注意: レプリケーションスロットを使用している場合、auto_failbackが動作しない可能性があることに注意してください。 スタンバイノードがダウンした際にfailover_commandによりスタンバイのレプリケーションスロットが削除され、レプリケーションが停止している可能性があるためです。 > (2)regress.sh を実行すると、いくつかの試験が failed になりました。 こちらについては、確認できました。 環境変数で設定できるように regress.sh を修正します。 |
|
|
Fixed: https://git.postgresql.org/gitweb/?p=pgpool2.git;a=commit;h=d22f38582fbb0dbb7c0d027562e35bd9f358ff06 |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2022-09-08 18:30 | nakamura.kenichi | New Issue | |
| 2022-09-12 13:03 | pengbo | Assigned To | => pengbo |
| 2022-09-12 13:03 | pengbo | Status | new => assigned |
| 2022-09-12 13:13 | pengbo | Note Added: 0004120 | |
| 2022-09-12 13:14 | pengbo | Status | assigned => feedback |
| 2022-09-12 13:14 | pengbo | Target Version | => 4.2.11 |
| 2022-12-26 16:55 | pengbo | Status | feedback => closed |
| 2022-12-26 16:55 | pengbo | Fixed in Version | => 4.2.11 |
| 2022-12-26 16:55 | pengbo | Note Added: 0004180 |