[GitHub] rdhabalia commented on issue #1241: Add REST api to check host-status for adding/removing from vip

2018-02-15 Thread GitBox
rdhabalia commented on issue #1241: Add REST api to check host-status for 
adding/removing from vip
URL: https://github.com/apache/incubator-pulsar/pull/1241#issuecomment-366152653
 
 
   retest this please


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] rdhabalia commented on issue #1241: Add REST api to check host-status for adding/removing from vip

2018-02-15 Thread GitBox
rdhabalia commented on issue #1241: Add REST api to check host-status for 
adding/removing from vip
URL: https://github.com/apache/incubator-pulsar/pull/1241#issuecomment-366152653
 
 
   retest this please


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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


svn commit: r25099 - /dev/incubator/pulsar/pulsar-1.22.0-incubating-candidate-0/

2018-02-15 Thread jai1
Author: jai1
Date: Fri Feb 16 05:46:06 2018
New Revision: 25099

Log:
Staging artifacts and signature for Pulsar release 1.22.0-incubating

Modified:

dev/incubator/pulsar/pulsar-1.22.0-incubating-candidate-0/apache-pulsar-1.22.0-incubating-bin.tar.gz

dev/incubator/pulsar/pulsar-1.22.0-incubating-candidate-0/apache-pulsar-1.22.0-incubating-bin.tar.gz.asc

dev/incubator/pulsar/pulsar-1.22.0-incubating-candidate-0/apache-pulsar-1.22.0-incubating-bin.tar.gz.md5

dev/incubator/pulsar/pulsar-1.22.0-incubating-candidate-0/apache-pulsar-1.22.0-incubating-bin.tar.gz.sha512

dev/incubator/pulsar/pulsar-1.22.0-incubating-candidate-0/apache-pulsar-1.22.0-incubating-src.tar.gz

dev/incubator/pulsar/pulsar-1.22.0-incubating-candidate-0/apache-pulsar-1.22.0-incubating-src.tar.gz.asc

dev/incubator/pulsar/pulsar-1.22.0-incubating-candidate-0/apache-pulsar-1.22.0-incubating-src.tar.gz.md5

dev/incubator/pulsar/pulsar-1.22.0-incubating-candidate-0/apache-pulsar-1.22.0-incubating-src.tar.gz.sha512

Modified: 
dev/incubator/pulsar/pulsar-1.22.0-incubating-candidate-0/apache-pulsar-1.22.0-incubating-bin.tar.gz
==
Binary files - no diff available.

Modified: 
dev/incubator/pulsar/pulsar-1.22.0-incubating-candidate-0/apache-pulsar-1.22.0-incubating-bin.tar.gz.asc
==
--- 
dev/incubator/pulsar/pulsar-1.22.0-incubating-candidate-0/apache-pulsar-1.22.0-incubating-bin.tar.gz.asc
 (original)
+++ 
dev/incubator/pulsar/pulsar-1.22.0-incubating-candidate-0/apache-pulsar-1.22.0-incubating-bin.tar.gz.asc
 Fri Feb 16 05:46:06 2018
@@ -1,16 +1,16 @@
 -BEGIN PGP SIGNATURE-
 
-iQIzBAABCAAdFiEEDQCP4t9TLRC/fG0se6GmTLvBFOwFAlqE6tAACgkQe6GmTLvB
-FOxOCg/+LOavQKTSrdrtpX6gUCVuXvnDABAAgE37tRNJfsLwmfC8G+ZaNyb6vSLf
-nbCnAwNwi/Nj0X/4H9ht4mBxrJZ78Ii3UtBjT3lA4naMDZcyPmN/5ISY5RNscVln
-wMi9nt8DdWKV3XR0XWHFx9tgrKOhPfkb9xdTturljj8/a3oW3yhOFpBaUve+KFkJ
-CX3ibEAv9Cd5iIvrv0rPTUdPxsK2ht7JYewdLUxtHhAJmWkFKcdT8InLqrqb2tmE
-IqT9i/SY2LGW+hyq28pdnjzwa5g6Qu6ilrN69LRBJ/5oSwvfS8+H3C9yPYDh2WVF
-vsYclpy1BQftRPqR+LAyIZcmotywmR6CNkGRBEj+/M+CsFpc06E0ixPWlJDV9UEb
-adSCnHmohwwD3TS8OmMNI/O7ipcLB5Mamor6Gi9SYjHA+pM0AG+sSRpzV67YxdIi
-+x61YBeZ1OnmYhlj9b0tFSMCkQXwlnxoIC1liU8rG133V2+9wt6W4BN4TjB74rWW
-50mECdvGDhjty9AF1HbuA54PA2/GwKV2eW0eAd7DYCq1U+CaP7yUrSagSknAnvXB
-50tm6EaSt4Hx2S32xvUVg4pn86XAfO6ePOKywCExHQxqDzenTkvMeYssZbnPHxxe
-FBYUa0EqSJmbkJ7cq+Hjzv8RNchEjmEWdL1qOquYZeN/qfXXazE=
-=/xWX
+iQIzBAABCAAdFiEEDQCP4t9TLRC/fG0se6GmTLvBFOwFAlqGb8oACgkQe6GmTLvB
+FOzqIw/+IlY0gmXkpiEp+u4KzIzo4ksvcsKKeKTCY1pYIPkwNMMpk3Hg9sLMtrJu
+QWKiNc3lx+4eQQrHhFxlkMEgds1KgCHMi1JMC/ZRF9ValKL1ztL4tePIwbSiknqh
+Mv5160jZ72/hRNb1DUfeegC/0IcQOLnYjhbTDWY7xNWPu8Om07UCOmSKNv+63sVx
+ZmHAeHDqJjkFmhHomWMumm2uCM79XB1Iv3UvtGm6759KgV5j2qufqJ+Gx3t4RmaH
+j+Dn2HKdPX/FrxL+gFOCaC7aISdPpOmroBH8o3qdhv4wWtDbM4KI6Xv0Hr18uV2t
+fSlJtX/c70dQeAaMAaGkOIEWDxjoOzaL28tweQoGH0DkWuFmVesl1e0wmWuKo+bu
+qiSXrCBxM1S2+P5FwMDb0FE3LC0nI8wYsN+JnrWMywZYQW6vDaCJeVmuIGrpv/8M
+OsMsfIs/pnAinuQuDUL9G0vY3Jl9FqwjK9y5kLs7LAFc2jp6jQVCOw35Xv/8Lx5s
+D10cyWveaulg4p5uVTS2xap1dxwSKRkFxKA8SMsC/5fuYkJE9rmiR62I81TIjIRJ
+6ptgWW+LT2twAybvj55lvErIzbSHtLhgVC31tZj2ljrWMNdvnVUAvAI80MQe72Hx
+ADnUb9N0fChyE/K+X/toA0SLhAMJqpNabbXfsKWa+oDxF6hvvmM=
+=oMJZ
 -END PGP SIGNATURE-

Modified: 
dev/incubator/pulsar/pulsar-1.22.0-incubating-candidate-0/apache-pulsar-1.22.0-incubating-bin.tar.gz.md5
==
--- 
dev/incubator/pulsar/pulsar-1.22.0-incubating-candidate-0/apache-pulsar-1.22.0-incubating-bin.tar.gz.md5
 (original)
+++ 
dev/incubator/pulsar/pulsar-1.22.0-incubating-candidate-0/apache-pulsar-1.22.0-incubating-bin.tar.gz.md5
 Fri Feb 16 05:46:06 2018
@@ -1,2 +1,2 @@
 apache-pulsar-1.22.0-incubating-bin.tar.gz: 
-98 41 A5 01 81 98 9F 4F  44 E7 0D 6B 1D 15 3E E2
+0B D9 03 36 CF 23 CC 9A  12 D9 00 2A 8B 37 99 94

Modified: 
dev/incubator/pulsar/pulsar-1.22.0-incubating-candidate-0/apache-pulsar-1.22.0-incubating-bin.tar.gz.sha512
==
--- 
dev/incubator/pulsar/pulsar-1.22.0-incubating-candidate-0/apache-pulsar-1.22.0-incubating-bin.tar.gz.sha512
 (original)
+++ 
dev/incubator/pulsar/pulsar-1.22.0-incubating-candidate-0/apache-pulsar-1.22.0-incubating-bin.tar.gz.sha512
 Fri Feb 16 05:46:06 2018
@@ -1,3 +1,3 @@
 apache-pulsar-1.22.0-incubating-bin.tar.gz: 
-408DDB47 98355343 23626766 EB2FFD64 7E77105C F7F6FE92 AC42502C A2FBC632 
6BCECD5C
- 43177395 643A10E7 F080B159 ECB4A2A5 D2D01508 83EBED26 6CECDA9A
+0D57AD0E 0E4EF912 C2E4DEE7 B124E13E 072C19FD 64FF5BD4 4D63B2E0 E73011F6 
84A772F5
+ 08E4D854 0CA46484 90089994 B8A0794C 8FB7320C 1F2CF758 51FE0251

Modified: 
dev/incubator/pulsar/pulsar-1.22.0-incubating-candidate-0/apache-pulsar-1.22.0-incubating-src.tar.gz
==
Binary f

[incubator-pulsar] annotated tag v1.22.0-incubating-candidate-0 updated (96d720c -> 15347f1)

2018-02-15 Thread jai1
This is an automated email from the ASF dual-hosted git repository.

jai1 pushed a change to annotated tag v1.22.0-incubating-candidate-0
in repository https://gitbox.apache.org/repos/asf/incubator-pulsar.git.


*** WARNING: tag v1.22.0-incubating-candidate-0 was modified! ***

from 96d720c  (commit)
  to 15347f1  (tag)
 tagging 96d720c928b21485df8e055dde379aeeb7f81624 (commit)
  by jai1
  on Thu Feb 15 21:00:51 2018 -0800

- Log -
Release v1.22.0-incubating-candidate-0
-BEGIN PGP SIGNATURE-

iQJEBAABCAAuFiEEDQCP4t9TLRC/fG0se6GmTLvBFOwFAlqGZYQQHGphaTFAYXBh
Y2hlLm9yZwAKCRB7oaZMu8EU7M1VD/wMV6jAf0bo4mYHC3bBjTgWhQWv3vPyUx10
iL/5JVNfwgScVUUH8KvxAWazWt73h1UVndaaooBHvqqR9xgrDTowWK/4ZBscp3LD
uXeOCxE9Kk3F8slDDKqWtTdYALAopQ9SB3QrwRqoxTnwduRLlXm9utr4Y6QNduAb
imkPhbVo1pMTFCoDahYh3Ruqfj8XtjWQa8ey0+dp4X/gGwGkU/ZXk+tQsQdXuzOr
FRCICQdsZDJWmuTz1gFdfMvSJ4NEkIt7sDMnj4Igen8PwmJ3gJHbDJle86dDHBSB
J1nmWRrhRGH2XoWRN/jn7v2G4HGTanAybOFiX9Fn9tmSN/ywJvjlbViuq2zjMmNt
YbTkDe6GjAGMuKOWaasmyZoDMxAnNIMyPzuC2ADmKm3Cc2AOry3OO6/2NttYoN5F
4W/7EFtzS3UlN6pLYTHB6QknloZC6YclPxR4fsMuwt0NCxRmGMeqj2rrthnKaU8j
RRCFh0nhBNu2UahYO0brTsV5B7RSfbA7pZW8ufpI5QG9upyE0QwDAD6XGrxDBRBi
vdlcKUQasB7herUgF0QyNkdewQhdor6Sc/77aHWiqIw8lo/6Fi66N+xqLX9OSDsh
d12G1B2LvOf2id76+Io2pFpe+vTCHyWR5cIahZRl/LAjAVkewB0vKOnfK7xP2siY
eo3E02cOvA==
=kv+n
-END PGP SIGNATURE-
---


No new revisions were added by this update.

Summary of changes:

-- 
To stop receiving notification emails like this one, please contact
j...@apache.org.


[GitHub] rdhabalia opened a new pull request #1241: Add REST api to check host-status for adding/removing from vip

2018-02-15 Thread GitBox
rdhabalia opened a new pull request #1241: Add REST api to check host-status 
for adding/removing from vip
URL: https://github.com/apache/incubator-pulsar/pull/1241
 
 
   ### Motivation
   
   While deploying proxy/websocket we need a mechanism to add/remove host from 
the vip.
   
   ### Modifications
   
   Add rest api which checks the existence of `status.html`  and we can 
add/remove host in vip based on the file availability.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] merlimat commented on a change in pull request #1089: PIP-12 Introduce builder for creating Producer Consumer Reader

2018-02-15 Thread GitBox
merlimat commented on a change in pull request #1089: PIP-12 Introduce builder 
for creating Producer Consumer Reader
URL: https://github.com/apache/incubator-pulsar/pull/1089#discussion_r168642225
 
 

 ##
 File path: 
pulsar-client/src/main/java/org/apache/pulsar/client/api/ClientBuilder.java
 ##
 @@ -0,0 +1,265 @@
+/**
+ * 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.pulsar.client.api;
+
+import java.io.Serializable;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+
+import 
org.apache.pulsar.client.api.PulsarClientException.UnsupportedAuthenticationException;
+
+/**
+ * Builder interface that is used to construct a {@link PulsarClient} instance.
+ *
+ * @since 2.0.0
+ */
+public interface ClientBuilder extends Serializable, Cloneable {
+
+/**
+ * @return the new {@link PulsarClient} instance
+ */
+PulsarClient build() throws PulsarClientException;
+
+/**
+ * Create a copy of the current client builder.
+ * 
+ * Cloning the builder can be used to share an incomplete configuration 
and specialize it multiple times. For
+ * example:
+ *
+ * 
+ * ClientBuilder builder = 
PulsarClient.builder().ioThreads(8).listenerThreads(4);
+ *
+ * PulsarClient client1 = builder.clone().serviceUrl(URL_1).build();
+ * PulsarClient client2 = builder.clone().serviceUrl(URL_2).build();
+ * 
+ */
+ClientBuilder clone();
+
+/**
+ * Configure the service URL for the Pulsar service.
+ * 
+ * This parameter is required
+ *
+ * @param serviceUrl
+ * @return
+ */
+ClientBuilder serviceUrl(String serviceUrl);
+
+/**
+ * Set the authentication provider to use in the Pulsar client instance.
+ * 
+ * Example:
+ * 
+ *
+ * 
+ * 
+ * String AUTH_CLASS = 
"org.apache.pulsar.client.impl.auth.AuthenticationTls";
+ *
+ * Map conf = new TreeMap<>();
+ * conf.put("tlsCertFile", "/my/cert/file");
+ * conf.put("tlsKeyFile", "/my/key/file");
+ *
+ * Authentication auth = AuthenticationFactor.create(AUTH_CLASS, conf);
+ *
+ * PulsarClient client = PulsarClient.builder()
+ *  .serviceUrl(SERVICE_URL)
+ *  .authentication(auth)
+ *  .build();
+ * 
+ * 
+ * 
+ *
+ * @param authentication
+ *an instance of the {@link Authentication} provider already 
constructed
+ */
+ClientBuilder authentication(Authentication authentication);
+
+/**
+ * Set the authentication provider to use in the Pulsar client instance.
+ * 
+ * Example:
+ * 
+ *
+ * 
+ * 
+ * String AUTH_CLASS = 
"org.apache.pulsar.client.impl.auth.AuthenticationTls";
+ * String AUTH_PARAMS = 
"tlsCertFile:/my/cert/file,tlsKeyFile:/my/key/file";
+ *
+ * PulsarClient client = PulsarClient.builder()
+ *  .serviceUrl(SERVICE_URL)
+ *  .authentication(AUTH_CLASS, AUTH_PARAMS)
+ *  .build();
+ * 
+ * 
+ * 
+ *
+ * @param authPluginClassName
+ *name of the Authentication-Plugin you want to use
+ * @param authParamsString
+ *string which represents parameters for the 
Authentication-Plugin, e.g., "key1:val1,key2:val2"
+ * @throws UnsupportedAuthenticationException
+ * failed to instantiate specified Authentication-Plugin
+ */
+ClientBuilder authentication(String authPluginClassName, String 
authParamsString)
+throws UnsupportedAuthenticationException;
+
+/**
+ * Set the authentication provider to use in the Pulsar client instance.
+ * 
+ * Example:
+ * 
+ *
+ * 
+ * 
+ * String AUTH_CLASS = 
"org.apache.pulsar.client.impl.auth.AuthenticationTls";
+ *
+ * Map conf = new TreeMap<>();
+ * conf.put("tlsCertFile", "/my/cert/file");
+ * conf.put("tlsKeyFile", "/my/key/file");
+ *
+ * PulsarClient client = PulsarClient.builder()
+ *  .serviceUrl(SERVICE_URL)
+ *  .authentication(AUTH_CLASS, conf)
+ *  .build();
+ * 
+ * 
+ *
+ * @param authPluginClassNam

[GitHub] merlimat commented on a change in pull request #1089: PIP-12 Introduce builder for creating Producer Consumer Reader

2018-02-15 Thread GitBox
merlimat commented on a change in pull request #1089: PIP-12 Introduce builder 
for creating Producer Consumer Reader
URL: https://github.com/apache/incubator-pulsar/pull/1089#discussion_r168641196
 
 

 ##
 File path: 
pulsar-client/src/main/java/org/apache/pulsar/client/api/ClientBuilder.java
 ##
 @@ -0,0 +1,265 @@
+/**
+ * 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.pulsar.client.api;
+
+import java.io.Serializable;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+
+import 
org.apache.pulsar.client.api.PulsarClientException.UnsupportedAuthenticationException;
+
+/**
+ * Builder interface that is used to construct a {@link PulsarClient} instance.
+ *
+ * @since 2.0.0
+ */
+public interface ClientBuilder extends Serializable, Cloneable {
+
+/**
+ * @return the new {@link PulsarClient} instance
+ */
+PulsarClient build() throws PulsarClientException;
+
+/**
+ * Create a copy of the current client builder.
+ * 
+ * Cloning the builder can be used to share an incomplete configuration 
and specialize it multiple times. For
+ * example:
+ *
+ * 
+ * ClientBuilder builder = 
PulsarClient.builder().ioThreads(8).listenerThreads(4);
+ *
+ * PulsarClient client1 = builder.clone().serviceUrl(URL_1).build();
+ * PulsarClient client2 = builder.clone().serviceUrl(URL_2).build();
+ * 
+ */
+ClientBuilder clone();
+
+/**
+ * Configure the service URL for the Pulsar service.
+ * 
+ * This parameter is required
+ *
+ * @param serviceUrl
+ * @return
+ */
+ClientBuilder serviceUrl(String serviceUrl);
+
+/**
+ * Set the authentication provider to use in the Pulsar client instance.
+ * 
+ * Example:
+ * 
+ *
+ * 
+ * 
+ * String AUTH_CLASS = 
"org.apache.pulsar.client.impl.auth.AuthenticationTls";
+ *
+ * Map conf = new TreeMap<>();
+ * conf.put("tlsCertFile", "/my/cert/file");
+ * conf.put("tlsKeyFile", "/my/key/file");
+ *
+ * Authentication auth = AuthenticationFactor.create(AUTH_CLASS, conf);
+ *
+ * PulsarClient client = PulsarClient.builder()
+ *  .serviceUrl(SERVICE_URL)
+ *  .authentication(auth)
+ *  .build();
+ * 
+ * 
+ * 
+ *
+ * @param authentication
+ *an instance of the {@link Authentication} provider already 
constructed
+ */
+ClientBuilder authentication(Authentication authentication);
+
+/**
+ * Set the authentication provider to use in the Pulsar client instance.
+ * 
+ * Example:
+ * 
+ *
+ * 
+ * 
+ * String AUTH_CLASS = 
"org.apache.pulsar.client.impl.auth.AuthenticationTls";
+ * String AUTH_PARAMS = 
"tlsCertFile:/my/cert/file,tlsKeyFile:/my/key/file";
+ *
+ * PulsarClient client = PulsarClient.builder()
+ *  .serviceUrl(SERVICE_URL)
+ *  .authentication(AUTH_CLASS, AUTH_PARAMS)
+ *  .build();
+ * 
+ * 
+ * 
+ *
+ * @param authPluginClassName
+ *name of the Authentication-Plugin you want to use
+ * @param authParamsString
+ *string which represents parameters for the 
Authentication-Plugin, e.g., "key1:val1,key2:val2"
+ * @throws UnsupportedAuthenticationException
+ * failed to instantiate specified Authentication-Plugin
+ */
+ClientBuilder authentication(String authPluginClassName, String 
authParamsString)
+throws UnsupportedAuthenticationException;
+
+/**
+ * Set the authentication provider to use in the Pulsar client instance.
+ * 
+ * Example:
+ * 
+ *
+ * 
+ * 
+ * String AUTH_CLASS = 
"org.apache.pulsar.client.impl.auth.AuthenticationTls";
+ *
+ * Map conf = new TreeMap<>();
+ * conf.put("tlsCertFile", "/my/cert/file");
+ * conf.put("tlsKeyFile", "/my/key/file");
+ *
+ * PulsarClient client = PulsarClient.builder()
+ *  .serviceUrl(SERVICE_URL)
+ *  .authentication(AUTH_CLASS, conf)
+ *  .build();
+ * 
+ * 
+ *
+ * @param authPluginClassNam

[GitHub] rdhabalia commented on a change in pull request #1223: Add a `internalConfiguration` admin restful endpoint for query internal configuration

2018-02-15 Thread GitBox
rdhabalia commented on a change in pull request #1223: Add a 
`internalConfiguration` admin restful endpoint for query internal configuration
URL: https://github.com/apache/incubator-pulsar/pull/1223#discussion_r168576091
 
 

 ##
 File path: 
pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/PulsarAdmin.java
 ##
 @@ -154,6 +156,7 @@ public PulsarAdmin(URL serviceUrl, ClientConfiguration 
pulsarConfig) throws Puls
 WebTarget root = client.target(serviceUrl.toString());
 web = root.path("/admin");
 
+this.internalConfiguration = new InternalConfigurationImpl(web, auth);
 
 Review comment:
   Ok..sure.. I am not strongly against of having separate resource.
   Actually brokers already has `DynamicConfiguration` endpoint as well and 
internal-config also looks like config which is configured in broker rather a 
config/policies persisted in zk. So, felt to be part of brokers.


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] rdhabalia commented on a change in pull request #1223: Add a `internalConfiguration` admin restful endpoint for query internal configuration

2018-02-15 Thread GitBox
rdhabalia commented on a change in pull request #1223: Add a 
`internalConfiguration` admin restful endpoint for query internal configuration
URL: https://github.com/apache/incubator-pulsar/pull/1223#discussion_r168568376
 
 

 ##
 File path: 
pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/InternalConfiguration.java
 ##
 @@ -0,0 +1,50 @@
+/**
+ * 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.pulsar.broker.admin;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+import org.apache.bookkeeper.conf.ClientConfiguration;
+import org.apache.pulsar.common.conf.InternalConfigurationData;
+
+@Path("/internal-configuration")
+@Api(value = "/internal-configuration", description = "InternalConfiguration 
admin apis", tags = "internal-configuration")
+@Produces(MediaType.APPLICATION_JSON)
+public class InternalConfiguration extends AdminResource {
+
+@GET
+@ApiOperation(value = "Get the internal configuration data", response = 
InternalConfigurationData.class)
+@ApiResponses(value = {
+@ApiResponse(code = 403, message = "Don't have admin permission")
 
 Review comment:
   yes, that's correct. I meant `code = 403, message = "Don't have admin 
permission"` if we think zk-endpoint information should not expose to user and 
should be accessed by only admin then we can  add validation 
`AdminResource::validateSuperUserAccess()`


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] dave2wave commented on a change in pull request #1232: Schema registry (1/4)

2018-02-15 Thread GitBox
dave2wave commented on a change in pull request #1232: Schema registry (1/4)
URL: https://github.com/apache/incubator-pulsar/pull/1232#discussion_r168557489
 
 

 ##
 File path: pulsar-common/src/main/proto/PulsarApi.proto
 ##
 @@ -368,6 +387,7 @@ message CommandRedeliverUnacknowledgedMessages {
 
 message CommandSuccess {
required uint64 request_id = 1;
+   optional Schema schema = 2;
 
 Review comment:
   Why not have the schema registry as part of the namespace with one or more 
schemas (and versions). One could be default and the others can be chosen to 
override the topic default. If there are no schemas then the namespace has no 
schema.


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] maskit commented on a change in pull request #1089: PIP-12 Introduce builder for creating Producer Consumer Reader

2018-02-15 Thread GitBox
maskit commented on a change in pull request #1089: PIP-12 Introduce builder 
for creating Producer Consumer Reader
URL: https://github.com/apache/incubator-pulsar/pull/1089#discussion_r168496502
 
 

 ##
 File path: 
pulsar-client/src/main/java/org/apache/pulsar/client/api/ProducerConfiguration.java
 ##
 @@ -377,7 +377,8 @@ public void removeEncryptionKey(String key) {
 /**
  * Sets the ProducerCryptoFailureAction to the value specified
  *
- * @param The producer action
+ * @param The
 
 Review comment:
   missing a parameter name


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] maskit commented on a change in pull request #1089: PIP-12 Introduce builder for creating Producer Consumer Reader

2018-02-15 Thread GitBox
maskit commented on a change in pull request #1089: PIP-12 Introduce builder 
for creating Producer Consumer Reader
URL: https://github.com/apache/incubator-pulsar/pull/1089#discussion_r168495214
 
 

 ##
 File path: 
pulsar-client/src/main/java/org/apache/pulsar/client/api/ClientBuilder.java
 ##
 @@ -0,0 +1,265 @@
+/**
+ * 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.pulsar.client.api;
+
+import java.io.Serializable;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+
+import 
org.apache.pulsar.client.api.PulsarClientException.UnsupportedAuthenticationException;
+
+/**
+ * Builder interface that is used to construct a {@link PulsarClient} instance.
+ *
+ * @since 2.0.0
+ */
+public interface ClientBuilder extends Serializable, Cloneable {
+
+/**
+ * @return the new {@link PulsarClient} instance
+ */
+PulsarClient build() throws PulsarClientException;
+
+/**
+ * Create a copy of the current client builder.
+ * 
+ * Cloning the builder can be used to share an incomplete configuration 
and specialize it multiple times. For
+ * example:
+ *
+ * 
+ * ClientBuilder builder = 
PulsarClient.builder().ioThreads(8).listenerThreads(4);
+ *
+ * PulsarClient client1 = builder.clone().serviceUrl(URL_1).build();
+ * PulsarClient client2 = builder.clone().serviceUrl(URL_2).build();
+ * 
+ */
+ClientBuilder clone();
+
+/**
+ * Configure the service URL for the Pulsar service.
+ * 
+ * This parameter is required
+ *
+ * @param serviceUrl
+ * @return
+ */
+ClientBuilder serviceUrl(String serviceUrl);
+
+/**
+ * Set the authentication provider to use in the Pulsar client instance.
+ * 
+ * Example:
+ * 
+ *
+ * 
+ * 
+ * String AUTH_CLASS = 
"org.apache.pulsar.client.impl.auth.AuthenticationTls";
+ *
+ * Map conf = new TreeMap<>();
+ * conf.put("tlsCertFile", "/my/cert/file");
+ * conf.put("tlsKeyFile", "/my/key/file");
+ *
+ * Authentication auth = AuthenticationFactor.create(AUTH_CLASS, conf);
+ *
+ * PulsarClient client = PulsarClient.builder()
+ *  .serviceUrl(SERVICE_URL)
+ *  .authentication(auth)
+ *  .build();
+ * 
+ * 
+ * 
+ *
+ * @param authentication
+ *an instance of the {@link Authentication} provider already 
constructed
+ */
+ClientBuilder authentication(Authentication authentication);
+
+/**
+ * Set the authentication provider to use in the Pulsar client instance.
+ * 
+ * Example:
+ * 
+ *
+ * 
+ * 
+ * String AUTH_CLASS = 
"org.apache.pulsar.client.impl.auth.AuthenticationTls";
+ * String AUTH_PARAMS = 
"tlsCertFile:/my/cert/file,tlsKeyFile:/my/key/file";
+ *
+ * PulsarClient client = PulsarClient.builder()
+ *  .serviceUrl(SERVICE_URL)
+ *  .authentication(AUTH_CLASS, AUTH_PARAMS)
+ *  .build();
+ * 
+ * 
+ * 
+ *
+ * @param authPluginClassName
+ *name of the Authentication-Plugin you want to use
+ * @param authParamsString
+ *string which represents parameters for the 
Authentication-Plugin, e.g., "key1:val1,key2:val2"
+ * @throws UnsupportedAuthenticationException
+ * failed to instantiate specified Authentication-Plugin
+ */
+ClientBuilder authentication(String authPluginClassName, String 
authParamsString)
+throws UnsupportedAuthenticationException;
+
+/**
+ * Set the authentication provider to use in the Pulsar client instance.
+ * 
+ * Example:
+ * 
+ *
+ * 
+ * 
+ * String AUTH_CLASS = 
"org.apache.pulsar.client.impl.auth.AuthenticationTls";
+ *
+ * Map conf = new TreeMap<>();
+ * conf.put("tlsCertFile", "/my/cert/file");
+ * conf.put("tlsKeyFile", "/my/key/file");
+ *
+ * PulsarClient client = PulsarClient.builder()
+ *  .serviceUrl(SERVICE_URL)
+ *  .authentication(AUTH_CLASS, conf)
+ *  .build();
+ * 
+ * 
+ *
+ * @param authPluginClassName

[GitHub] maskit commented on a change in pull request #1089: PIP-12 Introduce builder for creating Producer Consumer Reader

2018-02-15 Thread GitBox
maskit commented on a change in pull request #1089: PIP-12 Introduce builder 
for creating Producer Consumer Reader
URL: https://github.com/apache/incubator-pulsar/pull/1089#discussion_r168494543
 
 

 ##
 File path: 
pulsar-client/src/main/java/org/apache/pulsar/client/api/ClientBuilder.java
 ##
 @@ -0,0 +1,265 @@
+/**
+ * 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.pulsar.client.api;
+
+import java.io.Serializable;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+
+import 
org.apache.pulsar.client.api.PulsarClientException.UnsupportedAuthenticationException;
+
+/**
+ * Builder interface that is used to construct a {@link PulsarClient} instance.
+ *
+ * @since 2.0.0
+ */
+public interface ClientBuilder extends Serializable, Cloneable {
+
+/**
+ * @return the new {@link PulsarClient} instance
+ */
+PulsarClient build() throws PulsarClientException;
+
+/**
+ * Create a copy of the current client builder.
+ * 
+ * Cloning the builder can be used to share an incomplete configuration 
and specialize it multiple times. For
+ * example:
+ *
+ * 
+ * ClientBuilder builder = 
PulsarClient.builder().ioThreads(8).listenerThreads(4);
+ *
+ * PulsarClient client1 = builder.clone().serviceUrl(URL_1).build();
+ * PulsarClient client2 = builder.clone().serviceUrl(URL_2).build();
+ * 
+ */
+ClientBuilder clone();
+
+/**
+ * Configure the service URL for the Pulsar service.
+ * 
+ * This parameter is required
+ *
+ * @param serviceUrl
+ * @return
+ */
+ClientBuilder serviceUrl(String serviceUrl);
+
+/**
+ * Set the authentication provider to use in the Pulsar client instance.
+ * 
+ * Example:
+ * 
+ *
+ * 
+ * 
+ * String AUTH_CLASS = 
"org.apache.pulsar.client.impl.auth.AuthenticationTls";
+ *
+ * Map conf = new TreeMap<>();
+ * conf.put("tlsCertFile", "/my/cert/file");
+ * conf.put("tlsKeyFile", "/my/key/file");
+ *
+ * Authentication auth = AuthenticationFactor.create(AUTH_CLASS, conf);
+ *
+ * PulsarClient client = PulsarClient.builder()
+ *  .serviceUrl(SERVICE_URL)
+ *  .authentication(auth)
+ *  .build();
+ * 
+ * 
+ * 
+ *
+ * @param authentication
+ *an instance of the {@link Authentication} provider already 
constructed
+ */
+ClientBuilder authentication(Authentication authentication);
+
+/**
+ * Set the authentication provider to use in the Pulsar client instance.
+ * 
+ * Example:
+ * 
+ *
+ * 
+ * 
+ * String AUTH_CLASS = 
"org.apache.pulsar.client.impl.auth.AuthenticationTls";
+ * String AUTH_PARAMS = 
"tlsCertFile:/my/cert/file,tlsKeyFile:/my/key/file";
+ *
+ * PulsarClient client = PulsarClient.builder()
+ *  .serviceUrl(SERVICE_URL)
+ *  .authentication(AUTH_CLASS, AUTH_PARAMS)
+ *  .build();
+ * 
+ * 
+ * 
+ *
+ * @param authPluginClassName
+ *name of the Authentication-Plugin you want to use
+ * @param authParamsString
+ *string which represents parameters for the 
Authentication-Plugin, e.g., "key1:val1,key2:val2"
+ * @throws UnsupportedAuthenticationException
+ * failed to instantiate specified Authentication-Plugin
+ */
+ClientBuilder authentication(String authPluginClassName, String 
authParamsString)
+throws UnsupportedAuthenticationException;
+
+/**
+ * Set the authentication provider to use in the Pulsar client instance.
+ * 
+ * Example:
+ * 
+ *
+ * 
+ * 
+ * String AUTH_CLASS = 
"org.apache.pulsar.client.impl.auth.AuthenticationTls";
+ *
+ * Map conf = new TreeMap<>();
+ * conf.put("tlsCertFile", "/my/cert/file");
+ * conf.put("tlsKeyFile", "/my/key/file");
+ *
+ * PulsarClient client = PulsarClient.builder()
+ *  .serviceUrl(SERVICE_URL)
+ *  .authentication(AUTH_CLASS, conf)
+ *  .build();
+ * 
+ * 
+ *
+ * @param authPluginClassName

[GitHub] maskit commented on a change in pull request #1089: PIP-12 Introduce builder for creating Producer Consumer Reader

2018-02-15 Thread GitBox
maskit commented on a change in pull request #1089: PIP-12 Introduce builder 
for creating Producer Consumer Reader
URL: https://github.com/apache/incubator-pulsar/pull/1089#discussion_r168492833
 
 

 ##
 File path: 
pulsar-client/src/main/java/org/apache/pulsar/client/api/ConsumerBuilder.java
 ##
 @@ -0,0 +1,245 @@
+/**
+ * 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.pulsar.client.api;
+
+import java.io.Serializable;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * {@link ConsumerBuilder} is used to configure and create instances of {@link 
Consumer}.
+ *
+ * @see PulsarClient#newConsumer()
+ *
+ * @since 2.0.0
+ */
+public interface ConsumerBuilder extends Serializable, Cloneable {
+
+/**
+ * Create a copy of the current consumer builder.
+ * 
+ * Cloning the builder can be used to share an incomplete configuration 
and specialize it multiple times. For
+ * example:
+ *
+ * 
+ * ConsumerBuilder builder = client.newConsumer() //
+ * .subscriptionName("my-subscription-name") //
+ * .subscriptionType(SubscriptionType.Shared) //
+ * .receiverQueueSize(10);
+ *
+ * Consumer consumer1 = builder.clone().topic(TOPIC_1).subscribe();
+ * Consumer consumer2 = builder.clone().topic(TOPIC_2).subscribe();
+ * 
+ */
+ConsumerBuilder clone();
+
+/**
+ * Finalize the {@link Consumer} creation by subscribing to the topic.
+ *
+ * 
+ * If the subscription does not exist, a new subscription will be created 
and all messages published after the
+ * creation will be retained until acknowledged, even if the consumer is 
not connected.
+ *
+ * @return the {@link Consumer} instance
+ * @throws PulsarClientException
+ * if the the subscribe operation fails
+ */
+Consumer subscribe() throws PulsarClientException;
+
+/**
+ * Finalize the {@link Consumer} creation by subscribing to the topic in 
asynchronous mode.
+ *
+ * 
+ * If the subscription does not exist, a new subscription will be created 
and all messages published after the
+ * creation will be retained until acknowledged, even if the consumer is 
not connected.
+ *
+ * @return a future that will yield a {@link Consumer} instance
+ * @throws PulsarClientException
+ * if the the subscribe operation fails
+ */
+CompletableFuture subscribeAsync();
+
+/**
+ * Specify the topic this consumer will subscribe on.
+ * 
+ * This argument is required when constructing the consumer.
+ *
+ * @param topicName
+ */
+ConsumerBuilder topic(String topicName);
 
 Review comment:
   It's just an idea but we may want to pass a Topic object instead of its 
string representation. Then this interface would be freed to define a format of 
topic name string (persistent://.../.../...), and users can manage their topic 
names in any format.


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] sijie commented on a change in pull request #1223: Add a `internalConfiguration` admin restful endpoint for query internal configuration

2018-02-15 Thread GitBox
sijie commented on a change in pull request #1223: Add a 
`internalConfiguration` admin restful endpoint for query internal configuration
URL: https://github.com/apache/incubator-pulsar/pull/1223#discussion_r168466596
 
 

 ##
 File path: 
pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/PulsarAdmin.java
 ##
 @@ -154,6 +156,7 @@ public PulsarAdmin(URL serviceUrl, ClientConfiguration 
pulsarConfig) throws Puls
 WebTarget root = client.target(serviceUrl.toString());
 web = root.path("/admin");
 
+this.internalConfiguration = new InternalConfigurationImpl(web, auth);
 
 Review comment:
   - I was following how brokerStats is organized, which is not part of broker 
as well. 
   - "brokers" is more about "brokers" in a cluster, not about internal stuffs 
for a broker. configuration here is more about "confiugration" in either 
cluster/broker level. I am feeling it is much better to have configuration 
stuffs in a separate endpoint.
   
   let me know what is your opinons


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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] sijie commented on a change in pull request #1223: Add a `internalConfiguration` admin restful endpoint for query internal configuration

2018-02-15 Thread GitBox
sijie commented on a change in pull request #1223: Add a 
`internalConfiguration` admin restful endpoint for query internal configuration
URL: https://github.com/apache/incubator-pulsar/pull/1223#discussion_r168465809
 
 

 ##
 File path: 
pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/InternalConfiguration.java
 ##
 @@ -0,0 +1,50 @@
+/**
+ * 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.pulsar.broker.admin;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+import org.apache.bookkeeper.conf.ClientConfiguration;
+import org.apache.pulsar.common.conf.InternalConfigurationData;
+
+@Path("/internal-configuration")
+@Api(value = "/internal-configuration", description = "InternalConfiguration 
admin apis", tags = "internal-configuration")
+@Produces(MediaType.APPLICATION_JSON)
+public class InternalConfiguration extends AdminResource {
+
+@GET
+@ApiOperation(value = "Get the internal configuration data", response = 
InternalConfigurationData.class)
+@ApiResponses(value = {
+@ApiResponse(code = 403, message = "Don't have admin permission")
 
 Review comment:
   isn't accessing admin rest endpoint requires authentication? 403 is returned 
when client is not authenticated to access admin rest endpoint, no?
   
   please correct me if I am wrong.


This is an automated message from the Apache Git Service.
To respond to the message, please log on 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


[incubator-pulsar] branch asf-site updated: Updated site at revision f2160c0

2018-02-15 Thread mmerli
This is an automated email from the ASF dual-hosted git repository.

mmerli pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-pulsar.git


The following commit(s) were added to refs/heads/asf-site by this push:
 new 866b635  Updated site at revision f2160c0
866b635 is described below

commit 866b635ec28d56d63316c9d09322f383dcdae25a
Author: jenkins 
AuthorDate: Thu Feb 15 08:15:42 2018 +

Updated site at revision f2160c0
---
 content/api/client/allclasses-frame.html   |  1 +
 content/api/client/allclasses-noframe.html |  1 +
 content/api/client/index-all.html  | 18 +
 .../pulsar/client/api/ConsumerConfiguration.html   | 94 +-
 .../client/api/ConsumerCryptoFailureAction.html|  4 +-
 ...toKeyReader.html => ConsumerEventListener.html} | 55 +++--
 .../apache/pulsar/client/api/CryptoKeyReader.html  |  4 +-
 .../apache/pulsar/client/api/package-frame.html|  1 +
 .../apache/pulsar/client/api/package-summary.html  | 28 ---
 .../org/apache/pulsar/client/api/package-tree.html |  1 +
 content/api/client/overview-tree.html  |  1 +
 content/api/client/serialized-form.html|  4 +
 .../docs/latest/project/BinaryProtocol/index.html  | 72 +
 content/ja/project/BinaryProtocol/index.html   | 72 +
 14 files changed, 295 insertions(+), 61 deletions(-)

diff --git a/content/api/client/allclasses-frame.html 
b/content/api/client/allclasses-frame.html
index 7000b2f..ab48302 100644
--- a/content/api/client/allclasses-frame.html
+++ b/content/api/client/allclasses-frame.html
@@ -20,6 +20,7 @@
 Consumer
 ConsumerConfiguration
 ConsumerCryptoFailureAction
+ConsumerEventListener
 CryptoKeyReader
 DataURLStreamHandler
 EncodedAuthenticationParameterSupport
diff --git a/content/api/client/allclasses-noframe.html 
b/content/api/client/allclasses-noframe.html
index afba166..cd14eee 100644
--- a/content/api/client/allclasses-noframe.html
+++ b/content/api/client/allclasses-noframe.html
@@ -20,6 +20,7 @@
 Consumer
 ConsumerConfiguration
 ConsumerCryptoFailureAction
+ConsumerEventListener
 CryptoKeyReader
 DataURLStreamHandler
 EncodedAuthenticationParameterSupport
diff --git a/content/api/client/index-all.html 
b/content/api/client/index-all.html
index 296466e..2253c71 100644
--- a/content/api/client/index-all.html
+++ b/content/api/client/index-all.html
@@ -136,6 +136,14 @@
 
 B
 
+becameActive(Consumer,
 int) - Method in interface org.apache.pulsar.client.api.ConsumerEventListener
+
+Notified when the consumer group is changed, and the 
consumer becomes the active consumer.
+
+becameInactive(Consumer,
 int) - Method in interface org.apache.pulsar.client.api.ConsumerEventListener
+
+Notified when the consumer group is changed, and the 
consumer is still inactive or becomes inactive.
+
 BrokerMetadataException(String)
 - Constructor for exception org.apache.pulsar.client.api.PulsarClientException.BrokerMetadataException
  
 BrokerPersistenceException(String)
 - Constructor for exception org.apache.pulsar.client.api.PulsarClientException.BrokerPersistenceException
@@ -230,6 +238,10 @@
  
 ConsumerCryptoFailureAction - Enum in org.apache.pulsar.client.api
  
+ConsumerEventListener - Interface in org.apache.pulsar.client.api
+
+Listener on the consumer state changes.
+
 create(String,
 String) - Static method in class org.apache.pulsar.client.api.AuthenticationFactory
 
 Create an instance of the Authentication-Plugin
@@ -355,6 +367,8 @@
 
 getConnectionsPerBroker()
 - Method in class org.apache.pulsar.client.api.ClientConfiguration
  
+getConsumerEventListener()
 - Method in class org.apache.pulsar.client.api.ConsumerConfiguration
+ 
 getConsumerName()
 - Method in class org.apache.pulsar.client.api.ConsumerConfiguration
  
 getContent()
 - Method in class org.apache.pulsar.client.api.url.URL
@@ -904,6 +918,10 @@
 
 Sets the max number of connection that the client library 
will open to a single broker.
 
+setConsumerEventListener(ConsumerEventListener)
 - Method in class org.apache.pulsar.client.api.ConsumerConfiguration
+
+Sets a ConsumerEventListener for the 
consumer.
+
 setConsumerName(String)
 - Method in class org.apache.pulsar.client.api.ConsumerConfiguration
 
 Set the consumer name.
diff --git 
a/content/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html 
b/content/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html
index d6eb6b1..0d0e272 100644
--- a/content/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html
+++ b/content/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html
@@ -17,7 +17,7 @@
 catch(err) {
 }
 //-->
-var methods = 
{"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10};
+var methods = 
{"i0":10,"i1":10,"i2":10,"i3":10,"