zookeeper 1.4.9-java → 1.5.1-java

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,16 @@
1
+ diff -ur zkc-3.4.5-orig/c/src/mt_adaptor.c zkc-3.4.5/c/src/mt_adaptor.c
2
+ --- zkc-3.4.5-orig/c/src/mt_adaptor.c 2012-09-30 10:53:32.000000000 -0700
3
+ +++ zkc-3.4.5/c/src/mt_adaptor.c 2016-09-07 16:55:13.787553837 -0700
4
+ @@ -484,11 +484,7 @@
5
+ {
6
+ #ifndef WIN32
7
+ int32_t result;
8
+ - asm __volatile__(
9
+ - "lock xaddl %0,%1\n"
10
+ - : "=r"(result), "=m"(*(int *)operand)
11
+ - : "0"(incr)
12
+ - : "memory");
13
+ + result = __sync_fetch_and_add(operand, incr);
14
+ return result;
15
+ #else
16
+ volatile int32_t result;
@@ -0,0 +1,163 @@
1
+ diff --git zkc-3.4.5-orig/c/src/zookeeper.c zkc-3.4.5/c/src/zookeeper.c
2
+ index de58c62..2347ff4 100644
3
+ --- zkc-3.4.5-orig/c/src/zookeeper.c
4
+ +++ zkc-3.4.5/c/src/zookeeper.c
5
+ @@ -1167,25 +1167,20 @@ void free_completions(zhandle_t *zh,int callCompletion,int reason)
6
+ zh->outstanding_sync--;
7
+ destroy_completion_entry(cptr);
8
+ } else if (callCompletion) {
9
+ - if(cptr->xid == PING_XID){
10
+ - // Nothing to do with a ping response
11
+ - destroy_completion_entry(cptr);
12
+ - } else {
13
+ - // Fake the response
14
+ - buffer_list_t *bptr;
15
+ - h.xid = cptr->xid;
16
+ - h.zxid = -1;
17
+ - h.err = reason;
18
+ - oa = create_buffer_oarchive();
19
+ - serialize_ReplyHeader(oa, "header", &h);
20
+ - bptr = calloc(sizeof(*bptr), 1);
21
+ - assert(bptr);
22
+ - bptr->len = get_buffer_len(oa);
23
+ - bptr->buffer = get_buffer(oa);
24
+ - close_buffer_oarchive(&oa, 0);
25
+ - cptr->buffer = bptr;
26
+ - queue_completion(&zh->completions_to_process, cptr, 0);
27
+ - }
28
+ + // Fake the response
29
+ + buffer_list_t *bptr;
30
+ + h.xid = cptr->xid;
31
+ + h.zxid = -1;
32
+ + h.err = reason;
33
+ + oa = create_buffer_oarchive();
34
+ + serialize_ReplyHeader(oa, "header", &h);
35
+ + bptr = calloc(sizeof(*bptr), 1);
36
+ + assert(bptr);
37
+ + bptr->len = get_buffer_len(oa);
38
+ + bptr->buffer = get_buffer(oa);
39
+ + close_buffer_oarchive(&oa, 0);
40
+ + cptr->buffer = bptr;
41
+ + queue_completion(&zh->completions_to_process, cptr, 0);
42
+ }
43
+ }
44
+ a_list.completion = NULL;
45
+ @@ -1526,7 +1521,6 @@ static struct timeval get_timeval(int interval)
46
+ rc = serialize_RequestHeader(oa, "header", &h);
47
+ enter_critical(zh);
48
+ gettimeofday(&zh->last_ping, 0);
49
+ - rc = rc < 0 ? rc : add_void_completion(zh, h.xid, 0, 0);
50
+ rc = rc < 0 ? rc : queue_buffer_bytes(&zh->to_send, get_buffer(oa),
51
+ get_buffer_len(oa));
52
+ leave_critical(zh);
53
+ @@ -2063,12 +2057,8 @@ static void deserialize_response(int type, int xid, int failed, int rc, completi
54
+ case COMPLETION_VOID:
55
+ LOG_DEBUG(("Calling COMPLETION_VOID for xid=%#x failed=%d rc=%d",
56
+ cptr->xid, failed, rc));
57
+ - if (xid == PING_XID) {
58
+ - // We want to skip the ping
59
+ - } else {
60
+ - assert(cptr->c.void_result);
61
+ - cptr->c.void_result(rc, cptr->data);
62
+ - }
63
+ + assert(cptr->c.void_result);
64
+ + cptr->c.void_result(rc, cptr->data);
65
+ break;
66
+ case COMPLETION_MULTI:
67
+ LOG_DEBUG(("Calling COMPLETION_MULTI for xid=%#x failed=%d rc=%d",
68
+ @@ -2184,7 +2174,15 @@ int zookeeper_process(zhandle_t *zh, int events)
69
+ // fprintf(stderr, "Got %#x for %#x\n", hdr.zxid, hdr.xid);
70
+ }
71
+
72
+ - if (hdr.xid == WATCHER_EVENT_XID) {
73
+ + if (hdr.xid == PING_XID) {
74
+ + // Ping replies can arrive out-of-order
75
+ + int elapsed = 0;
76
+ + struct timeval now;
77
+ + gettimeofday(&now, 0);
78
+ + elapsed = calculate_interval(&zh->last_ping, &now);
79
+ + LOG_DEBUG(("Got ping response in %d ms", elapsed));
80
+ + free_buffer(bptr);
81
+ + } else if (hdr.xid == WATCHER_EVENT_XID) {
82
+ struct WatcherEvent evt;
83
+ int type = 0;
84
+ char *path = NULL;
85
+ @@ -2250,22 +2248,9 @@ int zookeeper_process(zhandle_t *zh, int events)
86
+ activateWatcher(zh, cptr->watcher, rc);
87
+
88
+ if (cptr->c.void_result != SYNCHRONOUS_MARKER) {
89
+ - if(hdr.xid == PING_XID){
90
+ - int elapsed = 0;
91
+ - struct timeval now;
92
+ - gettimeofday(&now, 0);
93
+ - elapsed = calculate_interval(&zh->last_ping, &now);
94
+ - LOG_DEBUG(("Got ping response in %d ms", elapsed));
95
+ -
96
+ - // Nothing to do with a ping response
97
+ - free_buffer(bptr);
98
+ - destroy_completion_entry(cptr);
99
+ - } else {
100
+ - LOG_DEBUG(("Queueing asynchronous response"));
101
+ -
102
+ - cptr->buffer = bptr;
103
+ - queue_completion(&zh->completions_to_process, cptr, 0);
104
+ - }
105
+ + LOG_DEBUG(("Queueing asynchronous response"));
106
+ + cptr->buffer = bptr;
107
+ + queue_completion(&zh->completions_to_process, cptr, 0);
108
+ } else {
109
+ struct sync_completion
110
+ *sc = (struct sync_completion*)cptr->data;
111
+ diff --git zkc-3.4.5-orig/c/tests/TestOperations.cc zkc-3.4.5/c/tests/TestOperations.cc
112
+ index b0370e9..27d9270 100644
113
+ --- zkc-3.4.5-orig/c/tests/TestOperations.cc
114
+ +++ zkc-3.4.5/c/tests/TestOperations.cc
115
+ @@ -29,6 +29,7 @@ class Zookeeper_operations : public CPPUNIT_NS::TestFixture
116
+ CPPUNIT_TEST_SUITE(Zookeeper_operations);
117
+ #ifndef THREADED
118
+ CPPUNIT_TEST(testPing);
119
+ + CPPUNIT_TEST(testUnsolicitedPing);
120
+ CPPUNIT_TEST(testTimeoutCausedByWatches1);
121
+ CPPUNIT_TEST(testTimeoutCausedByWatches2);
122
+ #else
123
+ @@ -305,6 +306,40 @@ public:
124
+ CPPUNIT_ASSERT_EQUAL(1,zkServer.pingCount_);
125
+ }
126
+
127
+ + // ZOOKEEPER-2253: Permit unsolicited pings
128
+ + void testUnsolicitedPing()
129
+ + {
130
+ + const int TIMEOUT=9; // timeout in secs
131
+ + Mock_gettimeofday timeMock;
132
+ + PingCountingServer zkServer;
133
+ + // must call zookeeper_close() while all the mocks are in scope
134
+ + CloseFinally guard(&zh);
135
+ +
136
+ + // receive timeout is in milliseconds
137
+ + zh=zookeeper_init("localhost:1234",watcher,TIMEOUT*1000,TEST_CLIENT_ID,0,0);
138
+ + CPPUNIT_ASSERT(zh!=0);
139
+ + // simulate connected state
140
+ + forceConnected(zh);
141
+ +
142
+ + int fd=0;
143
+ + int interest=0;
144
+ + timeval tv;
145
+ +
146
+ + int rc=zookeeper_interest(zh,&fd,&interest,&tv);
147
+ + CPPUNIT_ASSERT_EQUAL((int)ZOK,rc);
148
+ +
149
+ + // verify no ping sent
150
+ + CPPUNIT_ASSERT(zkServer.pingCount_==0);
151
+ +
152
+ + // we're going to receive a unsolicited PING response; ensure
153
+ + // that the client has updated its last_recv timestamp
154
+ + timeMock.tick(tv);
155
+ + zkServer.addRecvResponse(new PingResponse);
156
+ + rc=zookeeper_process(zh,interest);
157
+ + CPPUNIT_ASSERT_EQUAL((int)ZOK,rc);
158
+ + CPPUNIT_ASSERT(timeMock==zh->last_recv);
159
+ + }
160
+ +
161
+ // simulate a watch arriving right before a ping is due
162
+ // assert the ping is sent nevertheless
163
+ void testTimeoutCausedByWatches1()
data/ext/zkrb.c CHANGED
@@ -73,6 +73,17 @@
73
73
  #include "ruby/io.h"
74
74
  #endif
75
75
 
76
+ #ifndef HAVE_RB_THREAD_FD_SELECT
77
+ #define rb_fdset_t fd_set
78
+ #define rb_fd_isset(n, f) FD_ISSET(n, f)
79
+ #define rb_fd_init(f) FD_ZERO(f)
80
+ #define rb_fd_zero(f) FD_ZERO(f)
81
+ #define rb_fd_set(n, f) FD_SET(n, f)
82
+ #define rb_fd_clr(n, f) FD_CLR(n, f)
83
+ #define rb_fd_term(f)
84
+ #define rb_thread_fd_select rb_thread_select
85
+ #endif
86
+
76
87
  #include "zookeeper/zookeeper.h"
77
88
  #include <errno.h>
78
89
  #include <stdio.h>
@@ -787,8 +798,8 @@ inline static int get_self_pipe_read_fd(VALUE self) {
787
798
  static VALUE method_zkrb_iterate_event_loop(VALUE self) {
788
799
  FETCH_DATA_PTR(self, zk);
789
800
 
790
- fd_set rfds, wfds, efds;
791
- FD_ZERO(&rfds); FD_ZERO(&wfds); FD_ZERO(&efds);
801
+ rb_fdset_t rfds, wfds, efds;
802
+ rb_fd_init(&rfds); rb_fd_init(&wfds); rb_fd_init(&efds);
792
803
 
793
804
  int fd = 0, interest = 0, events = 0, rc = 0, maxfd = 0, irc = 0, prc = 0;
794
805
  struct timeval tv;
@@ -797,14 +808,14 @@ static VALUE method_zkrb_iterate_event_loop(VALUE self) {
797
808
 
798
809
  if (fd != -1) {
799
810
  if (interest & ZOOKEEPER_READ) {
800
- FD_SET(fd, &rfds);
811
+ rb_fd_set(fd, &rfds);
801
812
  } else {
802
- FD_CLR(fd, &rfds);
813
+ rb_fd_clr(fd, &rfds);
803
814
  }
804
815
  if (interest & ZOOKEEPER_WRITE) {
805
- FD_SET(fd, &wfds);
816
+ rb_fd_set(fd, &wfds);
806
817
  } else {
807
- FD_CLR(fd, &wfds);
818
+ rb_fd_clr(fd, &wfds);
808
819
  }
809
820
  } else {
810
821
  fd = 0;
@@ -813,22 +824,22 @@ static VALUE method_zkrb_iterate_event_loop(VALUE self) {
813
824
  // add our self-pipe to the read set, allow us to wake up in case our attention is needed
814
825
  int pipe_r_fd = get_self_pipe_read_fd(self);
815
826
 
816
- FD_SET(pipe_r_fd, &rfds);
827
+ rb_fd_set(pipe_r_fd, &rfds);
817
828
 
818
829
  maxfd = (pipe_r_fd > fd) ? pipe_r_fd : fd;
819
830
 
820
- rc = rb_thread_select(maxfd+1, &rfds, &wfds, &efds, &tv);
831
+ rc = rb_thread_fd_select(maxfd+1, &rfds, &wfds, &efds, &tv);
821
832
 
822
833
  if (rc > 0) {
823
- if (FD_ISSET(fd, &rfds)) {
834
+ if (rb_fd_isset(fd, &rfds)) {
824
835
  events |= ZOOKEEPER_READ;
825
836
  }
826
- if (FD_ISSET(fd, &wfds)) {
837
+ if (rb_fd_isset(fd, &wfds)) {
827
838
  events |= ZOOKEEPER_WRITE;
828
839
  }
829
840
 
830
841
  // we got woken up by the self-pipe
831
- if (FD_ISSET(pipe_r_fd, &rfds)) {
842
+ if (rb_fd_isset(pipe_r_fd, &rfds)) {
832
843
  // one event has awoken us, so we clear one event from the pipe
833
844
  char b[1];
834
845
 
@@ -853,6 +864,9 @@ static VALUE method_zkrb_iterate_event_loop(VALUE self) {
853
864
  prc, interest, fd, pipe_r_fd, maxfd, irc, tv.tv_sec + (tv.tv_usec/ 1000.0 / 1000.0));
854
865
  }
855
866
 
867
+ rb_fd_term(&rfds);
868
+ rb_fd_term(&wfds);
869
+ rb_fd_term(&efds);
856
870
  return INT2FIX(prc);
857
871
  }
858
872
 
data/java/java_base.rb CHANGED
@@ -183,13 +183,11 @@ class JavaBase
183
183
  attr_reader :event_queue
184
184
 
185
185
  def reopen(timeout=10, watcher=nil, opts = {})
186
- # watcher ||= @default_watcher
187
-
188
186
  @mutex.synchronize do
189
187
  @req_registry.clear_watchers!
190
188
 
191
189
  replace_jzk!(opts)
192
- wait_until_connected
190
+ wait_until_connected(timeout)
193
191
  end
194
192
 
195
193
  state
@@ -490,7 +488,7 @@ class JavaBase
490
488
 
491
489
  def replace_jzk!(opts = {})
492
490
  orig_jzk = @jzk
493
- if opts.has_key?(:session_id) && opts.has_key(:session_passwd)
491
+ if opts.has_key?(:session_id) && opts.has_key?(:session_passwd)
494
492
  @jzk = JZK::ZooKeeper.new(@host, DEFAULT_SESSION_TIMEOUT, JavaCB::WatcherCallback.new(event_queue, :client => self), opts.fetch(:session_id), opts.fetch(:session_passwd).to_java_bytes)
495
493
  else
496
494
  @jzk = JZK::ZooKeeper.new(@host, DEFAULT_SESSION_TIMEOUT, JavaCB::WatcherCallback.new(event_queue, :client => self))
@@ -1,4 +1,4 @@
1
1
  module Zookeeper
2
- VERSION = '1.4.9'
2
+ VERSION = '1.5.1'
3
3
  DRIVER_VERSION = '3.4.5'
4
4
  end
File without changes
@@ -4,7 +4,7 @@ unless defined?(::JRUBY_VERSION)
4
4
  describe %[forked connection] do
5
5
  let(:path) { "/_zktest_" }
6
6
  let(:pids_root) { "#{path}/pids" }
7
- let(:data) { "underpants" }
7
+ let(:data) { "underpants" }
8
8
  let(:connection_string) { Zookeeper.default_cnx_str }
9
9
 
10
10
  def process_alive?(pid)
@@ -15,7 +15,7 @@ unless defined?(::JRUBY_VERSION)
15
15
  end
16
16
 
17
17
  LBORDER = ('-' * 35) << '< '
18
- RBORDER = ' >' << ('-' * 35)
18
+ RBORDER = ' >' << ('-' * 35)
19
19
 
20
20
  def mark(thing)
21
21
  logger << "\n#{LBORDER}#{thing}#{RBORDER}\n\n"
@@ -25,8 +25,6 @@ unless defined?(::JRUBY_VERSION)
25
25
  mark "BEFORE: START"
26
26
  if defined?(::Rubinius)
27
27
  pending("this test is currently broken in rbx")
28
- # elsif ENV['TRAVIS']
29
- # pending("this test is currently hanging in travis")
30
28
  else
31
29
  @zk = Zookeeper.new(connection_string)
32
30
  rm_rf(@zk, path)
@@ -105,7 +103,7 @@ unless defined?(::JRUBY_VERSION)
105
103
  @zk.resume_after_fork_in_parent
106
104
 
107
105
  event_waiter_th = Thread.new do
108
- @latch.await(5) unless @event
106
+ @latch.await(5) unless @event
109
107
  @event
110
108
  end
111
109
 
@@ -1051,7 +1051,11 @@ shared_examples_for "connection" do
1051
1051
  zk.close
1052
1052
  end
1053
1053
 
1054
- zk.stat(:path => path, :callback => evil_cb)
1054
+ begin
1055
+ zk.stat(:path => path, :callback => evil_cb)
1056
+ rescue IOError
1057
+ # captures flaky IOError: stream closed in another thread
1058
+ end
1055
1059
 
1056
1060
  wait_until { zk.closed? }
1057
1061
  zk.should be_closed
@@ -3,10 +3,6 @@ module Zookeeper
3
3
  !!ENV['SPAWN_ZOOKEEPER']
4
4
  end
5
5
 
6
- def self.travis?
7
- !!ENV['TRAVIS']
8
- end
9
-
10
6
  def self.default_cnx_host
11
7
  ENV['ZK_DEFAULT_HOST'] || 'localhost'
12
8
  end
data/zookeeper.gemspec CHANGED
@@ -6,13 +6,21 @@ Gem::Specification.new do |s|
6
6
  s.name = 'zookeeper'
7
7
  s.version = Zookeeper::VERSION
8
8
 
9
- s.authors = ["Phillip Pearson", "Eric Maland", "Evan Weaver", "Brian Wickman", "Neil Conway", "Jonathan D. Simms"]
9
+ s.authors = [
10
+ "Phillip Pearson",
11
+ "Eric Maland",
12
+ "Evan Weaver",
13
+ "Brian Wickman",
14
+ "Neil Conway",
15
+ "Jonathan D. Simms",
16
+ "Mal McKay",
17
+ ]
10
18
  s.email = ["slyphon@gmail.com"]
11
19
  s.summary = %q{Apache ZooKeeper driver for Rubies}
12
20
  s.description = <<-EOS
13
21
  A low-level multi-Ruby wrapper around the ZooKeeper API bindings. For a
14
22
  friendlier interface, see http://github.com/slyphon/zk. Currently supported:
15
- MRI: {1.8.7, 1.9.2, 1.9.3}, JRuby: ~> 1.6.7, Rubinius: 2.0.testing, REE 1.8.7.
23
+ MRI: {2.5, 2.6, 2.7, 3.0}, JRuby: ~> 9.2.x.x
16
24
 
17
25
  This library uses version #{Zookeeper::DRIVER_VERSION} of zookeeper bindings.
18
26
 
data/zoomonkey/duplicates CHANGED
File without changes
File without changes
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zookeeper
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.9
4
+ version: 1.5.1
5
5
  platform: java
6
6
  authors:
7
7
  - Phillip Pearson
@@ -10,64 +10,60 @@ authors:
10
10
  - Brian Wickman
11
11
  - Neil Conway
12
12
  - Jonathan D. Simms
13
- autorequire:
13
+ - Mal McKay
14
+ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
- date: 2014-08-25 00:00:00.000000000 Z
17
+ date: 2021-11-16 00:00:00.000000000 Z
17
18
  dependencies:
18
19
  - !ruby/object:Gem::Dependency
19
- name: slyphon-log4j
20
20
  requirement: !ruby/object:Gem::Requirement
21
21
  requirements:
22
22
  - - '='
23
23
  - !ruby/object:Gem::Version
24
24
  version: 1.2.15
25
- type: :runtime
25
+ name: slyphon-log4j
26
26
  prerelease: false
27
+ type: :runtime
27
28
  version_requirements: !ruby/object:Gem::Requirement
28
29
  requirements:
29
30
  - - '='
30
31
  - !ruby/object:Gem::Version
31
32
  version: 1.2.15
32
33
  - !ruby/object:Gem::Dependency
33
- name: slyphon-zookeeper_jar
34
34
  requirement: !ruby/object:Gem::Requirement
35
35
  requirements:
36
36
  - - '='
37
37
  - !ruby/object:Gem::Version
38
38
  version: 3.3.5
39
- type: :runtime
39
+ name: slyphon-zookeeper_jar
40
40
  prerelease: false
41
+ type: :runtime
41
42
  version_requirements: !ruby/object:Gem::Requirement
42
43
  requirements:
43
44
  - - '='
44
45
  - !ruby/object:Gem::Version
45
46
  version: 3.3.5
46
- description: ! 'A low-level multi-Ruby wrapper around the ZooKeeper API bindings.
47
- For a
48
-
47
+ description: |+
48
+ A low-level multi-Ruby wrapper around the ZooKeeper API bindings. For a
49
49
  friendlier interface, see http://github.com/slyphon/zk. Currently supported:
50
-
51
- MRI: {1.8.7, 1.9.2, 1.9.3}, JRuby: ~> 1.6.7, Rubinius: 2.0.testing, REE 1.8.7.
52
-
50
+ MRI: {2.5, 2.6, 2.7, 3.0}, JRuby: ~> 9.2.x.x
53
51
 
54
52
  This library uses version 3.4.5 of zookeeper bindings.
55
53
 
56
-
57
- '
58
54
  email:
59
55
  - slyphon@gmail.com
60
56
  executables: []
61
57
  extensions: []
62
58
  extra_rdoc_files: []
63
59
  files:
64
- - .ctags_paths
65
- - .dotfiles/ruby-gemset
66
- - .dotfiles/ruby-version
67
- - .dotfiles/rvmrc
68
- - .gitignore
69
- - .gitmodules
70
- - .travis.yml
60
+ - ".ctags_paths"
61
+ - ".dotfiles/ruby-gemset"
62
+ - ".dotfiles/ruby-version"
63
+ - ".dotfiles/rvmrc"
64
+ - ".github/workflows/build.yml"
65
+ - ".gitignore"
66
+ - ".gitmodules"
71
67
  - CHANGELOG
72
68
  - Gemfile
73
69
  - Guardfile
@@ -87,7 +83,11 @@ files:
87
83
  - ext/extconf.rb
88
84
  - ext/generate_gvl_code.rb
89
85
  - ext/patches/zkc-3.3.5-network.patch
86
+ - ext/patches/zkc-3.4.5-buffer-overflow.patch
87
+ - ext/patches/zkc-3.4.5-config.patch
88
+ - ext/patches/zkc-3.4.5-fetch-and-add.patch
90
89
  - ext/patches/zkc-3.4.5-logging.patch
90
+ - ext/patches/zkc-3.4.5-out-of-order-ping.patch
91
91
  - ext/patches/zkc-3.4.5-yosemite-htonl-fix.patch
92
92
  - ext/zkc-3.4.5.tar.gz
93
93
  - ext/zkrb.c
@@ -144,25 +144,25 @@ files:
144
144
  homepage: https://github.com/slyphon/zookeeper
145
145
  licenses: []
146
146
  metadata: {}
147
- post_install_message:
147
+ post_install_message:
148
148
  rdoc_options: []
149
149
  require_paths:
150
150
  - lib
151
151
  - java
152
152
  required_ruby_version: !ruby/object:Gem::Requirement
153
153
  requirements:
154
- - - ! '>='
154
+ - - ">="
155
155
  - !ruby/object:Gem::Version
156
156
  version: '0'
157
157
  required_rubygems_version: !ruby/object:Gem::Requirement
158
158
  requirements:
159
- - - ! '>='
159
+ - - ">="
160
160
  - !ruby/object:Gem::Version
161
161
  version: '0'
162
162
  requirements: []
163
- rubyforge_project:
164
- rubygems_version: 2.2.2
165
- signing_key:
163
+ rubyforge_project:
164
+ rubygems_version: 2.7.9
165
+ signing_key:
166
166
  specification_version: 4
167
167
  summary: Apache ZooKeeper driver for Rubies
168
168
  test_files:
data/.travis.yml DELETED
@@ -1,37 +0,0 @@
1
- ---
2
- notifications:
3
- email:
4
- - slyphon@gmail.com
5
- - eric@5stops.com
6
-
7
- # pull in releaseops submodule
8
- before_install:
9
- - git submodule update --init --recursive
10
-
11
- env:
12
- - SPAWN_ZOOKEEPER='true'
13
-
14
- language: ruby
15
-
16
- rvm:
17
- - 1.9.3
18
- - 1.9.2
19
- - 1.8.7
20
- - ree
21
- - jruby-18mode
22
- - jruby-19mode
23
- - rbx-18mode
24
- - rbx-19mode
25
- - 2.0.0
26
- matrix:
27
- allow_failures:
28
- - rvm: rbx-18mode
29
- - rvm: rbx-19mode
30
-
31
- bundler_args: --without development docs coverage
32
-
33
- # blacklist
34
- branches:
35
- except:
36
- # - 'dev/zookeeper-st'
37
-