[pgpool-general-jp: 529] pgpool-II and pgpoolAdmin 2.2 beta1リリース
    Tatsuo Ishii
    ishii @ sraoss.co.jp
       
    2009年 1月 25日 (日) 21:17:11 JST
    
    
  
石井です.
pgpool-II および pgpoolAdmin の次期バージョン 2.2のベータテストを開始
しました.是非,テストにご協力下さい.
tar ballは以下からダウンロードできます.
http://pgfoundry.org/frs/download.php/2066/pgpool-II-2.2beta1.tar.gz
http://pgfoundry.org/frs/download.php/2065/pgpoolAdmin-2.2-beta1.tar.gz
以下,ドキュメントのリリースノートから引用します.
---------------------------------------------------------------------------
2.2 (urukiboshi) 2009/2/?
概要
このバージョンでは,SERIALデータの扱いとオンラインリカバリに改良が行な
われています.また,トランザクション分離レベルがシリアライザブルの場合
に,DBノード間でデータの一貫性がなくなる可能性がある問題,クエリのキャ
ンセルができない問題が修正されました.
新機能
    * insert_lockが有効な場合,SERIAL型を持つテーブルだけがロックされ
      るようになりました(Tatsuo).
    * 設定項目client_idle_limit_in_recoveryが追加されました. オンライ
      ンリカバリの第2ステージでクライアントがアイドルのまま居座ること
      によって, オンラインリカバリが進行しなくなることを防ぐことがで
      きます(Tatsuo).
    * 設定項目pid_file_nameが追加されました.これは,pgpool-IIのpidファ
      イルを指定します. これにより,logdirは使用されなくなりました
      (Tatsuo).
    * DECLARE, FETCH, CLOSEで負荷分散されるようになりました(Tatsuo). 
互換性
    * フェイルオーバ時に必ずpgpoolの子プロセスを再起動するようにしまし
      た. こうしないと,ネットワークケーブル抜けなどの際に, TCP/IPの
      レイヤで再送が行なわれ,長い時間そのままになってしまうことが あ
      るからです(Tatsuo).
    * 設定項目logdirは使われなくなりました.代りに,pid_file_nameを使ってください. 
バグ修正
    * pgpoolがデーモンモードで起動される際に,すべてのファイルディスク
      リプタを 閉じるようにしました.こうしないと,pgpoolAdminから起動
      された際に apacheのソケットファイルを引き継いでしまい,80番ポー
      トが 専有されてしまいます(Akio Ishida).
    * トランザクションをシリアライズできないエラーが発生したときに, 
      すべてのDBノードのトランザクションをアボートするようにしました. 
      こうしないと,DBノードの間でデータの不整合が起きることがあります
      (Tatsuo). 例を示します(Mはマスタ,Sはスレーブを示します).
      	   M:S1:BEGIN;
      	   M:S2:BEGIN;
      	   S:S1:BEGIN;
      	   S:S2:BEGIN;
      	   M:S1:SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
      	   M:S2:SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
      	   S:S1:SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
      	   S:S2:SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
      	   M:S1:UPDATE t1 SET i = i + 1;
      	   S:S1:UPDATE t1 SET i = i + 1;
      	   M:S2:UPDATE t1 SET i = i + 1; <-- blocked
      	   S:S1:COMMIT;
      	   M:S1:COMMIT;
      	   M:S2:ERROR:  could not serialize access due to concurrent update
      	   S:S2:UPDATE t1 SET i = i + 1; <-- success in UPDATE and data becomes inconsistent!
      	   
    * rawモードでMD5認証が使えるようにしました.ドキュメント上では使え
      るはずでした(Tatsuo).
    * "SET TRANSACTION ISOLATION LEVEL must be called before any
      query"の エラーが発生した場合に"kind mimatch"エラーになることを
      防ぐようにしました(Tatsuo). 以下のシナリオで問題が発生します.
      	   M:S1:BEGIN;
      	   S:S1:BEGIN;
      	   M:S1:SELECT 1; <-- only sent to MASTER
      	   M:S1:SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
      	   S:S1:SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
      	   M: <-- error
      	   S: <-- ok since no previous SELECT is sent. kind mismatch error occurs!
--
Tatsuo Ishii
SRA OSS, Inc. Japan
    
    
pgpool-general-jp メーリングリストの案内