[GitHub] rdhabalia commented on issue #1241: Add REST api to check host-status for adding/removing from vip
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
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/
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)
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
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
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
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
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
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)
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
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
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
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
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
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
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
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,"