[Pgpool-general] pgpool master or slave goes down pgpool access error vie java
Tatsuo Ishii
ishii at sraoss.co.jp
Mon Aug 15 02:12:49 UTC 2011
This is an expected behavior. When one PostgreSQL servers goes down,
pgpool-II reset all session from clients to pgpool-II. Subsequent
session works normally.
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp
> hi pgpool Expert
> my architecture as follows:
> Master/Slave with Streaming Replication and pgpool-II
> version of pgpool-II is pgpool-II.3.0.4
> version of PostgreSQL is 9.0.2
> I am using pgpool works as master/slave sub mode stream
> and pgpool key configuration is:
> =====================================================================================================
> num_init_children=100
> max_pool=4
> child_life_time=60
> connection_life_time=0
> child_max_connections=0
> client_idle_limit=0
> connection_cache=true
> =====================================================================================================
> and java jdbc connection test code as fllows:
> =====================================================================================================
> import java.sql.Connection;
> import java.sql.DriverManager;
> import java.sql.ResultSet;
> import java.sql.SQLException;
> import java.sql.Statement;
> public class TestPgpool {
> public static void main(String[] args) {
> for(;;){
> Thread th = new Thread(new TestThread());
> th.start();
> try {
> Thread.sleep(10);
> } catch (InterruptedException e) {
> System.out.println("1--------------");
> e.printStackTrace();
> System.out.println("1--------------");
> }
> }
> }
> static class TestThread implements Runnable{
> public void run() {
> Connection con = null;
> Statement stmt = null;
> try {
> Class.forName("org.postgresql.Driver");
> con = DriverManager.getConnection(
> "jdbc:postgresql://192.168.1.116:9999/spring250_20100630_705",
> "postgres","postgres");
> stmt = con.createStatement();
> String sql = "SELECT * FROM bb_member limit 1";
> ResultSet rs = stmt.executeQuery(sql);
> System.out.print("OK(");
> while(rs.next()){
> System.out.print(rs.getInt(1) + "="
> + rs.getString(2) + " ");
> }
> System.out.println(")");
> stmt.close();
> con.close();
> } catch (SQLException e) {
> System.out.println("2--------------");
> e.printStackTrace();
> System.out.println("2--------------");
> } catch (ClassNotFoundException e) {
> e.printStackTrace();
> }
> }
> }
> }
> =====================================================================================================
> question:
> I do some tests
> 1)the test code run always connect pgpool,
> 2)test master or slave go down
> but when mster/slave go down ,java code throws exception :
>
> org.postgresql.util.PSQLException: An I/O error occurred while sending to the backend
> org.postgresql.util.PSQLException: The connection attempt failed.
>
> the error happened once for little time,then goes normal.
> what should I do to solve this problem?
> thanks for any help
>
> jeno
>
> 2011-8-10
More information about the Pgpool-general
mailing list