• Sujatha's avatar
    MDEV-24773: slave_compressed_protocol doesn't work properly with semi-sync replication · 391f1aa6
    Sujatha authored
    Back port upstream fix
    
    commit 1800b015a1d487330f7b15f2020b887be348a66b
    Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
    Date:   Fri Sep 8 20:29:22 2017 +0530
    
    Bug#26027024    SLAVE_COMPRESSED_PROTOCOL DOESN'T WORK WITH
    SEMI-SYNC REPLICATION IN MYSQL-5.7
    
    Analysis: In mysql-5.6, dump thread (the thread that is created
    on Master after Slave requested for a binlog dump) is also used
    to receive acknowledgements from the Slave and act on them accordingly.
    For performance reasons, a special thread called Ack Receiver thread
    is added in mysql-5.7 Semi synchronous replication plugin.
    This thread does not have special handling to receive acknowledgements
    if Slave has enabled compression in the protocol. Hence Master is
    unable to handle any slave if Slave_compressed_protocol is enabled
    on it.
    
    Fix: Enable compress flag on the communication channels if the Slave
    has Slave_compressed_protocol ON.
    391f1aa6
semisync_master_ack_receiver.cc 7.31 KB