[GitHub] [zookeeper] maoling commented on a change in pull request #823: ZOOKEEPER-2694:sync CLI command does not wait for result from server

2019-03-19 Thread GitBox
maoling commented on a change in pull request #823: ZOOKEEPER-2694:sync CLI 
command does not wait for result from server
URL: https://github.com/apache/zookeeper/pull/823#discussion_r267165855
 
 

 ##
 File path: 
zookeeper-server/src/main/java/org/apache/zookeeper/cli/SyncCommand.java
 ##
 @@ -55,14 +57,18 @@ public CliCommand parse(String[] cmdArgs) throws 
CliParseException {
 @Override
 public boolean exec() throws CliException {
 String path = args[1];
+CountDownLatch latch = new CountDownLatch(1);
 
 Review comment:
   @anmolnar  Great work. you are so sweet!  it's very elegant especially when 
we want to transfer the result value.
   Cc:Thanks @eolivelli  for mentioning this good option:`CompletableFuture` 
again.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [zookeeper] anmolnar commented on a change in pull request #823: ZOOKEEPER-2694:sync CLI command does not wait for result from server

2019-03-19 Thread GitBox
anmolnar commented on a change in pull request #823: ZOOKEEPER-2694:sync CLI 
command does not wait for result from server
URL: https://github.com/apache/zookeeper/pull/823#discussion_r267153406
 
 

 ##
 File path: 
zookeeper-server/src/main/java/org/apache/zookeeper/cli/SyncCommand.java
 ##
 @@ -55,14 +57,18 @@ public CliCommand parse(String[] cmdArgs) throws 
CliParseException {
 @Override
 public boolean exec() throws CliException {
 String path = args[1];
+CountDownLatch latch = new CountDownLatch(1);
 
 Review comment:
   How about this?
   
   ```java
   @Override
   public boolean exec() throws CliException {
   String path = args[1];
   CompletableFuture cf = new CompletableFuture<>();
   
   try {
   zk.sync(path, new AsyncCallback.VoidCallback() {
   public void processResult(int rc, String path, Object ctx) {
   cf.complete(rc);
   }
   }, null);
   
   try {
   int resultCode = cf.get(CONNECTION_TIMEOUT, 
TimeUnit.MILLISECONDS);
   out.println("Sync returned " + resultCode);
   } catch (TimeoutException ex) {
   out.println("Sync is timeout within " +  CONNECTION_TIMEOUT 
+ " ms");
   }
   } catch (IllegalArgumentException | InterruptedException | 
ExecutionException ex) {
   throw new MalformedPathException(ex.getMessage());
   }
   
   return false;
   }
   ```


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [zookeeper] anmolnar commented on issue #854: ZOOKEEPER-3143 Pluggable metrics system for ZooKeeper - Data Collection on Server

2019-03-19 Thread GitBox
anmolnar commented on issue #854: ZOOKEEPER-3143 Pluggable metrics system for 
ZooKeeper - Data Collection on Server
URL: https://github.com/apache/zookeeper/pull/854#issuecomment-474637051
 
 
   Not a big difference though if you don't want to use the extra features of 
`AtomicReference`.
   
https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/package-summary.html


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


Failed: ZOOKEEPER-1621 PreCommit Build #3738

2019-03-19 Thread Apache Jenkins Server
Jira: https://issues.apache.org/jira/browse/ZOOKEEPER-1621
Build: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/3738/

###
## LAST 60 LINES OF THE CONSOLE 
###
[...truncated 8.82 KB...]
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:894)
at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1161)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1192)
at hudson.scm.SCM.checkout(SCM.java:504)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1208)
at 
hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:574)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at 
hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
at hudson.model.Run.execute(Run.java:1810)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:429)
Caused by: hudson.plugins.git.GitException: Command "git fetch --tags 
--progress git://git.apache.org/zookeeper.git 
+refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout: 
stderr: fatal: remote error: access denied or repository not exported: 
/zookeeper.git

at 
org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2042)
at 
org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1761)
at 
org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$400(CliGitAPIImpl.java:72)
at 
org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:442)
at 
org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:153)
at 
org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:146)
at hudson.remoting.UserRequest.perform(UserRequest.java:212)
at hudson.remoting.UserRequest.perform(UserRequest.java:54)
at hudson.remoting.Request$2.run(Request.java:369)
at 
hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
Suppressed: hudson.remoting.Channel$CallSiteStackTrace: Remote call to 
H15
at 
hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1741)
at 
hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:357)
at hudson.remoting.Channel.call(Channel.java:955)
at 
org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.execute(RemoteGitImpl.java:146)
at sun.reflect.GeneratedMethodAccessor1199.invoke(Unknown 
Source)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at 
org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.invoke(RemoteGitImpl.java:132)
at com.sun.proxy.$Proxy116.execute(Unknown Source)
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:892)
at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1161)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1192)
at hudson.scm.SCM.checkout(SCM.java:504)
at 
hudson.model.AbstractProject.checkout(AbstractProject.java:1208)
at 
hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:574)
at 
jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at 
hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
at hudson.model.Run.execute(Run.java:1810)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at 
hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:429)
ERROR: Error fetching remote repo 'origin'
Archiving artifacts
Recording test results
ERROR: Step ?Publish JUnit test result report? failed: No test report files 
were found. Configuration error?
[description-setter] Could not determine description.
Email was triggered for: Failure - Any
Sending email for trigger: Failure - Any



###
## FAILED TESTS (if any) 

[GitHub] [zookeeper] anmolnar commented on issue #439: ZOOKEEPER-1621: Delete and skip txn log with incomplete header

2019-03-19 Thread GitBox
anmolnar commented on issue #439: ZOOKEEPER-1621: Delete and skip txn log with 
incomplete header
URL: https://github.com/apache/zookeeper/pull/439#issuecomment-474636132
 
 
   @abhishekrai please rebase this.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [zookeeper] anmolnar commented on issue #438: ZOOKEEPER-2959: ignore accepted epoch and LEADERINFO ack from observers

2019-03-19 Thread GitBox
anmolnar commented on issue #438: ZOOKEEPER-2959: ignore accepted epoch and 
LEADERINFO ack from observers
URL: https://github.com/apache/zookeeper/pull/438#issuecomment-474635872
 
 
   Already resolved by @lavacat . Thanks. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [zookeeper] anmolnar closed pull request #438: ZOOKEEPER-2959: ignore accepted epoch and LEADERINFO ack from observers

2019-03-19 Thread GitBox
anmolnar closed pull request #438: ZOOKEEPER-2959: ignore accepted epoch and 
LEADERINFO ack from observers
URL: https://github.com/apache/zookeeper/pull/438
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Updated] (ZOOKEEPER-2338) c bindings should create socket's with SOCK_CLOEXEC to avoid fd leaks on fork/exec

2019-03-19 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-2338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated ZOOKEEPER-2338:
--
Labels: pull-request-available  (was: )

> c bindings should create socket's with SOCK_CLOEXEC to avoid fd leaks on 
> fork/exec
> --
>
> Key: ZOOKEEPER-2338
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2338
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: c client
>Affects Versions: 3.5.3, 3.4.11, 3.6.0
>Reporter: James DeFelice
>Assignee: Radu Brumariu
>Priority: Major
>  Labels: pull-request-available
> Fix For: 3.5.4, 3.6.0
>
>
> I've observed socket FD leaks in Apache Mesos when using ZK to coordinate 
> master leadership: https://issues.apache.org/jira/browse/MESOS-4065



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] [zookeeper] anmolnar commented on issue #427: [ZOOKEEPER-2338] - set SOCK_CLOEXEC on socket if defined

2019-03-19 Thread GitBox
anmolnar commented on issue #427: [ZOOKEEPER-2338] - set SOCK_CLOEXEC on socket 
if defined
URL: https://github.com/apache/zookeeper/pull/427#issuecomment-474635544
 
 
   @fr0stbyte @phunt Do you still want this patch to be committed?
   3.5 gets stable soon, Jira has already been closed, I'd just skip adding 
this to 3.4, but the call is yours.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [zookeeper] anmolnar commented on issue #363: branch-3.4 -- bugfix -- ZOOKEEPER-2894

2019-03-19 Thread GitBox
anmolnar commented on issue #363: branch-3.4 -- bugfix -- ZOOKEEPER-2894
URL: https://github.com/apache/zookeeper/pull/363#issuecomment-474634875
 
 
   ping @xoiss 


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [zookeeper] anmolnar commented on issue #360: branch-3.4 -- bugfix -- ZOOKEEPER-2891

2019-03-19 Thread GitBox
anmolnar commented on issue #360: branch-3.4 -- bugfix -- ZOOKEEPER-2891
URL: https://github.com/apache/zookeeper/pull/360#issuecomment-474634769
 
 
   ping @xoiss 


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [zookeeper] anmolnar commented on issue #247: ZOOKEEPER-2778: Potential server deadlock between follower sync with leader and follower receiving external connection requests.

2019-03-19 Thread GitBox
anmolnar commented on issue #247: ZOOKEEPER-2778: Potential server deadlock 
between follower sync with leader and follower receiving external connection 
requests.
URL: https://github.com/apache/zookeeper/pull/247#issuecomment-474634011
 
 
   Resolved by #707 


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [zookeeper] anmolnar closed pull request #247: ZOOKEEPER-2778: Potential server deadlock between follower sync with leader and follower receiving external connection requests.

2019-03-19 Thread GitBox
anmolnar closed pull request #247: ZOOKEEPER-2778: Potential server deadlock 
between follower sync with leader and follower receiving external connection 
requests.
URL: https://github.com/apache/zookeeper/pull/247
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [zookeeper] enixon commented on issue #854: ZOOKEEPER-3143 Pluggable metrics system for ZooKeeper - Data Collection on Server

2019-03-19 Thread GitBox
enixon commented on issue #854: ZOOKEEPER-3143 Pluggable metrics system for 
ZooKeeper - Data Collection on Server
URL: https://github.com/apache/zookeeper/pull/854#issuecomment-474633770
 
 
   I like this version. My only comment is to second with @anmolnar 's question 
about AtomicReference.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Updated] (ZOOKEEPER-3326) Add session/connection related metrics

2019-03-19 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3326?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated ZOOKEEPER-3326:
--
Labels: pull-request-available  (was: )

> Add session/connection related metrics
> --
>
> Key: ZOOKEEPER-3326
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3326
> Project: ZooKeeper
>  Issue Type: Sub-task
>  Components: metric system
>Reporter: Jie Huang
>Priority: Minor
>  Labels: pull-request-available
> Fix For: 3.6.0
>
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] [zookeeper] jhuan31 opened a new pull request #861: ZOOKEEPER-3326: Add session/connection related metrics

2019-03-19 Thread GitBox
jhuan31 opened a new pull request #861: ZOOKEEPER-3326: Add session/connection 
related metrics
URL: https://github.com/apache/zookeeper/pull/861
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [zookeeper] anmolnar commented on issue #854: ZOOKEEPER-3143 Pluggable metrics system for ZooKeeper - Data Collection on Server

2019-03-19 Thread GitBox
anmolnar commented on issue #854: ZOOKEEPER-3143 Pluggable metrics system for 
ZooKeeper - Data Collection on Server
URL: https://github.com/apache/zookeeper/pull/854#issuecomment-474594384
 
 
   @eolivelli I got you, I've just found the `enum` more readable (no need for 
`getMetrics()` call). In my understanding we have another level of abstraction 
now which cannot be easily achieved by the `enum`. I'll leave this to more 
experienced Java developers to decide, but it seems that `enum` is not an 
option anymore.
   
   Q: why do you use volatile for `ServerMetrics` reference instead of 
`AtomicReference`?
   



This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Commented] (ZOOKEEPER-3320) Leader election port stop listen when hostname unresolvable for some time

2019-03-19 Thread Brian Nixon (JIRA)


[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3320?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16796341#comment-16796341
 ] 

Brian Nixon commented on ZOOKEEPER-3320:


This is an interesting error case!

I would expect an issue in QuorumCnxManager to bring the peer down if it cannot 
create the socket but it seems this only occurs with a BindException and not a 
generic SocketException. At the least, I think we ought to fix that.

Looking at this from the opposite direction, can you add the desired delay in 
the startup sequence of your Kubernetes container? My concern is that the 
pattern of "DNS is currently unreliable but will be reliable soon" seems 
specific to the container management and may result in strange behavior when 
applied to other environments.

> Leader election port stop listen when hostname unresolvable for some time 
> --
>
> Key: ZOOKEEPER-3320
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3320
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: leaderElection
>Affects Versions: 3.4.10, 3.5.4
>Reporter: Igor Skokov
>Priority: Major
>
> When trying to run Zookeeper 3.5.4 cluster on Kubernetes, I found out that in 
> some circumstances Zookeeper node stop listening on leader election port. 
> This cause unavailability of ZK cluster. 
> Zookeeper deployed  as StatefulSet in term of Kubernetes and has following 
> dynamic configuration:
> {code:java}
> zookeeper-0.zookeeper:2182:2183:participant;2181
> zookeeper-1.zookeeper:2182:2183:participant;2181
> zookeeper-2.zookeeper:2182:2183:participant;2181
> {code}
> Bind address contains DNS name which generated by Kubernetes for each 
> StatefulSet pod.
> These DNS names will become resolvable after container start, but with some 
> delay. That delay cause stopping of leader election port listener in 
> QuorumCnxManager.Listener class.
> Error happens in QuorumCnxManager.Listener "run" method, it tries to bind 
> leader election port to hostname which not resolvable at this moment. Retry 
> count is hard-coded and equals to 3(with backoff of 1 sec). 
> Zookeeper server log contains following errors:
> {code:java}
> 2019-03-17 07:56:04,844 [myid:1] - WARN  
> [QuorumPeer[myid=1](plain=/0.0.0.0:2181)(secure=disabled):QuorumPeer@1230] - 
> Unexpected exception
> java.net.SocketException: Unresolved address
>   at java.base/java.net.ServerSocket.bind(ServerSocket.java:374)
>   at java.base/java.net.ServerSocket.bind(ServerSocket.java:335)
>   at org.apache.zookeeper.server.quorum.Leader.(Leader.java:241)
>   at 
> org.apache.zookeeper.server.quorum.QuorumPeer.makeLeader(QuorumPeer.java:1023)
>   at 
> org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:1226)
> 2019-03-17 07:56:04,844 [myid:1] - WARN  
> [QuorumPeer[myid=1](plain=/0.0.0.0:2181)(secure=disabled):QuorumPeer@1261] - 
> PeerState set to LOOKING
> 2019-03-17 07:56:04,845 [myid:1] - INFO  
> [QuorumPeer[myid=1](plain=/0.0.0.0:2181)(secure=disabled):QuorumPeer@1136] - 
> LOOKING
> 2019-03-17 07:56:04,845 [myid:1] - INFO  
> [QuorumPeer[myid=1](plain=/0.0.0.0:2181)(secure=disabled):FastLeaderElection@893]
>  - New election. My id =  1, proposed zxid=0x0
> 2019-03-17 07:56:04,846 [myid:1] - INFO  
> [WorkerReceiver[myid=1]:FastLeaderElection@687] - Notification: 2 (message 
> format version), 1 (n.leader), 0x0 (n.zxid), 0xf (n.round), LOOKING 
> (n.state), 1 (n.sid), 0x0 (n.peerEPoch), LOOKING (my state)0 (n.config 
> version)
> 2019-03-17 07:56:04,979 [myid:1] - INFO  
> [zookeeper-0.zookeeper:2183:QuorumCnxManager$Listener@892] - Leaving listener
> 2019-03-17 07:56:04,979 [myid:1] - ERROR 
> [zookeeper-0.zookeeper:2183:QuorumCnxManager$Listener@894] - As I'm leaving 
> the listener thread, I won't be able to participate in leader election any 
> longer: zookeeper-0.zookeeper:2183
> {code}
> This error happens on most nodes on cluster start and Zookeeper is unable to 
> form quorum. This will leave cluster in unusable state.
> As I can see, error present on branches 3.4 and 3.5. 
> I think, this error can be fixed by configurable number of retries(instead of 
> hard-coded value of 3). 
> Other way to fix this is removing of max retries at all. Currently, ZK server 
> only stop leader election listener and continue to serve on other ports. 
> Maybe, if leader election halts, we should abort process.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (ZOOKEEPER-3325) Add unavailable time metrics for quorum peers

2019-03-19 Thread Jie Huang (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3325?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jie Huang resolved ZOOKEEPER-3325.
--
Resolution: Later

These two metrics require ZabState. should be upstreamed together with ZabState.

> Add unavailable time metrics for quorum peers
> -
>
> Key: ZOOKEEPER-3325
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3325
> Project: ZooKeeper
>  Issue Type: Sub-task
>  Components: metric system
>Reporter: Jie Huang
>Priority: Minor
> Fix For: 3.6.0
>
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] [zookeeper] jhuan31 commented on a change in pull request #859: ZOOKEEPER-3323: Add TxnSnapLog metrics

2019-03-19 Thread GitBox
jhuan31 commented on a change in pull request #859: ZOOKEEPER-3323: Add 
TxnSnapLog metrics
URL: https://github.com/apache/zookeeper/pull/859#discussion_r266963336
 
 

 ##
 File path: 
zookeeper-server/src/test/java/org/apache/zookeeper/server/persistence/FileTxnSnapLogMetricsTest.java
 ##
 @@ -0,0 +1,52 @@
+package org.apache.zookeeper.server.persistence;
+
+import org.apache.zookeeper.*;
+import org.apache.zookeeper.server.ServerMetrics;
+import org.apache.zookeeper.server.SyncRequestProcessor;
+import org.apache.zookeeper.test.ClientBase;
+import org.apache.zookeeper.test.QuorumUtil;
+import org.junit.Assert;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Map;
+
+import static org.hamcrest.number.OrderingComparison.greaterThan;
+import static org.hamcrest.number.OrderingComparison.greaterThanOrEqualTo;
+
+public class FileTxnSnapLogMetricsTest extends ZKTestCase {
+
+@Test
+public void testFileTxnSnapLogMetrics() throws Exception {
+SyncRequestProcessor.setSnapCount(100);
+
+QuorumUtil util = new QuorumUtil(1);
+util.startAll();
+
+byte[] data = new byte[500];
+// make sure a snapshot is taken and some txns are not in a snapshot
+ZooKeeper zk = ClientBase.createZKClient(util.getConnString());
+for (int i=0; i<150; i++){
+zk.create("/path" + i, data, ZooDefs.Ids.OPEN_ACL_UNSAFE, 
CreateMode.PERSISTENT);
+}
+
+Thread.sleep(500);
 
 Review comment:
   fixed


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Resolved] (ZOOKEEPER-723) ephemeral parent znodes

2019-03-19 Thread Norbert Kalmar (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-723?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Norbert Kalmar resolved ZOOKEEPER-723.
--
Resolution: Duplicate

> ephemeral parent znodes
> ---
>
> Key: ZOOKEEPER-723
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-723
> Project: ZooKeeper
>  Issue Type: New Feature
>  Components: server
>Reporter: Benjamin Reed
>Assignee: Daniel Gómez Ferro
>Priority: Major
>  Labels: container_znode_type
> Attachments: ZOOKEEPER-723.patch, ZOOKEEPER-723.patch
>
>
> ephemeral znodes have the nice property of automatically cleaning up after 
> themselves when the creator goes away, but since they can't have children it 
> is hard to build subtrees that will cleanup after the clients that are using 
> them are gone.
> rather than changing the semantics of ephemeral nodes, i propose ephemeral 
> parents: znodes that disappear when they have no more children. this cleanup 
> would happen automatically when the last child is removed. an ephemeral 
> parent is not tied to any particular session, so even if the creator goes 
> away, the ephemeral parent will remain as long as there are children.
> the when an ephemeral parent is created it will have an initial child, so 
> that it doesn't get immediately removed. i think this child should be an 
> ephemeral znode with a predefined name, "firstChild".



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ZOOKEEPER-723) ephemeral parent znodes

2019-03-19 Thread Norbert Kalmar (JIRA)


[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-723?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16796073#comment-16796073
 ] 

Norbert Kalmar commented on ZOOKEEPER-723:
--

This functionality is implemented by Container nodes: ZOOKEEPER-2163 (version 
3.5.1+)
I'm closing this issue.

> ephemeral parent znodes
> ---
>
> Key: ZOOKEEPER-723
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-723
> Project: ZooKeeper
>  Issue Type: New Feature
>  Components: server
>Reporter: Benjamin Reed
>Assignee: Daniel Gómez Ferro
>Priority: Major
>  Labels: container_znode_type
> Attachments: ZOOKEEPER-723.patch, ZOOKEEPER-723.patch
>
>
> ephemeral znodes have the nice property of automatically cleaning up after 
> themselves when the creator goes away, but since they can't have children it 
> is hard to build subtrees that will cleanup after the clients that are using 
> them are gone.
> rather than changing the semantics of ephemeral nodes, i propose ephemeral 
> parents: znodes that disappear when they have no more children. this cleanup 
> would happen automatically when the last child is removed. an ephemeral 
> parent is not tied to any particular session, so even if the creator goes 
> away, the ephemeral parent will remain as long as there are children.
> the when an ephemeral parent is created it will have an initial child, so 
> that it doesn't get immediately removed. i think this child should be an 
> ephemeral znode with a predefined name, "firstChild".



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] [zookeeper] Randgalt commented on a change in pull request #832: ZOOKEEPER-2503:do a hard constraints on the number of myid which must be between 1 and 255

2019-03-19 Thread GitBox
Randgalt commented on a change in pull request #832: ZOOKEEPER-2503:do a hard 
constraints on the number of myid which must be between 1 and 255
URL: https://github.com/apache/zookeeper/pull/832#discussion_r266876255
 
 

 ##
 File path: 
zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java
 ##
 @@ -721,6 +721,10 @@ private void setupMyId() throws IOException {
 throw new IllegalArgumentException("serverid " + myIdString
 + " is not a number");
 }
+//myid must be in [0, 255]
+if (serverId < 0 || serverId > 255) {
 
 Review comment:
   cc @maoling 
   
   Yes - this is that whole can of worms fixed in ZOOKEEPER-2901. The max 
ServerId is determined by whether or not TTL nodes are enabled via 
`zookeeper.extendedTypesEnabled` - the docs now stipulate: `IMPORTANT: if you 
enable extended features such as TTL Nodes ... the id must be between 1 and 254 
due to internal limitations.`


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [zookeeper] Randgalt commented on a change in pull request #832: ZOOKEEPER-2503:do a hard constraints on the number of myid which must be between 1 and 255

2019-03-19 Thread GitBox
Randgalt commented on a change in pull request #832: ZOOKEEPER-2503:do a hard 
constraints on the number of myid which must be between 1 and 255
URL: https://github.com/apache/zookeeper/pull/832#discussion_r266876255
 
 

 ##
 File path: 
zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumPeerConfig.java
 ##
 @@ -721,6 +721,10 @@ private void setupMyId() throws IOException {
 throw new IllegalArgumentException("serverid " + myIdString
 + " is not a number");
 }
+//myid must be in [0, 255]
+if (serverId < 0 || serverId > 255) {
 
 Review comment:
   Yes - this is that whole can of worms fixed in ZOOKEEPER-2901. The max 
ServerId is determined by whether or not TTL nodes are enabled via 
`zookeeper.extendedTypesEnabled` - the docs now stipulate: `IMPORTANT: if you 
enable extended features such as TTL Nodes ... the id must be between 1 and 254 
due to internal limitations.`


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Updated] (ZOOKEEPER-2750) Document SSL Support for Atomic Broadcast protocol

2019-03-19 Thread Norbert Kalmar (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-2750?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Norbert Kalmar updated ZOOKEEPER-2750:
--
Labels: pull-request-available ssl-tls  (was: pull-request-available)

> Document SSL Support for Atomic Broadcast protocol
> --
>
> Key: ZOOKEEPER-2750
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2750
> Project: ZooKeeper
>  Issue Type: Bug
>Reporter: Abraham Fine
>Assignee: Andor Molnar
>Priority: Major
>  Labels: pull-request-available, ssl-tls
> Fix For: 3.6.0, 3.5.5
>
> Attachments: ZooKeeperSSLUserGuide.pdf
>
>  Time Spent: 3.5h
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Assigned] (ZOOKEEPER-3053) add remove watches capabilities to the c cli

2019-03-19 Thread Tamas Penzes (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3053?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tamas Penzes reassigned ZOOKEEPER-3053:
---

Assignee: Balazs Meszaros

> add remove watches capabilities to the c cli
> 
>
> Key: ZOOKEEPER-3053
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3053
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: c client, tests
>Affects Versions: 3.6.0, 3.5.5
>Reporter: Patrick Hunt
>Assignee: Balazs Meszaros
>Priority: Major
>  Labels: newbie, remove_watches
>
> It would be good to be able to exercise the remove watches functionality from 
> the c client cli. Mostly for testing purposes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


Failed: ZOOKEEPER-2192 PreCommit Build #3737

2019-03-19 Thread Apache Jenkins Server
Jira: https://issues.apache.org/jira/browse/ZOOKEEPER-2192
Build: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/3737/

###
## LAST 60 LINES OF THE CONSOLE 
###
[...truncated 8.82 KB...]
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:894)
at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1161)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1192)
at hudson.scm.SCM.checkout(SCM.java:504)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1208)
at 
hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:574)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at 
hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
at hudson.model.Run.execute(Run.java:1810)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:429)
Caused by: hudson.plugins.git.GitException: Command "git fetch --tags 
--progress git://git.apache.org/zookeeper.git 
+refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout: 
stderr: fatal: remote error: access denied or repository not exported: 
/zookeeper.git

at 
org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2042)
at 
org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1761)
at 
org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$400(CliGitAPIImpl.java:72)
at 
org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:442)
at 
org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:153)
at 
org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:146)
at hudson.remoting.UserRequest.perform(UserRequest.java:212)
at hudson.remoting.UserRequest.perform(UserRequest.java:54)
at hudson.remoting.Request$2.run(Request.java:369)
at 
hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
Suppressed: hudson.remoting.Channel$CallSiteStackTrace: Remote call to 
H15
at 
hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1741)
at 
hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:357)
at hudson.remoting.Channel.call(Channel.java:955)
at 
org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.execute(RemoteGitImpl.java:146)
at sun.reflect.GeneratedMethodAccessor1199.invoke(Unknown 
Source)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at 
org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.invoke(RemoteGitImpl.java:132)
at com.sun.proxy.$Proxy116.execute(Unknown Source)
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:892)
at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1161)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1192)
at hudson.scm.SCM.checkout(SCM.java:504)
at 
hudson.model.AbstractProject.checkout(AbstractProject.java:1208)
at 
hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:574)
at 
jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at 
hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
at hudson.model.Run.execute(Run.java:1810)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at 
hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:429)
ERROR: Error fetching remote repo 'origin'
Archiving artifacts
Recording test results
ERROR: Step ?Publish JUnit test result report? failed: No test report files 
were found. Configuration error?
[description-setter] Could not determine description.
Email was triggered for: Failure - Any
Sending email for trigger: Failure - Any



###
## FAILED TESTS (if any) 

[jira] [Updated] (ZOOKEEPER-3229) [TLS] add AES-256 ciphers to default cipher list

2019-03-19 Thread Norbert Kalmar (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3229?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Norbert Kalmar updated ZOOKEEPER-3229:
--
Labels: pull-request-available ssl-tls  (was: pull-request-available)

> [TLS] add AES-256 ciphers to default cipher list
> 
>
> Key: ZOOKEEPER-3229
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3229
> Project: ZooKeeper
>  Issue Type: Improvement
>Affects Versions: 3.6.0, 3.5.5
>Reporter: Ilya Maykov
>Assignee: Ilya Maykov
>Priority: Minor
>  Labels: pull-request-available, ssl-tls
> Fix For: 3.6.0, 3.5.5
>
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> Let's add AES-256 ciphers to the default cipher suite list, so clients that 
> prefer using 256-bit symmetric keys can connect by default.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (ZOOKEEPER-3194) Quorum TLS - fix copy/paste bug in ZKTrustManager

2019-03-19 Thread Norbert Kalmar (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3194?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Norbert Kalmar updated ZOOKEEPER-3194:
--
Labels: pull-request-available ssl-tls  (was: pull-request-available)

> Quorum TLS - fix copy/paste bug in ZKTrustManager
> -
>
> Key: ZOOKEEPER-3194
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3194
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: security
>Affects Versions: 3.6.0, 3.5.5
>Reporter: Ilya Maykov
>Assignee: Ilya Maykov
>Priority: Minor
>  Labels: pull-request-available, ssl-tls
> Fix For: 3.6.0, 3.5.5
>
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> There is an obvious copy/paste bug in ZKTrustManager: 
> ZKTrustManager.checkClientTrusted() is calling 
> x509ExtendedTrustManager.checkServerTrusted(). It should call 
> x509ExtendedTrustManager.checkClientTrusted() instead.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (ZOOKEEPER-236) SSL Support for Atomic Broadcast protocol

2019-03-19 Thread Norbert Kalmar (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-236?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Norbert Kalmar updated ZOOKEEPER-236:
-
Labels: pull-request-available ssl ssl-tls  (was: pull-request-available 
ssl)

> SSL Support for Atomic Broadcast protocol
> -
>
> Key: ZOOKEEPER-236
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-236
> Project: ZooKeeper
>  Issue Type: New Feature
>  Components: quorum, security, server
>Reporter: Benjamin Reed
>Assignee: Andor Molnar
>Priority: Major
>  Labels: pull-request-available, ssl, ssl-tls
> Fix For: 3.6.0, 3.5.5
>
>  Time Spent: 27h 50m
>  Remaining Estimate: 0h
>
> We should have the ability to use SSL to authenticate and encrypt the traffic 
> between ZooKeeper servers. For the most part this is a very easy change. We 
> would probably only want to support this for TCP based leader elections.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (ZOOKEEPER-2125) SSL on Netty client-server communication

2019-03-19 Thread Norbert Kalmar (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-2125?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Norbert Kalmar updated ZOOKEEPER-2125:
--
Labels: ssl-tls  (was: )

> SSL on Netty client-server communication
> 
>
> Key: ZOOKEEPER-2125
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2125
> Project: ZooKeeper
>  Issue Type: Sub-task
>Reporter: Hongchao Deng
>Assignee: Hongchao Deng
>Priority: Major
>  Labels: ssl-tls
> Fix For: 3.5.1, 3.6.0
>
> Attachments: ZOOKEEPER-2125-build.patch, ZOOKEEPER-2125.patch, 
> ZOOKEEPER-2125.patch, ZOOKEEPER-2125.patch, ZOOKEEPER-2125.patch, 
> ZOOKEEPER-2125.patch, ZOOKEEPER-2125.patch, ZOOKEEPER-2125.patch, 
> ZOOKEEPER-2125.patch, ZOOKEEPER-2125.patch, ZOOKEEPER-2125.patch, 
> ZOOKEEPER-2125.patch, ZOOKEEPER-2125.patch, ZOOKEEPER-2125.patch, 
> ZOOKEEPER-2125.patch, ZOOKEEPER-2125.patch, ZOOKEEPER-2125.patch, 
> ZOOKEEPER-2125.patch, ZOOKEEPER-2125.patch, testKeyStore.jks, 
> testTrustStore.jks
>
>
> Supporting SSL on Netty client-server communication. 
> 1. It supports keystore and trustore usage. 
> 2. It adds an additional ZK server port which supports SSL. This would be 
> useful for rolling upgrade.
> RB: https://reviews.apache.org/r/31277/
> The patch includes three files: 
> * testing purpose keystore and truststore under 
> "$(ZK_REPO_HOME)/src/java/test/data/ssl". Might need to create "ssl/".
> * latest ZOOKEEPER-2125.patch
> h2. How to use it
> You need to set some parameters on both ZK server and client.
> h3. Server
> You need to specify a listening SSL port in "zoo.cfg":
> {code}
> secureClientPort=2281
> {code}
> Just like what you did with "clientPort". And then set some jvm flags:
> {code}
> export 
> SERVER_JVMFLAGS="-Dzookeeper.serverCnxnFactory=org.apache.zookeeper.server.NettyServerCnxnFactory
>  -Dzookeeper.ssl.keyStore.location=/root/zookeeper/ssl/testKeyStore.jks 
> -Dzookeeper.ssl.keyStore.password=testpass 
> -Dzookeeper.ssl.trustStore.location=/root/zookeeper/ssl/testTrustStore.jks 
> -Dzookeeper.ssl.trustStore.password=testpass"
> {code}
> Please change keystore and truststore parameters accordingly.
> h3. Client
> You need to set jvm flags:
> {code}
> export 
> CLIENT_JVMFLAGS="-Dzookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty
>  -Dzookeeper.client.secure=true 
> -Dzookeeper.ssl.keyStore.location=/root/zookeeper/ssl/testKeyStore.jks 
> -Dzookeeper.ssl.keyStore.password=testpass 
> -Dzookeeper.ssl.trustStore.location=/root/zookeeper/ssl/testTrustStore.jks 
> -Dzookeeper.ssl.trustStore.password=testpass"
> {code}
> change keystore and truststore parameters accordingly.
> And then connect to the server's SSL port, in this case:
> {code}
> bin/zkCli.sh -server 127.0.0.1:2281
> {code}
> If you have any feedback, you are more than welcome to discuss it here!



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (ZOOKEEPER-3176) Quorum TLS - add SSL config options

2019-03-19 Thread Norbert Kalmar (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3176?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Norbert Kalmar updated ZOOKEEPER-3176:
--
Labels: pull-request-available ssl-tls  (was: pull-request-available)

> Quorum TLS - add SSL config options
> ---
>
> Key: ZOOKEEPER-3176
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3176
> Project: ZooKeeper
>  Issue Type: Improvement
>Affects Versions: 3.6.0, 3.5.5
>Reporter: Ilya Maykov
>Priority: Major
>  Labels: pull-request-available, ssl-tls
> Fix For: 3.6.0, 3.5.5
>
>  Time Spent: 5h
>  Remaining Estimate: 0h
>
> Some parameters of Quorum TLS connections are not currently configurable. 
> Let's add configuration properties for them with reasonable defaults. In 
> particular, these are:
>  * enabled protocols
>  * client auth behavior (want / need / none)
>  * a timeout for TLS handshake detection in a UnifiedServerSocket



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (ZOOKEEPER-3195) TLS - disable client-initiated renegotiation

2019-03-19 Thread Norbert Kalmar (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3195?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Norbert Kalmar updated ZOOKEEPER-3195:
--
Labels: pull-request-available ssl-tls  (was: pull-request-available)

> TLS - disable client-initiated renegotiation
> 
>
> Key: ZOOKEEPER-3195
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3195
> Project: ZooKeeper
>  Issue Type: Improvement
>Affects Versions: 3.6.0, 3.5.5
>Reporter: Ilya Maykov
>Assignee: Ilya Maykov
>Priority: Major
>  Labels: pull-request-available, ssl-tls
> Fix For: 3.6.0, 3.5.5
>
>  Time Spent: 3h 10m
>  Remaining Estimate: 0h
>
> Client-initiated TLS renegotiation is not secure and exposes the connection 
> to MITM attacks. Unfortunately, Java's TLS implementation allows it by 
> default. Thankfully, it is easy to disable.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (ZOOKEEPER-1736) Zookeeper SASL authentication allows anonymus users to log in

2019-03-19 Thread Norbert Kalmar (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1736?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Norbert Kalmar updated ZOOKEEPER-1736:
--
Labels: ssl-tls  (was: )

> Zookeeper SASL authentication allows anonymus users to log in
> -
>
> Key: ZOOKEEPER-1736
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1736
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
> Environment: Development
>Reporter: AntonioS
>Priority: Major
>  Labels: ssl-tls
>
> Hello.
> I have configured Zookeeper to provide SASL authentication, using ordinary 
> username and password stored in the JAAS.conf as a DigestLoginModule
> I have created a simple jaas.conf file:
> Server {
> org.apache.zookeeper.server.auth.DigestLoginModule required
> user_admin="admin";
> };
> Client {
> org.apache.zookeeper.server.auth.DigestLoginModule required
> username="admin"
> password="admin";
> };
> I have the zoo.cfg correctly configured for security, adding the following:
> requireClientAuthScheme=sasl
> authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
> jaasLoginRenew=360
> zookeeper.allowSaslFailedClients=false
> And I also have the java.env file:
> export 
> JVMFLAGS="-Djava.security.auth.login.config=/etc/zookeeper/conf/jaas.conf 
> -Dzookeeper.allowSaslFailedClients=false"
> Everything looks good. If I put the right username and password I 
> authenticate, otherwise not and I get an exception.
> The problem is when I don’t put any username and password at all, zookeeper 
> allows me to go through.
> I tried different things but nothing stops anonymous users to log in.
> I was looking at the source code,  in particular the  ZookeeperServer.java, 
> this method:
> public void processPacket(ServerCnxn cnxn, ByteBuffer incomingBuffer) 
> throws IOException {
> The section below:
> } else {
> if (h.getType() == OpCode.sasl) {
> Record rsp = processSasl(incomingBuffer,cnxn);
> ReplyHeader rh = new ReplyHeader(h.getXid(), 0, 
> KeeperException.Code.OK.intValue());
> cnxn.sendResponse(rh,rsp, "response"); // not sure about 3rd 
> arg..what is it?
> }
> else {
> Request si = new Request(cnxn, cnxn.getSessionId(), 
> h.getXid(),
>   h.getType(), incomingBuffer, cnxn.getAuthInfo());
> si.setOwner(ServerCnxn.me);
> submitRequest(si);
> }
> }
> The else flow  appears to just forward any anonymous request  to the handler, 
> without attempting any authentication.
> Is this a bug? Is there any way to stop anonymous users connecting to 
> Zookeeper?
> Thanks
> Antonio



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (ZOOKEEPER-3172) Quorum TLS - fix port unification to allow rolling upgrades

2019-03-19 Thread Norbert Kalmar (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3172?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Norbert Kalmar updated ZOOKEEPER-3172:
--
Labels: pull-request-available ssl-tls  (was: pull-request-available)

> Quorum TLS - fix port unification to allow rolling upgrades
> ---
>
> Key: ZOOKEEPER-3172
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3172
> Project: ZooKeeper
>  Issue Type: Improvement
>  Components: security, server
>Affects Versions: 3.6.0, 3.5.5
>Reporter: Ilya Maykov
>Assignee: Ilya Maykov
>Priority: Major
>  Labels: pull-request-available, ssl-tls
> Fix For: 3.6.0, 3.5.5
>
>  Time Spent: 10.5h
>  Remaining Estimate: 0h
>
> ZOOKEEPER-236 was committed with port unification support disabled, because 
> of various issues with the implementation. These issues should be fixed so 
> port unification can be enabled again. Port unification is necessary to 
> upgrade an ensemble from plaintext to TLS quorum connections without downtime.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (ZOOKEEPER-3174) Quorum TLS - support reloading trust/key store

2019-03-19 Thread Norbert Kalmar (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3174?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Norbert Kalmar updated ZOOKEEPER-3174:
--
Labels: pull-request-available ssl-tls  (was: pull-request-available)

> Quorum TLS - support reloading trust/key store
> --
>
> Key: ZOOKEEPER-3174
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3174
> Project: ZooKeeper
>  Issue Type: Improvement
>Affects Versions: 3.6.0, 3.5.5
>Reporter: Ilya Maykov
>Assignee: Ilya Maykov
>Priority: Major
>  Labels: pull-request-available, ssl-tls
> Fix For: 3.6.0, 3.5.5
>
>  Time Spent: 12h 40m
>  Remaining Estimate: 0h
>
> The Quorum TLS feature recently added in ZOOKEEPER-236 doesn't support 
> reloading a trust/key store from disk when it changes. In an environment 
> where short-lived certificates are used and are refreshed by some background 
> daemon / cron job, this is a problem. Let's support reloading a trust/key 
> store from disk when the file on disk changes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (ZOOKEEPER-3228) [TLS] Fix key usage extension in test certs

2019-03-19 Thread Norbert Kalmar (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3228?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Norbert Kalmar updated ZOOKEEPER-3228:
--
Labels: ssl-tls  (was: )

> [TLS] Fix key usage extension in test certs
> ---
>
> Key: ZOOKEEPER-3228
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3228
> Project: ZooKeeper
>  Issue Type: Improvement
>Affects Versions: 3.6.0, 3.5.5
>Reporter: Ilya Maykov
>Assignee: Ilya Maykov
>Priority: Minor
>  Labels: ssl-tls
> Fix For: 3.6.0, 3.5.5
>
>
> Key usage extension is wrong in test certs created by X509TestHelpers. This 
> works with Java SSL stack because it allows sloppy certs, but breaks with 
> Netty's OpenSSL stack. My Netty OpenSSL code is not ready for upstream yet, 
> but fixing the test cert extensions is a prerequisite and can go in 
> separately.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (ZOOKEEPER-3173) Quorum TLS - support PEM trust/key stores

2019-03-19 Thread Norbert Kalmar (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3173?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Norbert Kalmar updated ZOOKEEPER-3173:
--
Labels: pull-request-available ssl-tls  (was: pull-request-available)

> Quorum TLS - support PEM trust/key stores
> -
>
> Key: ZOOKEEPER-3173
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3173
> Project: ZooKeeper
>  Issue Type: Improvement
>Affects Versions: 3.6.0, 3.5.5
>Reporter: Ilya Maykov
>Assignee: Ilya Maykov
>Priority: Major
>  Labels: pull-request-available, ssl-tls
> Fix For: 3.6.0, 3.5.5
>
>  Time Spent: 14h 40m
>  Remaining Estimate: 0h
>
> ZOOKEEPER-236 is landed so there is some TLS support in Zookeeper now, but 
> only JKS trust stores are supported. JKS is not really used by non-Java 
> software, where PKCS12 and PEM are more standard. Let's add support for PEM 
> trust / key stores to make Quorum TLS easier to use.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (ZOOKEEPER-3175) Quorum TLS - test improvements

2019-03-19 Thread Norbert Kalmar (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3175?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Norbert Kalmar updated ZOOKEEPER-3175:
--
Labels: ssl-tls  (was: )

> Quorum TLS - test improvements
> --
>
> Key: ZOOKEEPER-3175
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3175
> Project: ZooKeeper
>  Issue Type: Improvement
>Affects Versions: 3.6.0, 3.5.5
>Reporter: Ilya Maykov
>Assignee: Ilya Maykov
>Priority: Major
>  Labels: ssl-tls
> Fix For: 3.6.0, 3.5.5
>
>
> To simplify testing of Quorum TLS features, let's encapsulate the 
> functionality of creating test trust/key stores in some helper classes so it 
> can be easily shared between different unit tests.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (ZOOKEEPER-2122) Impplement SSL support in the Zookeeper C client library

2019-03-19 Thread Norbert Kalmar (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-2122?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Norbert Kalmar updated ZOOKEEPER-2122:
--
Labels: build pull-request-available security ssl-tls  (was: build 
pull-request-available security)

> Impplement SSL support in the Zookeeper C client library
> 
>
> Key: ZOOKEEPER-2122
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2122
> Project: ZooKeeper
>  Issue Type: Sub-task
>  Components: c client
>Affects Versions: 3.5.0
>Reporter: Ashish Amarnath
>Assignee: shuoshi
>Priority: Trivial
>  Labels: build, pull-request-available, security, ssl-tls
> Fix For: 3.6.0, 3.5.5
>
>  Time Spent: 8h
>  Remaining Estimate: 0h
>
> Implement SSL support in the Zookeeper C client library to work with the 
> secure server.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (ZOOKEEPER-834) Allow ephemeral znodes to have children created only by the owner session.

2019-03-19 Thread Tamas Penzes (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-834?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tamas Penzes updated ZOOKEEPER-834:
---
Labels: container_znode_type  (was: )

> Allow ephemeral znodes to have children created only by the owner session. 
> ---
>
> Key: ZOOKEEPER-834
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-834
> Project: ZooKeeper
>  Issue Type: New Feature
>  Components: c client, java client, server
>Reporter: Andrei Savu
>Assignee: Rakesh R
>Priority: Major
>  Labels: container_znode_type
> Fix For: 3.6.0
>
> Attachments: ZOOKEEPER-834.1.patch, ZOOKEEPER-834.2.patch, 
> ZOOKEEPER-834.patch, ZOOKEEPER-834.patch
>
>
> Ephemeral znodes are automatically removed when the client session is closed 
> or expires and this behavior makes them very useful when you want to publish 
> status information from active / connected clients. 
> But there is a catch. Right now ephemerals can't have children znodes and 
> because of that clients need to serialize status information as byte strings. 
> This serialization renders that information almost invisible to generic 
> zookeeper clients and hard / inefficient to update. 
> Most of the time the status information can be expressed as a bunch of (key, 
> value) pairs and we could easily store that using child znodes. Any ZooKeeper 
> client can read that info without the need to reverse the serialization 
> process and we can also easily update it. 
> I suggest that the server should allow the ephemeral znodes to have children 
> znodes. Each child should also be an ephemeral znode owned by the same 
> session - parent ephemeralOwner session.
> Mail Archive: 
> http://www.mail-archive.com/zookeeper-dev@hadoop.apache.org/msg09819.html
> Another discussion about the same topic:
> http://www.mail-archive.com/zookeeper-dev@hadoop.apache.org/msg08165.html



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (ZOOKEEPER-2591) The deletion of Container znode doesn't check ACL delete permission

2019-03-19 Thread Tamas Penzes (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-2591?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tamas Penzes updated ZOOKEEPER-2591:

Labels: container_znode_type  (was: )

> The deletion of Container znode doesn't check ACL delete permission
> ---
>
> Key: ZOOKEEPER-2591
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2591
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: security, server
>Reporter: Edward Ribeiro
>Assignee: Edward Ribeiro
>Priority: Major
>  Labels: container_znode_type
>
> Container nodes check the ACL before creation, but the deletion doesn't check 
>  the ACL rights. The code below succeeds even tough we removed ACL access 
> permissions for "/a".
> {code}
> zk.create("/a", null, Ids.OPEN_ACL_UNSAFE, CreateMode.CONTAINER);
> ArrayList list = new ArrayList<>();
> list.add(new ACL(0, Ids.ANYONE_ID_UNSAFE));
> zk.setACL("/", list, -1);
> zk.delete("/a", -1);
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (ZOOKEEPER-2192) Port "Introduce new ZNode type: container" to 3.4.x

2019-03-19 Thread Tamas Penzes (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-2192?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tamas Penzes updated ZOOKEEPER-2192:

Labels: container_znode_type  (was: )

> Port "Introduce new ZNode type: container" to 3.4.x
> ---
>
> Key: ZOOKEEPER-2192
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2192
> Project: ZooKeeper
>  Issue Type: Sub-task
>  Components: c client, java client, server
>Affects Versions: 3.4.6
>Reporter: Jordan Zimmerman
>Assignee: Jordan Zimmerman
>Priority: Major
>  Labels: container_znode_type
> Attachments: ZOOKEEPER-2192.patch, ZOOKEEPER-2192.patch
>
>
> ZOOKEEPER-2163 applies to the trunk branch. This feature is too needed to 
> wait for 3.5.x. So, port the feature to the 3.4.x branch so it can be 
> released ahead of 3.5.x.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (ZOOKEEPER-723) ephemeral parent znodes

2019-03-19 Thread Tamas Penzes (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-723?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tamas Penzes updated ZOOKEEPER-723:
---
Labels: container_znode_type  (was: )

> ephemeral parent znodes
> ---
>
> Key: ZOOKEEPER-723
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-723
> Project: ZooKeeper
>  Issue Type: New Feature
>  Components: server
>Reporter: Benjamin Reed
>Assignee: Daniel Gómez Ferro
>Priority: Major
>  Labels: container_znode_type
> Attachments: ZOOKEEPER-723.patch, ZOOKEEPER-723.patch
>
>
> ephemeral znodes have the nice property of automatically cleaning up after 
> themselves when the creator goes away, but since they can't have children it 
> is hard to build subtrees that will cleanup after the clients that are using 
> them are gone.
> rather than changing the semantics of ephemeral nodes, i propose ephemeral 
> parents: znodes that disappear when they have no more children. this cleanup 
> would happen automatically when the last child is removed. an ephemeral 
> parent is not tied to any particular session, so even if the creator goes 
> away, the ephemeral parent will remain as long as there are children.
> the when an ephemeral parent is created it will have an initial child, so 
> that it doesn't get immediately removed. i think this child should be an 
> ephemeral znode with a predefined name, "firstChild".



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (ZOOKEEPER-2168) Add C APIs for new createContainer Methods

2019-03-19 Thread Tamas Penzes (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-2168?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tamas Penzes updated ZOOKEEPER-2168:

Labels: container_znode_type pull-request-available  (was: 
pull-request-available)

> Add C APIs for new createContainer Methods
> --
>
> Key: ZOOKEEPER-2168
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2168
> Project: ZooKeeper
>  Issue Type: Sub-task
>  Components: c client
>Affects Versions: 3.5.0
>Reporter: Jordan Zimmerman
>Assignee: Balazs Meszaros
>Priority: Major
>  Labels: container_znode_type, pull-request-available
> Fix For: 3.6.0, 3.5.5
>
>  Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> ZOOKEEPER-2163 adds new client methods to create containers. These need to be 
> exposed in the C client as well.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (ZOOKEEPER-2163) Introduce new ZNode type: container

2019-03-19 Thread Tamas Penzes (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-2163?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tamas Penzes updated ZOOKEEPER-2163:

Labels: container_znode_type pull-request-available  (was: 
pull-request-available)

> Introduce new ZNode type: container
> ---
>
> Key: ZOOKEEPER-2163
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2163
> Project: ZooKeeper
>  Issue Type: New Feature
>  Components: c client, java client, server
>Affects Versions: 3.5.0
>Reporter: Jordan Zimmerman
>Assignee: Jordan Zimmerman
>Priority: Major
>  Labels: container_znode_type, pull-request-available
> Fix For: 3.5.1, 3.6.0
>
> Attachments: zookeeper-2163.10.patch, zookeeper-2163.11.patch, 
> zookeeper-2163.12.patch, zookeeper-2163.13.patch, zookeeper-2163.14.patch, 
> zookeeper-2163.15.patch, zookeeper-2163.3.patch, zookeeper-2163.5.patch, 
> zookeeper-2163.6.patch, zookeeper-2163.7.patch, zookeeper-2163.8.patch, 
> zookeeper-2163.9.patch
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> BACKGROUND
> 
> A recurring problem for ZooKeeper users is garbage collection of parent 
> nodes. Many recipes (e.g. locks, leaders, etc.) call for the creation of a 
> parent node under which participants create sequential nodes. When the 
> participant is done, it deletes its node. In practice, the ZooKeeper tree 
> begins to fill up with orphaned parent nodes that are no longer needed. The 
> ZooKeeper APIs don’t provide a way to clean these. Over time, ZooKeeper can 
> become unstable due to the number of these nodes.
> CURRENT SOLUTIONS
> ===
> Apache Curator has a workaround solution for this by providing the Reaper 
> class which runs in the background looking for orphaned parent nodes and 
> deleting them. This isn’t ideal and it would be better if ZooKeeper supported 
> this directly.
> PROPOSAL
> =
> ZOOKEEPER-723 and ZOOKEEPER-834 have been proposed to allow EPHEMERAL nodes 
> to contain child nodes. This is not optimum as EPHEMERALs are tied to a 
> session and the general use case of parent nodes is for PERSISTENT nodes. 
> This proposal adds a new node type, CONTAINER. A CONTAINER node is the same 
> as a PERSISTENT node with the additional property that when its last child is 
> deleted, it is deleted (and CONTAINER nodes recursively up the tree are 
> deleted if empty).
> CANONICAL USAGE
> 
> {code}
> while ( true) { // or some reasonable limit
> try {
> zk.create(path, ...);
> break;
> } catch ( KeeperException.NoNodeException e ) {
> try {
> zk.createContainer(containerPath, ...);
> } catch ( KeeperException.NodeExistsException ignore) {
>}
> }
> }
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] [zookeeper] eolivelli commented on a change in pull request #859: ZOOKEEPER-3323: Add TxnSnapLog metrics

2019-03-19 Thread GitBox
eolivelli commented on a change in pull request #859: ZOOKEEPER-3323: Add 
TxnSnapLog metrics
URL: https://github.com/apache/zookeeper/pull/859#discussion_r266860647
 
 

 ##
 File path: 
zookeeper-server/src/test/java/org/apache/zookeeper/server/persistence/FileTxnSnapLogMetricsTest.java
 ##
 @@ -0,0 +1,52 @@
+package org.apache.zookeeper.server.persistence;
+
+import org.apache.zookeeper.*;
+import org.apache.zookeeper.server.ServerMetrics;
+import org.apache.zookeeper.server.SyncRequestProcessor;
+import org.apache.zookeeper.test.ClientBase;
+import org.apache.zookeeper.test.QuorumUtil;
+import org.junit.Assert;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Map;
+
+import static org.hamcrest.number.OrderingComparison.greaterThan;
+import static org.hamcrest.number.OrderingComparison.greaterThanOrEqualTo;
+
+public class FileTxnSnapLogMetricsTest extends ZKTestCase {
+
+@Test
+public void testFileTxnSnapLogMetrics() throws Exception {
+SyncRequestProcessor.setSnapCount(100);
+
+QuorumUtil util = new QuorumUtil(1);
+util.startAll();
+
+byte[] data = new byte[500];
+// make sure a snapshot is taken and some txns are not in a snapshot
+ZooKeeper zk = ClientBase.createZKClient(util.getConnString());
+for (int i=0; i<150; i++){
+zk.create("/path" + i, data, ZooDefs.Ids.OPEN_ACL_UNSAFE, 
CreateMode.PERSISTENT);
+}
+
+Thread.sleep(500);
 
 Review comment:
   why do we need this sleep ?
   This would be a flaky test in the future,
   can't we wait for a condition ?


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


ZooKeeper_branch34_openjdk8 - Build # 268 - Still Failing

2019-03-19 Thread Apache Jenkins Server
See https://builds.apache.org/job/ZooKeeper_branch34_openjdk8/268/

###
## LAST 60 LINES OF THE CONSOLE 
###
[...truncated 44.21 KB...]
[junit] Running org.apache.zookeeper.test.SaslAuthFailNotifyTest
[junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
2.352 sec
[junit] Running org.apache.zookeeper.test.SaslAuthFailTest
[junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
1.901 sec
[junit] Running org.apache.zookeeper.test.SaslAuthMissingClientConfigTest
[junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
1.418 sec
[junit] Running org.apache.zookeeper.test.SaslClientTest
[junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
0.173 sec
[junit] Running org.apache.zookeeper.test.SessionInvalidationTest
[junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
1.904 sec
[junit] Running org.apache.zookeeper.test.SessionTest
[junit] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
12.741 sec
[junit] Running org.apache.zookeeper.test.SessionTimeoutTest
[junit] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
2.803 sec
[junit] Running org.apache.zookeeper.test.StandaloneTest
[junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
1.151 sec
[junit] Running org.apache.zookeeper.test.StatTest
[junit] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
2.989 sec
[junit] Running org.apache.zookeeper.test.StaticHostProviderTest
[junit] Tests run: 13, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
2.204 sec
[junit] Running org.apache.zookeeper.test.SyncCallTest
[junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
2.314 sec
[junit] Running org.apache.zookeeper.test.TruncateTest
[junit] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
14.028 sec
[junit] Running org.apache.zookeeper.test.UpgradeTest
[junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
3.43 sec
[junit] Running org.apache.zookeeper.test.WatchedEventTest
[junit] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
0.233 sec
[junit] Running org.apache.zookeeper.test.WatcherFuncTest
[junit] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
3.983 sec
[junit] Running org.apache.zookeeper.test.WatcherTest
[junit] Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
34.275 sec
[junit] Running org.apache.zookeeper.test.ZkDatabaseCorruptionTest
[junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
21.537 sec
[junit] Running org.apache.zookeeper.test.ZooKeeperQuotaTest
[junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
2.167 sec
[junit] Running org.apache.jute.BinaryInputArchiveTest
[junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
0.175 sec

fail.build.on.test.failure:

BUILD FAILED
/home/jenkins/jenkins-slave/workspace/ZooKeeper_branch34_openjdk8/build.xml:1425:
 The following error occurred while executing this line:
/home/jenkins/jenkins-slave/workspace/ZooKeeper_branch34_openjdk8/build.xml:1428:
 Tests failed!

Total time: 46 minutes 12 seconds
Build step 'Invoke Ant' marked build as failure
Archiving artifacts
Setting OPENJDK_8_ON_UBUNTU_ONLY__HOME=/usr/lib/jvm/java-8-openjdk-amd64/
Recording test results
Setting OPENJDK_8_ON_UBUNTU_ONLY__HOME=/usr/lib/jvm/java-8-openjdk-amd64/
Setting OPENJDK_8_ON_UBUNTU_ONLY__HOME=/usr/lib/jvm/java-8-openjdk-amd64/
Setting OPENJDK_8_ON_UBUNTU_ONLY__HOME=/usr/lib/jvm/java-8-openjdk-amd64/
Email was triggered for: Failure - Any
Sending email for trigger: Failure - Any
Setting OPENJDK_8_ON_UBUNTU_ONLY__HOME=/usr/lib/jvm/java-8-openjdk-amd64/
Setting OPENJDK_8_ON_UBUNTU_ONLY__HOME=/usr/lib/jvm/java-8-openjdk-amd64/
Setting OPENJDK_8_ON_UBUNTU_ONLY__HOME=/usr/lib/jvm/java-8-openjdk-amd64/
Setting OPENJDK_8_ON_UBUNTU_ONLY__HOME=/usr/lib/jvm/java-8-openjdk-amd64/



###
## FAILED TESTS (if any) 
##
1 tests failed.
FAILED:  org.apache.zookeeper.test.ObserverQuorumHammerTest.testHammerBasic

Error Message:
expected:<1000> but was:<508>

Stack Trace:
junit.framework.AssertionFailedError: expected:<1000> but was:<508>
at 
org.apache.zookeeper.test.ClientHammerTest.verifyHammer(ClientHammerTest.java:231)
at 
org.apache.zookeeper.test.ClientHammerTest.runHammer(ClientHammerTest.java:142)
at 
org.apache.zookeeper.test.ClientHammerTest.testHammerBasic(ClientHammerTest.java:120)
at 
org.apache.zookeeper.test.ObserverQuorumHammerTest.testHammerBasic(ObserverQuorumHammerTest.java:37)

[GitHub] [zookeeper] eolivelli commented on issue #854: ZOOKEEPER-3143 Pluggable metrics system for ZooKeeper - Data Collection on Server

2019-03-19 Thread GitBox
eolivelli commented on issue #854: ZOOKEEPER-3143 Pluggable metrics system for 
ZooKeeper - Data Collection on Server
URL: https://github.com/apache/zookeeper/pull/854#issuecomment-474259942
 
 
   > Thanks @eolivelli . Great stuff.
   > 
   > Unfortunately I kinda lost tracking the conversation in the previous 
patch, but why are we doing
   > 
   > > Make ServerMetrics a class, not an enum.
   > 
   > I liked the enum approach, why do you need to change it?
   
   @lvfangmin @anmolnar @jhuan31 @phunt 
   The main reason from my point of view is that **enums** should be treated as 
close as "constants", but after booting the MetricsProvider we will have to 
re-assign all of the references to Counters/Summaries, so we will alter the 
internal state of the enum values.
   
   I like that the new class has all *final* fields, when you boot the provider 
you throw away current ServerMetrics and start using the new one.
   The only cost is to have that single *volatile* static reference to the 
*current* ServerMetrics.
   
   The overall access cost to the single Metric is mostly the same ("access the 
static final? enum value + access a non final field" vs "access the volatile 
static reference  + access the final field"), but I find the class approach 
most clean and testable.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [zookeeper] eolivelli commented on a change in pull request #854: ZOOKEEPER-3143 Pluggable metrics system for ZooKeeper - Data Collection on Server

2019-03-19 Thread GitBox
eolivelli commented on a change in pull request #854: ZOOKEEPER-3143 Pluggable 
metrics system for ZooKeeper - Data Collection on Server
URL: https://github.com/apache/zookeeper/pull/854#discussion_r266769668
 
 

 ##
 File path: 
zookeeper-server/src/main/java/org/apache/zookeeper/metrics/SummarySet.java
 ##
 @@ -0,0 +1,37 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.zookeeper.metrics;
+
+/**
+ * Summaries track the size and number of events.
+ * They are able to publish minumum, maximum, average values, depending on the 
capabilities of the MetricsProvider.
+ * A SummarySet is a set of {@link Summary}.
+ */
+public interface SummarySet {
+
+ /**
+  * Register a value.
+  * This method is thread safe, The MetricsProvider will take care of 
synchronization.
+  *
+  * @param key the key to access the Summary for the given key
+  * @param value current value
+  */
+ void add(String key, long value);
 
 Review comment:
   @jhuan31  we can support MetricsContext hierarchy as well.
   This approach with "SummarySet" will be very useful with Prometheus, we will 
make 'key' to "label" in Prometheus API and this will help the creation of 
queries.
   
   I have such case in another application (not OSS), originally I did not 
think it would be useful in ZooKeeper (as I did not see your stuff while 
designing the first version on the API).
   
   So I would keep both of the approaches, in this case the keyed approach 
works better
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Updated] (ZOOKEEPER-3329) ZooKeeper Banner is too large to adapt to the windows or console size

2019-03-19 Thread maoling (JIRA)


 [ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3329?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

maoling updated ZOOKEEPER-3329:
---
Priority: Minor  (was: Major)

> ZooKeeper Banner is too large to adapt to the windows or console size 
> --
>
> Key: ZOOKEEPER-3329
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3329
> Project: ZooKeeper
>  Issue Type: Improvement
>Reporter: maoling
>Assignee: maoling
>Priority: Minor
>
> 2019-03-19 15:30:46,783 [myid:] - INFO [main:Environment@109] - Client 
> environment:java.io.tmpdir=/var/folders/kj/092gpj_s2hvdgx77c9ghqdv0gp/T/
> 2019-03-19 15:30:46,783 [myid:] - INFO [main:Environment@109] - Client 
> environment:java.compiler=
> 2019-03-19 15:30:46,783 [myid:] - INFO [main:Environment@109] - Client 
> environment:os.name=Mac OS X
> 2019-03-19 15:30:46,783 [myid:] - INFO [main:Environment@109] - Client 
> environment:os.arch=x86_64
> 2019-03-19 15:30:46,783 [myid:] - INFO [main:Environment@109] - Client 
> environment:os.version=10.13.6
> 2019-03-19 15:30:46,783 [myid:] - INFO [main:Environment@109] - Client 
> environment:user.name=wenba
> 2019-03-19 15:30:46,783 [myid:] - INFO [main:Environment@109] - Client 
> environment:user.home=/Users/wenba
> 2019-03-19 15:30:46,783 [myid:] - INFO [main:Environment@109] - Client 
> environment:user.dir=/Users/wenba/workspaces/workspace_zookeeper/zookeeper/zookeeper-server
> 2019-03-19 15:30:46,783 [myid:] - INFO [main:Environment@109] - Client 
> environment:os.memory.free=223MB
> 2019-03-19 15:30:46,783 [myid:] - INFO [main:Environment@109] - Client 
> environment:os.memory.max=455MB
> 2019-03-19 15:30:46,784 [myid:] - INFO [main:Environment@109] - Client 
> environment:os.memory.total=245MB
> 2019-03-19 15:30:46,788 [myid:] - INFO [main:ZooKeeper@871] - Initiating 
> client connection, connectString=127.0.0.1:11222 sessionTimeout=5000 
> watcher=org.apache.zookeeper.test.ClientBase$CountdownWatcher@7e0ea639
> 2019-03-19 15:30:46,889 [myid:] - INFO [Thread-0:QuorumPeerConfig@141] - 
> Reading configuration from: 
> /Users/wenba/workspaces/workspace_zookeeper/zookeeper/zookeeper-server/target/surefire/test5571915780702939434.junit.dir/zoo.cfg
> 2019-03-19 15:30:46,889 [myid:] - INFO [Thread-0:QuorumPeerConfig@396] - 
> clientPort is not set
> 2019-03-19 15:30:46,889 [myid:] - INFO [Thread-0:QuorumPeerConfig@420] - 
> secureClientPortAddress is 0.0.0.0:11222
> 2019-03-19 15:30:46,889 [myid:] - INFO [Thread-0:QuorumPeerConfig@427] - 
> observerMasterPort is not set
> 2019-03-19 15:30:46,889 [myid:] - INFO [Thread-0:QuorumPeerConfig@445] - 
> metricsProvider.className is 
> org.apache.zookeeper.metrics.impl.NullMetricsProvider
> 2019-03-19 15:30:46,890 [myid:] - INFO [Thread-0:ZooKeeperServerMain@121] - 
> Starting server
> 2019-03-19 15:30:46,906 [myid:] - INFO [Thread-0:ZookeeperBanner@43] - 
> 2019-03-19 15:30:46,906 [myid:] - INFO [Thread-0:ZookeeperBanner@43] - __ 
> _ 
> 2019-03-19 15:30:46,906 [myid:] - INFO [Thread-0:ZookeeperBanner@43] - |___ / 
> | | 
> 2019-03-19 15:30:46,906 [myid:] - INFO [Thread-0:ZookeeperBanner@43] - / / 
> ___ ___ | | __ ___ ___ _ __ ___ _ __ 
> 2019-03-19 15:30:46,906 [myid:] - INFO [Thread-0:ZookeeperBanner@43] - / / / 
> _ \ / _ \ | |/ / / _ \ / _ \ | '_ \ / _ \ | '__|
> 2019-03-19 15:30:46,906 [myid:] - INFO [Thread-0:ZookeeperBanner@43] - / /__ 
> | (_) | | (_) | | < | __/ | __/ | |_) | | __/ | | 
> 2019-03-19 15:30:46,906 [myid:] - INFO [Thread-0:ZookeeperBanner@43] - 
> /_| \___/ \___/ |_|\_\ \___| \___| | .__/ \___| |_|
> 2019-03-19 15:30:46,906 [myid:] - INFO [Thread-0:ZookeeperBanner@43] - | | 
> 2019-03-19 15:30:46,906 [myid:] - INFO [Thread-0:ZookeeperBanner@43] - |_| 
> 2019-03-19 15:30:46,906 [myid:] - INFO [Thread-0:ZookeeperBanner@43] - 
> 2019-03-19 15:30:46,906 [myid:] - INFO [Thread-0:Environment@109] - Server 
> environment:zookeeper



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (ZOOKEEPER-3329) ZooKeeper Banner is too large to adapt to the windows or console size

2019-03-19 Thread maoling (JIRA)
maoling created ZOOKEEPER-3329:
--

 Summary: ZooKeeper Banner is too large to adapt to the windows or 
console size 
 Key: ZOOKEEPER-3329
 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3329
 Project: ZooKeeper
  Issue Type: Improvement
Reporter: maoling
Assignee: maoling


2019-03-19 15:30:46,783 [myid:] - INFO [main:Environment@109] - Client 
environment:java.io.tmpdir=/var/folders/kj/092gpj_s2hvdgx77c9ghqdv0gp/T/
2019-03-19 15:30:46,783 [myid:] - INFO [main:Environment@109] - Client 
environment:java.compiler=
2019-03-19 15:30:46,783 [myid:] - INFO [main:Environment@109] - Client 
environment:os.name=Mac OS X
2019-03-19 15:30:46,783 [myid:] - INFO [main:Environment@109] - Client 
environment:os.arch=x86_64
2019-03-19 15:30:46,783 [myid:] - INFO [main:Environment@109] - Client 
environment:os.version=10.13.6
2019-03-19 15:30:46,783 [myid:] - INFO [main:Environment@109] - Client 
environment:user.name=wenba
2019-03-19 15:30:46,783 [myid:] - INFO [main:Environment@109] - Client 
environment:user.home=/Users/wenba
2019-03-19 15:30:46,783 [myid:] - INFO [main:Environment@109] - Client 
environment:user.dir=/Users/wenba/workspaces/workspace_zookeeper/zookeeper/zookeeper-server
2019-03-19 15:30:46,783 [myid:] - INFO [main:Environment@109] - Client 
environment:os.memory.free=223MB
2019-03-19 15:30:46,783 [myid:] - INFO [main:Environment@109] - Client 
environment:os.memory.max=455MB
2019-03-19 15:30:46,784 [myid:] - INFO [main:Environment@109] - Client 
environment:os.memory.total=245MB
2019-03-19 15:30:46,788 [myid:] - INFO [main:ZooKeeper@871] - Initiating client 
connection, connectString=127.0.0.1:11222 sessionTimeout=5000 
watcher=org.apache.zookeeper.test.ClientBase$CountdownWatcher@7e0ea639
2019-03-19 15:30:46,889 [myid:] - INFO [Thread-0:QuorumPeerConfig@141] - 
Reading configuration from: 
/Users/wenba/workspaces/workspace_zookeeper/zookeeper/zookeeper-server/target/surefire/test5571915780702939434.junit.dir/zoo.cfg
2019-03-19 15:30:46,889 [myid:] - INFO [Thread-0:QuorumPeerConfig@396] - 
clientPort is not set
2019-03-19 15:30:46,889 [myid:] - INFO [Thread-0:QuorumPeerConfig@420] - 
secureClientPortAddress is 0.0.0.0:11222
2019-03-19 15:30:46,889 [myid:] - INFO [Thread-0:QuorumPeerConfig@427] - 
observerMasterPort is not set
2019-03-19 15:30:46,889 [myid:] - INFO [Thread-0:QuorumPeerConfig@445] - 
metricsProvider.className is 
org.apache.zookeeper.metrics.impl.NullMetricsProvider
2019-03-19 15:30:46,890 [myid:] - INFO [Thread-0:ZooKeeperServerMain@121] - 
Starting server
2019-03-19 15:30:46,906 [myid:] - INFO [Thread-0:ZookeeperBanner@43] - 
2019-03-19 15:30:46,906 [myid:] - INFO [Thread-0:ZookeeperBanner@43] - __ _ 
2019-03-19 15:30:46,906 [myid:] - INFO [Thread-0:ZookeeperBanner@43] - |___ / | 
| 
2019-03-19 15:30:46,906 [myid:] - INFO [Thread-0:ZookeeperBanner@43] - / / ___ 
___ | | __ ___ ___ _ __ ___ _ __ 
2019-03-19 15:30:46,906 [myid:] - INFO [Thread-0:ZookeeperBanner@43] - / / / _ 
\ / _ \ | |/ / / _ \ / _ \ | '_ \ / _ \ | '__|
2019-03-19 15:30:46,906 [myid:] - INFO [Thread-0:ZookeeperBanner@43] - / /__ | 
(_) | | (_) | | < | __/ | __/ | |_) | | __/ | | 
2019-03-19 15:30:46,906 [myid:] - INFO [Thread-0:ZookeeperBanner@43] - /_| 
\___/ \___/ |_|\_\ \___| \___| | .__/ \___| |_|
2019-03-19 15:30:46,906 [myid:] - INFO [Thread-0:ZookeeperBanner@43] - | | 
2019-03-19 15:30:46,906 [myid:] - INFO [Thread-0:ZookeeperBanner@43] - |_| 
2019-03-19 15:30:46,906 [myid:] - INFO [Thread-0:ZookeeperBanner@43] - 
2019-03-19 15:30:46,906 [myid:] - INFO [Thread-0:Environment@109] - Server 
environment:zookeeper



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] [zookeeper] eolivelli commented on a change in pull request #858: ZOOKEEPER-3321: Add metrics for Leader

2019-03-19 Thread GitBox
eolivelli commented on a change in pull request #858: ZOOKEEPER-3321: Add 
metrics for Leader
URL: https://github.com/apache/zookeeper/pull/858#discussion_r266758349
 
 

 ##
 File path: 
zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/LeaderMetricsTest.java
 ##
 @@ -0,0 +1,85 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.zookeeper.server.quorum;
+
+import org.apache.zookeeper.*;
+import org.apache.zookeeper.server.ServerMetrics;
+import org.apache.zookeeper.test.ClientBase;
+import org.apache.zookeeper.test.QuorumUtil;
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.util.Map;
+import java.util.concurrent.CountDownLatch;
+
+import static org.hamcrest.number.OrderingComparison.greaterThan;
+import static org.hamcrest.number.OrderingComparison.greaterThanOrEqualTo;
+
+public class LeaderMetricsTest extends ZKTestCase {
+CountDownLatch createdLatch;
+
+private class MyWatcher implements Watcher {
+@Override
+public void process(WatchedEvent e){
+createdLatch.countDown();
+}
+}
+
+@Test
+public void testLeaderMetrics() throws Exception {
+// set the logging frequency to one so we log the ack latency for 
every ack
+Leader.setAckLoggingFrequency(1);
 
 Review comment:
   Last nit:
   We have to restore the initial value in a finally block, otherwise this test 
will affect all of the other tests executed after it


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Commented] (ZOOKEEPER-2168) Add C APIs for new createContainer Methods

2019-03-19 Thread Hudson (JIRA)


[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-2168?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16795742#comment-16795742
 ] 

Hudson commented on ZOOKEEPER-2168:
---

SUCCESS: Integrated in Jenkins build ZooKeeper-trunk #446 (See 
[https://builds.apache.org/job/ZooKeeper-trunk/446/])
ZOOKEEPER-2168: Add C APIs for new createContainer Methods (andor: rev 
9fba2f6c93a78928df4841a66185f51e242653aa)
* (edit) zookeeper-client/zookeeper-client-c/include/proto.h
* (edit) zookeeper-client/zookeeper-client-c/tests/TestClient.cc
* (edit) zookeeper-client/zookeeper-client-c/src/zookeeper.c
* (edit) zookeeper-client/zookeeper-client-c/include/zookeeper.h


> Add C APIs for new createContainer Methods
> --
>
> Key: ZOOKEEPER-2168
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2168
> Project: ZooKeeper
>  Issue Type: Sub-task
>  Components: c client
>Affects Versions: 3.5.0
>Reporter: Jordan Zimmerman
>Assignee: Balazs Meszaros
>Priority: Major
>  Labels: pull-request-available
> Fix For: 3.6.0, 3.5.5
>
>  Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> ZOOKEEPER-2163 adds new client methods to create containers. These need to be 
> exposed in the C client as well.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)