zk 1.3.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -63,6 +63,12 @@ In addition to all of that, I would like to think that the public API the ZK::Cl
63
63
 
64
64
  ## NEWS ##
65
65
 
66
+ ### v1.3.1 ###
67
+
68
+ * [fix a bug][bug 1.3.1] where a forked client would not have its 'outstanding watches' cleared, so some events would never be delivered
69
+
70
+ [bug 1.3.1]: https://github.com/slyphon/zk/compare/release/1.3.0...9f68cee958fdaad8d32b6d042bf0a2c9ab5ec9b0
71
+
66
72
  ### v1.3.0 ###
67
73
 
68
74
  Phusion Passenger and Unicorn users are encouraged to upgrade!
@@ -1,4 +1,19 @@
1
1
  This file notes feature differences and bugfixes contained between releases.
2
+ ### v1.3.1 ###
3
+
4
+ * [fix a bug][bug 1.3.1] where a forked client would not have its 'outstanding watches' cleared, so some events would never be delivered
5
+
6
+ [bug 1.3.1]: https://github.com/slyphon/zk/compare/release/1.3.0...9f68cee958fdaad8d32b6d042bf0a2c9ab5ec9b0
7
+
8
+ ### v1.3.0 ###
9
+
10
+ Phusion Passenger and Unicorn users are encouraged to upgrade!
11
+
12
+ * __fork()__: ZK should now work reliably after a fork() if you call `reopen()` ASAP in the child process (before continuing any ZK work). Additionally, your event-handler (blocks set up with `zk.register`) will still work in the child. You will have to make calls like `zk.stat(path, :watch => true)` to tell ZooKeeper to notify you of events (as the child will have a new session), but everything should work.
13
+
14
+ * See the fork-handling documentation [on the wiki](http://github.com/slyphon/zk/wiki/Forking).
15
+
16
+
2
17
  ### v1.2.0 ###
3
18
 
4
19
  You are __STRONGLY ENCOURAGED__ to go and look at the [CHANGELOG](http://git.io/tPbNBw) from the zookeeper 1.0.0 release
@@ -54,7 +54,9 @@ module ZK
54
54
  def reopen_after_fork!
55
55
  logger.debug { "#{self.class}##{__method__} reopening callbacks" }
56
56
  @mutex = Monitor.new
57
+ # XXX: need to test this w/ actor-style callbacks
57
58
  @callbacks.values.flatten.each { |cb| cb.reopen_after_fork! if cb.respond_to?(:reopen_after_fork!) }
59
+ @outstanding_watches.values.each { |set| set.clear }
58
60
  nil
59
61
  end
60
62
 
@@ -1,3 +1,3 @@
1
1
  module ZK
2
- VERSION = "1.3.0"
2
+ VERSION = "1.3.1"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zk
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 3
9
- - 0
10
- version: 1.3.0
9
+ - 1
10
+ version: 1.3.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jonathan D. Simms