business_flow 0.21.1 → 0.21.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 58b3100df6d7fe1c1a09846cec4cd3df8692e7c8ab6a1a5f59387bddd116adf9
4
- data.tar.gz: cc3a48bc0b5cb9932b921ebabfab8ceaf5ce64b292f7eed5e2c48e58f37912c7
3
+ metadata.gz: efe077542fdb13fbaa9c53d3f58d108846e0b2bea1646a6789edeac73db8d9a7
4
+ data.tar.gz: c4a74472e897c5c5dec78f7d87221adeaeb153fc3df9437cb86bb1c821672e75
5
5
  SHA512:
6
- metadata.gz: a50eaa3074e7369e57ff20f715f77c332fbea9dc2f2904fb8cbe84e8aafcc20f0b7dc1f7c3d9681642b7b3b6db8106d8ab6bad6367368e93a81145db6a7f6381
7
- data.tar.gz: 4ce3770b14b51f01b77e0bbe57d990fe0ea6156539a5154afe99a99436cd07b0ff9787b7da1a4d5757adff719d0bcbe7842f72f996c9b9578ee5eb0453c7143c
6
+ metadata.gz: 855c34d54b1974dd8c3981843cd2f358b18021fac011f5f8042794f16f6ecb080bd7ffbaf837d364af575016e8dfe2ccb0766be21d4bdf8fa1e5f4d5c7dc8231
7
+ data.tar.gz: bb0e099ed1105278c6460c4b681795c9f6fce62271734329aeda5d0cb4def5e521c1ba9435888b3d95b74ec1ca8e279b7bea52057e4f802b71d3e491cc29ddb2
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## 0.21.2
2
+
3
+ BUG FIXES:
4
+
5
+ * Fixed ClusterLock connection leak when lock acquisition raises an exception (e.g. OperationTimeOut during stat() after ephemeral node creation). The ZK connection was never closed, and the C library's I/O thread continued heartbeating, keeping the session and ephemeral lock node alive indefinitely.
6
+ * Broadened ClusterLock cleanup rescue from OperationTimeOut to StandardError so any exception during unlock is handled and the connection is always closed.
7
+
1
8
  ## 0.21.1
2
9
 
3
10
  ENHANCEMENTS:
@@ -174,6 +174,9 @@ module BusinessFlow
174
174
  ZK::Locker::ExclusiveLocker.new(zk_connection, lock_info.lock_name)
175
175
  )
176
176
  inner_acquire_lock(zk_connection, lock, payload)
177
+ rescue StandardError
178
+ zk_connection&.close!
179
+ raise
177
180
  end
178
181
 
179
182
  def self.inner_acquire_lock(zk_connection, lock, payload)
@@ -188,7 +191,7 @@ module BusinessFlow
188
191
 
189
192
  def self.cleanup(lock, zk_connection)
190
193
  lock&.unlock
191
- rescue ZK::Exceptions::OperationTimeOut
194
+ rescue StandardError
192
195
  # Just let the connection close handle this.
193
196
  ensure
194
197
  zk_connection&.close!
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BusinessFlow
4
- VERSION = '0.21.1'
4
+ VERSION = '0.21.2'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: business_flow
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.21.1
4
+ version: 0.21.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Scarborough