Skip to content

Commit

Permalink
exit 5 instead of raising error if no etcd endpoint responds (#886)
Browse files Browse the repository at this point in the history
Exit 5 (5th letter, E, for etcd) instead of raising error when no etcd endpoint responds.

fixes #872
  • Loading branch information
viktorerlingsson authored Jan 20, 2025
1 parent 300ef13 commit 3e26bfd
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 4 deletions.
6 changes: 3 additions & 3 deletions spec/etcd_spec.cr
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ describe LavinMQ::Etcd do
etcd.watch("foo") do |val|
w.send val
end
rescue LavinMQ::Etcd::Error
rescue SpecExit
# expect this when etcd nodes are terminated
end
w.receive # sync
Expand All @@ -51,15 +51,15 @@ describe LavinMQ::Etcd do
etcd.elect_listen(key) do |value|
leader.send value
end
rescue LavinMQ::Etcd::Error
rescue SpecExit
# expect this when etcd nodes are terminated
end
lease = etcd.elect(key, "bar", 1)
leader.receive.should eq "bar"
spawn(name: "elect other leader spec") do
begin
etcd.elect(key, "bar2", 1)
rescue LavinMQ::Etcd::Error
rescue SpecExit
# expect this when etcd nodes are terminated
end
end
Expand Down
3 changes: 2 additions & 1 deletion src/lavinmq/etcd.cr
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,8 @@ module LavinMQ
Log.debug { "Could not connect to #{address}: #{ex}" }
next
end
raise Error.new("No endpoint responded")
Log.fatal { "No etcd endpoint responded" }
exit 5 # 5th character in the alphabet is E(etcd)
end

private def update_endpoints(tcp, address)
Expand Down

0 comments on commit 3e26bfd

Please sign in to comment.