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 +4 -4
- data/CHANGELOG.md +7 -0
- data/lib/business_flow/cluster_lock.rb +4 -1
- data/lib/business_flow/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: efe077542fdb13fbaa9c53d3f58d108846e0b2bea1646a6789edeac73db8d9a7
|
|
4
|
+
data.tar.gz: c4a74472e897c5c5dec78f7d87221adeaeb153fc3df9437cb86bb1c821672e75
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
|
194
|
+
rescue StandardError
|
|
192
195
|
# Just let the connection close handle this.
|
|
193
196
|
ensure
|
|
194
197
|
zk_connection&.close!
|