Behavior of pc.ignore_sb in Galera 3

Bug #1229632 reported by Raghavendra D Prabhu
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Galera
Status tracked in 3.x
3.x
Invalid
Undecided
Teemu Ollakka

Bug Description

The behavior of pc.ignore_sb has changed in galera. Setting it as part of wsrep_cluster_address leads to Galera not listening on its listen_addr and hence not being available as a Donor for SST. In Galera 2.x however, it is available.

Changed in galera:
assignee: nobody → Teemu Ollakka (teemu-ollakka)
milestone: none → 3.1
Revision history for this message
Teemu Ollakka (teemu-ollakka) wrote :

Could not reproduce this:

Command to start mysqld:

/run/shm/galera/local1/mysql/sbin/mysqld --defaults-file=/run/shm/galera/local1/mysql/etc/my.cnf --user=teemu --basedir=/run/shm/galera/local1/mysql --datadir=/run/shm/galera/local1/mysql/var --plugin-dir=lib/mysql/plugin --pid-file=/run/shm/galera/local1/mysql/var/mysqld.pid --port=3311 --socket=/run/shm/galera/local1/mysql/var/mysqld.sock --skip-external-locking --log_error=/run/shm/galera/local1/mysql/var/hp.err --default-storage-engine=InnoDB --wsrep_provider=/run/shm/galera/local1/galera/lib/libgalera_smm.so --wsrep_cluster_address=gcomm://?pc.ignore_sb=1&gmcast.listen_addr=tcp://gw:10011 --wsrep_start_position=9ac15fea-2513-11e3-bcd4-33878a9222ca:0

Log shows:
2013-09-24 15:21:41 8573 [Note] WSREP: (de6aaaa2-2513-11e3-b799-1ef476e847f8, 'tcp://192.168.3.254:10011') listening at tcp://192.168.3.254:10011

$ netstat -natp |grep 10011
tcp 0 0 192.168.3.254:10011 0.0.0.0:* LISTEN 8573/mysqld

Joining another node to cluster goes as usual.

Revision history for this message
Raghavendra D Prabhu (raghavendra-prabhu) wrote :

@Teemu,

I had provided it as

--mysqld=--wsrep_cluster_address=gcomm://?pc.ignore_sb=true --mysqld=--wsrep_provider_options="gmcast.listen_addr=tcp://127.0.0.1:8493"

I couldn't get it listening on that address.

Full commandline:

  perl mysql-test-run.pl \
    --start-and-exit \
    --port-base=7000 \
    --nowarnings \
    --vardir=$node1 \
    --mysqld=--innodb_file_per_table \
    --mysqld=--binlog-format=ROW \
    --mysqld=--wsrep-slave-threads=2 \
    --mysqld=--innodb_autoinc_lock_mode=2 \
    --mysqld=--innodb_locks_unsafe_for_binlog=1 \
    --mysqld=--wsrep-provider=/pxc56/lib/libgalera_smm.so \
    --mysqld=--wsrep_cluster_address=gcomm://?pc.ignore_sb=true \
    --mysqld=--wsrep_sst_receive_address=127.0.0.1:37193 \
    --mysqld=--wsrep_node_incoming_address=127.0.0.1 \
    --mysqld=--wsrep_provider_options="gmcast.listen_addr=tcp://127.0.0.1:44444" \
    --mysqld=--wsrep_sst_method=rsync \
    --mysqld=--wsrep_sst_auth=root: \
    --mysqld=--wsrep_node_address=127.0.0.1 \
    --mysqld=--innodb_flush_method=O_DIRECT \
    --mysqld=--core-file \
    --mysqld=--loose-new \
    --mysqld=--sql-mode=no_engine_substitution \
    --mysqld=--loose-innodb \
    --mysqld=--secure-file-priv= \
    --mysqld=--loose-innodb-status-file=1 \
    --mysqld=--skip-name-resolve \
    --mysqld=--socket=/tmp/socket.sock \
    --mysqld=--log-output=none \
    1st

This didn't listen on 127.0.0.1:44444

Revision history for this message
Raghavendra D Prabhu (raghavendra-prabhu) wrote :

As it works when provided differently, the bug may be with how the address is provided.

Revision history for this message
Teemu Ollakka (teemu-ollakka) wrote :

I still cannot reproduce this. Could you start the process and post the mysqld command with arguments as it is seen in processlist.

Revision history for this message
Raghavendra D Prabhu (raghavendra-prabhu) wrote :

@Teemu,

Ack, I will test it again and post it here.

Revision history for this message
Raghavendra D Prabhu (raghavendra-prabhu) wrote :
Download full text (11.1 KiB)

/tmp/run.sh

defined(@array) is deprecated at lib/mtr_cases.pm line 339.
        (Maybe you should just omit the defined()?)
defined(@array) is deprecated at mysql-test-run.pl line 497.
        (Maybe you should just omit the defined()?)
Logging: mysql-test-run.pl --start-and-exit --port-base=7000 --nowarnings --vardir=/tmp/node1 --mysqld=--innodb_file_per_table --mysqld=--binlog-format=ROW --mysqld=--wsrep-slave-threads=2 --mysqld=--innodb_autoinc_lock_mode=2 --mysqld=--innodb_locks_unsafe_for_binlog=1 --mysqld=--wsrep-provider=/pxc56/lib/libgalera_smm.so --mysqld=--wsrep_sst_receive_address=127.0.0.1:37193 --mysqld=--wsrep_node_incoming_address=127.0.0.1 --mysqld=--wsrep_provider_options=gmcast.listen_addr=tcp://127.0.0.1:44444 --mysqld=--wsrep_sst_method=rsync --mysqld=--wsrep_sst_auth=root: --mysqld=--wsrep_node_address=127.0.0.1 --mysqld=--innodb_flush_method=O_DIRECT --mysqld=--core-file --mysqld=--loose-new --mysqld=--sql-mode=no_engine_substitution --mysqld=--loose-innodb --mysqld=--secure-file-priv= --mysqld=--loose-innodb-status-file=1 --mysqld=--skip-name-resolve --mysqld=--socket=/tmp/socket.sock --mysqld=--log-output=none 1st
2013-09-26 17:21:43 28293 [Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 5000)

2013-09-26 17:21:43 28293 [Warning] Buffered warning: Changed limits: table_cache: 431 (requested 2000)

2013-09-26 17:21:43 28293 [Note] Binlog end
2013-09-26 17:21:43 28293 [Note] Shutting down plugin 'CSV'
2013-09-26 17:21:43 28293 [Note] Shutting down plugin 'MyISAM'
MySQL Version 5.6.13
Using binlog format 'ROW'
Checking supported features...
 - SSL connections supported
 - binaries are debug compiled
Collecting tests...
Removing old var directory...
Creating var directory '/tmp/node1'...
Installing system database...
Using server port 41683

==============================================================================

TEST RESULT TIME (ms) or COMMENT
--------------------------------------------------------------------------

worker[1] Using MTR_BUILD_THREAD -300, with reserved ports 7000..7009
worker[1]
Started [mysqld.1 - pid: 28329, winpid: 28329]
worker[1] Using config for test main.1st
worker[1] Port and socket path for server(s):
worker[1] mysqld.1 7001 /tmp/node1/tmp/mysqld.1.sock
worker[1] Server(s) started, not waiting for them to finish

>>p mysqld
raghave+ 28329 1.7 1.4 696276 115860 pts/18 Sl 17:21 0:00 /media/Vone/data/pxc56/bin/mysqld --defaults-group-suffix=.1 --defaults-file=/tmp/node1/my.cnf --log-output=file --loose-debug-sync-timeout=600 --default-storage-engine=MyISAM --default-tmp-storage-engine=MyISAM --loose-skip-log-bin --innodb_file_per_table --wsrep-slave-threads=2 --innodb_autoinc_lock_mode=2 --innodb_locks_unsafe_for_binlog=1 --wsrep-provider=/pxc56/lib/libgalera_smm.so --wsrep_sst_receive_address=127.0.0.1:37193 --wsrep_node_incoming_address=127.0.0.1 --wsrep_provider_options=gmcast.listen_addr=tcp://127.0.0.1:44444 --wsrep_sst_method=rsync --wsrep_sst_auth=root: --wsrep_node_address=127.0.0.1 --innodb_flush_method=O_DIRECT --core-file --loose-new --sql-mode=no_engine_substitution --loose-innodb --secure-file-priv= -...

Revision history for this message
Teemu Ollakka (teemu-ollakka) wrote :

It looks like --wsrep_cluster_address param is not passed to mysqld process at all and therefore galera wsrep provider does not start.

Revision history for this message
Alex Yurchenko (ayurchen) wrote :

can't seem to reproduce

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.