Sha256: cb8fe1a25754a9d3b4b4680ca72dd0ed94de6d0925496027bad550521a199bac

Contents?: true

Size: 1.02 KB

Versions: 4

Compression:

Stored size: 1.02 KB

Contents

require 'bundler/setup'
require 'mysql2'
require_relative '../boot_mysql_env'
master_cut_script = File.expand_path(File.dirname(__FILE__)) + "/../../bin/master_cut"

puts "testing with long running queries..."

$mysql_master.connection.query("set GLOBAL READ_ONLY=0")
$mysql_slave.connection.query("set GLOBAL READ_ONLY=1")
$mysql_master.connection.send(:reconnect=, true)
$mysql_slave.connection.send(:reconnect=, true)

thread = Thread.new {
  begin
    $mysql_master.connection.query("update flexmaster_test.users set name=sleep(600)")
    puts "Query did not get killed!  Bad."
    exit 1
  rescue Exception => e
    puts e
  end
}

system "#{master_cut_script} 127.0.0.1:#{$mysql_master.port} 127.0.0.1:#{$mysql_slave.port} root ''"

thread.join

if $mysql_master.connection.query("select @@read_only as ro").first['ro'] != 1
  puts "Master is not readonly!"
  exit 1
end

if $mysql_slave.connection.query("select @@read_only as ro").first['ro'] != 0
  puts "Slave is not readwrite!"
  exit 1
end

puts "everything seemed to go ok..."

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ar_mysql_flexmaster-0.0.8 test/integration/with_queries_to_be_killed_test.rb
ar_mysql_flexmaster-0.0.6 test/integration/with_queries_to_be_killed_test.rb
ar_mysql_flexmaster-0.0.5 test/integration/with_queries_to_be_killed_test.rb
ar_mysql_flexmaster-0.0.4 test/integration/with_queries_to_be_killed_test.rb