beetle 0.4.4 → 0.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/REDIS_AUTO_FAILOVER.rdoc +1 -1
- data/RELEASE_NOTES.rdoc +8 -0
- data/features/support/test_daemons/redis_configuration_client.rb +1 -1
- data/lib/beetle/commands/configuration_client.rb +7 -1
- data/lib/beetle/version.rb +1 -1
- data/test/beetle/redis_configuration_client_test.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9f405a0852e21f9fdfdcd51e960295b57b4d8d1e
|
4
|
+
data.tar.gz: a5629866029fc7faab95362442c0256d3342630b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e751112c09982ef6dce8a0dc8c8c8d7ff5854071bab42c311bdb1d86303248bd9ee2786f4e810d2433a4b1544744cf074a18bec034a551fa3b0b15bff92ef587
|
7
|
+
data.tar.gz: a1acda41c4afe1fe352c4ea7fc0c43274a884355b1640b741e467c6e75ecc45f68dc30a19a1ca401f0917dd3f87077fab77df4507135d8d32580e5d80019a3d2
|
data/REDIS_AUTO_FAILOVER.rdoc
CHANGED
@@ -65,7 +65,7 @@ all other redis servers into slaves of the current master.
|
|
65
65
|
|
66
66
|
* on startup, an RCC can consult its redis master file to determine the current master without the help of the RCS by checking that it's still a master (or wait for the periodic reconfigure message with the current master from the RCS)
|
67
67
|
* when the RCS finds the master to be down, it will retry a couple of times before starting a reconfiguration round
|
68
|
-
* the RCS sends all RCCs a "ping" message to check if every client is there and able to
|
68
|
+
* the RCS sends all RCCs a "ping" message to check if every client is there and able to answer
|
69
69
|
* the RCCs acknowledge via a "pong" message if they can confirm the current master to be unavailable
|
70
70
|
* the RCS waits for *all* RCCs to reply via pong
|
71
71
|
* the RCS tells all RCCs to stop using the master by sending an "invalidate" message
|
data/RELEASE_NOTES.rdoc
CHANGED
@@ -1,12 +1,20 @@
|
|
1
1
|
= Release Notes
|
2
2
|
|
3
|
+
== Version 0.4.5
|
4
|
+
|
5
|
+
* Starting mutliple redis failover clients is now prohibited by
|
6
|
+
defualt. This behavior can be overriden using
|
7
|
+
"beetle configuration_client start -- --multiple"
|
8
|
+
|
3
9
|
== Version 0.4.4
|
10
|
+
|
4
11
|
* added command to show beetle version: "beetle --version"
|
5
12
|
* configuration server tracks ids of unknown clients
|
6
13
|
* configuration clients now sends heartbeats
|
7
14
|
* configuration server tracks last seen times of clients, based on heartbeat
|
8
15
|
|
9
16
|
== Version 0.4.3
|
17
|
+
|
10
18
|
* fixed a race condition which could lead to duplicate message processing
|
11
19
|
* fixed eventmachine shutdown sequence problem, which led to ACKs
|
12
20
|
occasionally being lost due to writing to a closed socket, which in
|
@@ -36,7 +36,7 @@ module TestDaemons
|
|
36
36
|
def daemon_controller
|
37
37
|
@daemon_controller ||= DaemonController.new(
|
38
38
|
:identifier => "Redis configuration test client #{@name}",
|
39
|
-
:start_command => "ruby bin/beetle configuration_client start -- -v --redis-master-file #{redis_master_file} --id #{@name} --pid-dir #{tmp_path} --amqp-servers 127.0.0.1:5672",
|
39
|
+
:start_command => "ruby bin/beetle configuration_client start -- -v --multiple --redis-master-file #{redis_master_file} --id #{@name} --pid-dir #{tmp_path} --amqp-servers 127.0.0.1:5672",
|
40
40
|
:ping_command => lambda{ true },
|
41
41
|
:pid_file => pid_file,
|
42
42
|
:log_file => log_file,
|
@@ -14,6 +14,7 @@ module Beetle
|
|
14
14
|
# --amqp-servers LIST AMQP server list (e.g. 192.168.0.1:5672,192.168.0.2:5672)
|
15
15
|
# --config-file PATH Path to an external yaml config file
|
16
16
|
# --pid-dir DIR Write pid and log to DIR
|
17
|
+
# --multiple Allow multiple clients started in parallel (for testing only)
|
17
18
|
# -v, --verbose Set log level to DEBUG
|
18
19
|
# -h, --help Show this message
|
19
20
|
#
|
@@ -51,6 +52,11 @@ module Beetle
|
|
51
52
|
dir = val
|
52
53
|
end
|
53
54
|
|
55
|
+
multiple = false
|
56
|
+
opts.on("--multiple", "Allow multiple clients") do |val|
|
57
|
+
multiple = true
|
58
|
+
end
|
59
|
+
|
54
60
|
opts.on("-v", "--verbose", "Set log level to DEBUG") do |val|
|
55
61
|
Beetle.config.logger.level = Logger::DEBUG
|
56
62
|
end
|
@@ -62,7 +68,7 @@ module Beetle
|
|
62
68
|
|
63
69
|
opts.parse!(app_options)
|
64
70
|
|
65
|
-
Daemons.run_proc("redis_configuration_client", :multiple =>
|
71
|
+
Daemons.run_proc("redis_configuration_client", :multiple => multiple, :log_output => true, :dir_mode => dir_mode, :dir => dir) do
|
66
72
|
client = Beetle::RedisConfigurationClient.new
|
67
73
|
client.id = client_id if client_id
|
68
74
|
client.start
|
data/lib/beetle/version.rb
CHANGED
@@ -20,7 +20,7 @@ module Beetle
|
|
20
20
|
@client.stubs(:clear_redis_master_file)
|
21
21
|
@client.beetle.expects(:publish).with(:client_started, {:id => @client.id}.to_json)
|
22
22
|
@client.beetle.expects(:listen).yields
|
23
|
-
EventMachine.expects(:add_periodic_timer).with(
|
23
|
+
EventMachine.expects(:add_periodic_timer).with(Beetle.config.redis_failover_client_heartbeat_interval).yields
|
24
24
|
@client.beetle.expects(:publish).with(:heartbeat, {:id => @client.id}.to_json)
|
25
25
|
@client.start
|
26
26
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beetle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stefan Kaes
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2016-
|
15
|
+
date: 2016-05-26 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: uuid4r
|