View Issue Details

IDProjectCategoryView StatusLast Update
0000498Pgpool-IIBugpublic2019-04-17 08:04
ReporterREAGANonPGPOOL Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionopen 
Product Version4.0.1 
Summary0000498: PGPOOL and Aurora generating huge amount of logs
DescriptionStanding up pgpoolII-4.0.4 in front of Amazon Aurora (postgres 9.6.8).

Right now the logs are getting flooded (100mb/hr) with these errors when pgpool is running:

2019-04-15 17:22:08: pid 14319: HINT: BACKEND Error: "Function pg_current_xlog_location() is currently not supported for Aurora"
2019-04-15 17:22:08: pid 14319: CONTEXT: while checking replication time lag
2019-04-15 17:22:08: pid 14319: LOCATION: pool_process_query.c:2150
2019-04-15 17:22:08: pid 33: LOG: worker child process with pid: 14319 exits with status 256
2019-04-15 17:22:08: pid 33: LOCATION: pgpool_main.c:2620
2019-04-15 17:22:08: pid 33: LOG: fork a new worker child process with pid: 14320
2019-04-15 17:22:08: pid 33: LOCATION: pgpool_main.c:2729
2019-04-15 17:22:08: pid 14320: FATAL: Backend throw an error message
2019-04-15 17:22:08: pid 14320: DETAIL: Exiting current session because of an error from backend
2019-04-15 17:22:08: pid 14320: HINT: BACKEND Error: "Function pg_current_xlog_location() is currently not supported for Aurora"
2019-04-15 17:22:08: pid 14320: CONTEXT: while checking replication time lag

Is there any way to alleviate this from the Aurora side or from the Pgpool side? I've tried dropping the pg_current_xlog_location function and recreating to return 0, but this did not help.

listen_addresses = '*'
      port = 5432
      socket_dir = '/tmp'
      pcp_listen_addresses = '*'
      pcp_port = 9898
      pcp_socket_dir = '/tmp'
      listen_backlog_multiplier = 2
      serialize_accept = off
      backend_hostname0 = 'testdb1'
      backend_port0 = 5432
      backend_weight0 = .5
      backend_data_directory0 = '/data'
      backend_flag0 = 'ALWAYS_MASTER'
      backend_hostname1 = 'testdb2'
      backend_port1 = 5432
      backend_weight1 = .5
      backend_data_directory1 = '/data1'
      backend_flag1 = 'ALWAYS_MASTER'
      enable_pool_hba = on
      pool_passwd = 'pool_passwd'
      authentication_timeout = 60
      allow_clear_text_frontend_auth = off
      ssl = on
      ssl_key = './server.key'
      ssl_cert = './server.cert'
      ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL'
      ssl_prefer_server_ciphers = on
      num_init_children = 32
      max_pool = 4
      child_life_time = 300
      child_max_connections = 0
      connection_life_time = 0
      client_idle_limit = 0
      log_destination = 'syslog,stderr'
      log_line_prefix = '%t: pid %p: '
      log_connections = off
      log_hostname = off
      log_statement = off
      log_per_node_statement = off
      log_client_messages = off
      log_standby_delay = 'if_over_threshold'
      syslog_facility = 'LOCAL0'
      syslog_ident = 'pgpool'
      log_error_verbosity = verbose
      client_min_messages = ERROR
      pid_file_name = '/var/run/pgpool.pid'
      logdir = '/var/log/pgpool-II'
      connection_cache = on
      reset_query_list = 'ABORT; DISCARD ALL'
      replication_mode = off
      replicate_select = off
      insert_lock = off
      lobj_lock_table = ''
      replication_stop_on_mismatch = off
      failover_if_affected_tuples_mismatch = off
      load_balance_mode = on
      ignore_leading_white_space = on
      white_function_list = ''
      black_function_list = 'currval,lastval,nextval,setval'
      black_query_pattern_list = ''
      database_redirect_preference_list = ''
      app_name_redirect_preference_list = ''
      allow_sql_comments = off
      disable_load_balance_on_write = 'transaction'
      master_slave_mode = on
      master_slave_sub_mode = 'stream'
      sr_check_period = 20
      sr_check_user = 'testuser'
      sr_check_password = ''
      sr_check_database = 'testdb'
      delay_threshold = 10000000
      follow_master_command = ''
      health_check_period = 5
      health_check_timeout = 20
      health_check_user = 'testuser'
      health_check_password = ''
      health_check_database = 'testdb'
      health_check_max_retries = 20
      health_check_retry_delay = 1
      connect_timeout = 10000
      failover_command = ''
      failback_command = ''
      failover_on_backend_error = off
      detach_false_primary = off
      search_primary_node_timeout = 300
      use_watchdog = off
      trusted_servers = ''
      ping_path = '/bin'
      wd_hostname = ''
      wd_port = 9000
      wd_priority = 1
      wd_authkey = ''
      wd_ipc_socket_dir = '/tmp'
      delegate_IP = ''
      if_cmd_path = '/sbin'
      if_up_cmd = 'ip addr add $_IP_$/24 dev eth0 label eth0:0'
      if_down_cmd = 'ip addr del $_IP_$/24 dev eth0'
      arping_path = '/usr/sbin'
      arping_cmd = 'arping -U $_IP_$ -w 1'
      clear_memqcache_on_escalation = on
      wd_escalation_command = ''
      wd_de_escalation_command = ''
      failover_when_quorum_exists = on
      failover_require_consensus = on
      allow_multiple_failover_requests_from_node = off
      wd_monitoring_interfaces_list = ''
      wd_lifecheck_method = 'heartbeat'
      wd_interval = 10
      wd_heartbeat_port = 9694
      wd_heartbeat_keepalive = 2
      wd_heartbeat_deadtime = 30
      heartbeat_destination0 = 'host0_ip1'
      heartbeat_destination_port0 = 9694
      heartbeat_device0 = ''
      wd_life_point = 3
      wd_lifecheck_query = 'SELECT 1'
      wd_lifecheck_dbname = 'template1'
      wd_lifecheck_user = 'blah'
      wd_lifecheck_password = ''
      relcache_expire = 0
      relcache_size = 256
      check_temp_table = on
      check_unlogged_table = on
      memory_cache_enabled = on
      memqcache_method = 'shmem'
      memqcache_memcached_host = 'localhost'
      memqcache_memcached_port = 11211
      memqcache_total_size = 335544320
      memqcache_max_num_cache = 5000000
      memqcache_expire = 0
      memqcache_auto_cache_invalidation = on
      memqcache_maxcache = 2048000
      memqcache_cache_block_size = 5242880
      memqcache_oiddir = '/var/log/pgpool/oiddir'
      white_memqcache_table_list = ''
      black_memqcache_table_list = ''
Steps To Reproducepoint pgpool with shown config at psql Aurora running postgresql 9.6.8.
TagsAurora, pgpool-II

Activities

Muhammad Usama

2019-04-16 05:51

developer   ~0002557

Pgpool calls pg_current_xlog_location function to check the replication lag between primary and standby, and apparently that facility
does not exists in the Amazon Aurora.

You can disable the replication lag checking by setting sr_check_period = 0 in pgpool.conf

t-ishii

2019-04-16 12:57

developer   ~0002558

Actually it has been already noted in the doc:
http://www.pgpool.net/docs/latest/en/html/example-aurora.html

REAGANonPGPOOL

2019-04-17 00:52

reporter   ~0002559

thanks I think this resolved the issue. feel free to close.

t-ishii

2019-04-17 08:04

developer   ~0002560

Ok, closing this issue...

Issue History

Date Modified Username Field Change
2019-04-16 05:07 REAGANonPGPOOL New Issue
2019-04-16 05:07 REAGANonPGPOOL Tag Attached: pgpool-II
2019-04-16 05:07 REAGANonPGPOOL Tag Attached: Aurora
2019-04-16 05:51 Muhammad Usama Note Added: 0002557
2019-04-16 12:57 t-ishii Note Added: 0002558
2019-04-17 00:52 REAGANonPGPOOL Note Added: 0002559
2019-04-17 08:04 t-ishii Note Added: 0002560
2019-04-17 08:04 t-ishii Status new => closed