[GitHub] zhaijack commented on issue #1119: Add pulsar-prometheus docker image to pulsar repo

2018-01-27 Thread GitBox
zhaijack commented on issue #1119: Add  pulsar-prometheus docker image to 
pulsar repo
URL: 
https://github.com/apache/incubator-pulsar/issues/1119#issuecomment-361044611
 
 
   PR https://github.com/apache/incubator-pulsar/pull/1127/ is for this.


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] zhaijack opened a new pull request #1127: Issue #1119: move dockerfile for pulsar dcos prometheus into pulsar repo

2018-01-27 Thread GitBox
zhaijack opened a new pull request #1127: Issue #1119: move dockerfile for 
pulsar dcos prometheus into pulsar repo
URL: https://github.com/apache/incubator-pulsar/pull/1127
 
 
   ### Motivation
   
   We have added 
[pulsar-prometheus](https://github.com/apache/incubator-pulsar/blob/master/deployment/dcos/PulsarGroups.json#L251)
 docker image in #950 for docs deployment. it is not present into pulsar repo. 
It would be great if we can add it to pulsar repo for any future changes or 
enhancement.
   The original code is 
[here](https://github.com/zhaijack/prometheus_pulsar_dcos).
   
   ### Modifications
   
   Add Dockerfile and prometheus config file for dcos-mesos-marathon service 
discovery.
   
   ### Result
   
   Bring alternative for `PulsarGroups.json` to use new prometheus image, after 
`apachepulsar` have it.


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] zhaijack commented on issue #1119: Add pulsar-prometheus docker image to pulsar repo

2018-01-27 Thread GitBox
zhaijack commented on issue #1119: Add  pulsar-prometheus docker image to 
pulsar repo
URL: 
https://github.com/apache/incubator-pulsar/issues/1119#issuecomment-361042497
 
 
   +1. Thanks for the reminder @rdhabalia .


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] jai1 commented on issue #1125: Added missing C++ enum values

2018-01-27 Thread GitBox
jai1 commented on issue #1125: Added missing C++ enum values
URL: https://github.com/apache/incubator-pulsar/pull/1125#issuecomment-361035120
 
 
   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] jai1 commented on a change in pull request #1125: Added missing C++ enum values

2018-01-27 Thread GitBox
jai1 commented on a change in pull request #1125: Added missing C++ enum values
URL: https://github.com/apache/incubator-pulsar/pull/1125#discussion_r164287731
 
 

 ##
 File path: pulsar-client-cpp/lib/ClientConnection.cc
 ##
 @@ -97,6 +97,12 @@ static Result getResult(ServerError serverError) {
 
 case UnsupportedVersionError:
 return ResultUnsupportedVersionError;
+
+case TooManyRequests:
+return ResultTooManyLookupRequestException;
 
 Review comment:
   ResultTooManyRequestException - in case we want to ratelimit something else 
in the future


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] jai1 commented on issue #1002: Making Pulsar Proxy more secure

2018-01-27 Thread GitBox
jai1 commented on issue #1002: Making Pulsar Proxy more secure
URL: https://github.com/apache/incubator-pulsar/pull/1002#issuecomment-361034301
 
 
   @merlimat @rdhabalia @saandrews - thanks for the feedback - have addressed 
all your comments
   Just need a +1 to merge


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 opened a new pull request #1125: Added missing C++ enum values

2018-01-27 Thread GitBox
merlimat opened a new pull request #1125: Added missing C++ enum values
URL: https://github.com/apache/incubator-pulsar/pull/1125
 
 
   ### Motivation
   Fix warnings for missing enum values in switch statements


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 opened a new issue #1126: Intermittent test failure in testSkipCorruptDataLedger

2018-01-27 Thread GitBox
merlimat opened a new issue #1126: Intermittent test failure in 
testSkipCorruptDataLedger
URL: https://github.com/apache/incubator-pulsar/issues/1126
 
 
   
   
https://builds.apache.org/job/pulsar-pull-request/org.apache.pulsar$pulsar-broker/1274/testReport/junit/org.apache.pulsar.broker.service/BrokerBkEnsemblesTests/testSkipCorruptDataLedger/
   
   ```
   Method 
org.apache.pulsar.broker.service.BrokerBkEnsemblesTests.testSkipCorruptDataLedger()
 didn't finish within the time-out 6000
   ```


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 opened a new pull request #1124: Support Pulsar proxy from C++/Python client library

2018-01-27 Thread GitBox
merlimat opened a new pull request #1124: Support Pulsar proxy from C++/Python 
client library
URL: https://github.com/apache/incubator-pulsar/pull/1124
 
 
   ### Motivation
   
   Currently the C++ client lib (and by transition also the Python lib) is not 
following the redirection instruction to force the client to re-connect always 
through the Pulsar proxy.


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 issue #1029: Fix MessageRouter hash inconsistent on C++/Java client

2018-01-27 Thread GitBox
merlimat commented on issue #1029: Fix MessageRouter hash inconsistent on 
C++/Java client
URL: https://github.com/apache/incubator-pulsar/pull/1029#issuecomment-361021208
 
 
   @Licht-T The change looks good to me. Just the last thing is to move the new 
headers added in `
   pulsar-client-cpp/include/pulsar/BoostHash.h ` into 
`pulsar-client-cpp/lib/...`  because they should not be exposed as public API 
to the user.


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] Licht-T commented on a change in pull request #1029: Fix MessageRouter hash inconsistent on C++/Java client

2018-01-27 Thread GitBox
Licht-T commented on a change in pull request #1029: Fix MessageRouter hash 
inconsistent on C++/Java client
URL: https://github.com/apache/incubator-pulsar/pull/1029#discussion_r164277238
 
 

 ##
 File path: pulsar-client/src/main/java/org/apache/pulsar/client/impl/Hash.java
 ##
 @@ -0,0 +1,23 @@
+/**
+ * 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.impl;
+
+public interface Hash {
+long makeHash(String s);
 
 Review comment:
   @merlimat After second thought, I found you are right! Excuse me!


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] Licht-T commented on a change in pull request #1029: Fix MessageRouter hash inconsistent on C++/Java client

2018-01-27 Thread GitBox
Licht-T commented on a change in pull request #1029: Fix MessageRouter hash 
inconsistent on C++/Java client
URL: https://github.com/apache/incubator-pulsar/pull/1029#discussion_r164277055
 
 

 ##
 File path: pulsar-client/src/main/java/org/apache/pulsar/client/impl/Hash.java
 ##
 @@ -0,0 +1,23 @@
+/**
+ * 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.impl;
+
+public interface Hash {
+long makeHash(String s);
 
 Review comment:
   @merlimat IMO, this conversion may break the uniform distribution of hash. I 
concern that message routing is biased to the specific partition.


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] Licht-T commented on a change in pull request #1029: Fix MessageRouter hash inconsistent on C++/Java client

2018-01-27 Thread GitBox
Licht-T commented on a change in pull request #1029: Fix MessageRouter hash 
inconsistent on C++/Java client
URL: https://github.com/apache/incubator-pulsar/pull/1029#discussion_r164277055
 
 

 ##
 File path: pulsar-client/src/main/java/org/apache/pulsar/client/impl/Hash.java
 ##
 @@ -0,0 +1,23 @@
+/**
+ * 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.impl;
+
+public interface Hash {
+long makeHash(String s);
 
 Review comment:
   @merlimat IMO, this conversion breaks the uniform distribution of hash. I 
concern that message routing is biased to the specific partition.


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 #1029: Fix MessageRouter hash inconsistent on C++/Java client

2018-01-27 Thread GitBox
merlimat commented on a change in pull request #1029: Fix MessageRouter hash 
inconsistent on C++/Java client
URL: https://github.com/apache/incubator-pulsar/pull/1029#discussion_r164276925
 
 

 ##
 File path: pulsar-client/src/main/java/org/apache/pulsar/client/impl/Hash.java
 ##
 @@ -0,0 +1,23 @@
+/**
+ * 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.impl;
+
+public interface Hash {
+long makeHash(String s);
 
 Review comment:
   I don't think that it really changes anything because the hash is then 
moduled to the number of partitions, so all the high order bits are anyway 
discarded.


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] Licht-T commented on a change in pull request #1029: Fix MessageRouter hash inconsistent on C++/Java client

2018-01-27 Thread GitBox
Licht-T commented on a change in pull request #1029: Fix MessageRouter hash 
inconsistent on C++/Java client
URL: https://github.com/apache/incubator-pulsar/pull/1029#discussion_r164276922
 
 

 ##
 File path: pulsar-client/src/main/java/org/apache/pulsar/client/impl/Hash.java
 ##
 @@ -0,0 +1,23 @@
+/**
+ * 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.impl;
+
+public interface Hash {
+long makeHash(String s);
 
 Review comment:
   I think this is not good workaround because this may waste the quality of 
hash.


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 #1029: Fix MessageRouter hash inconsistent on C++/Java client

2018-01-27 Thread GitBox
merlimat commented on a change in pull request #1029: Fix MessageRouter hash 
inconsistent on C++/Java client
URL: https://github.com/apache/incubator-pulsar/pull/1029#discussion_r164276925
 
 

 ##
 File path: pulsar-client/src/main/java/org/apache/pulsar/client/impl/Hash.java
 ##
 @@ -0,0 +1,23 @@
+/**
+ * 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.impl;
+
+public interface Hash {
+long makeHash(String s);
 
 Review comment:
   I don't think that it really changes anything because the hash is then 
modules to the number of partitions, so all the high order bits are anyway 
discarded.


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 #1029: Fix MessageRouter hash inconsistent on C++/Java client

2018-01-27 Thread GitBox
merlimat commented on a change in pull request #1029: Fix MessageRouter hash 
inconsistent on C++/Java client
URL: https://github.com/apache/incubator-pulsar/pull/1029#discussion_r164276901
 
 

 ##
 File path: 
pulsar-client/src/main/java/org/apache/pulsar/client/api/ProducerConfiguration.java
 ##
 @@ -46,7 +46,7 @@
 private boolean blockIfQueueFull = false;
 private int maxPendingMessages = 1000;
 private MessageRoutingMode messageRouteMode = 
MessageRoutingMode.SinglePartition;
-private boolean useMurmurHash = true;
+private HashingScheme hashingScheme = HashingScheme.Murmur3_32Hash;
 
 Review comment:
   Yes, unfortunately we cannot change the default in either library 
implementation. C++ would have to keep using the current BoostHash


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] Licht-T commented on a change in pull request #1029: Fix MessageRouter hash inconsistent on C++/Java client

2018-01-27 Thread GitBox
Licht-T commented on a change in pull request #1029: Fix MessageRouter hash 
inconsistent on C++/Java client
URL: https://github.com/apache/incubator-pulsar/pull/1029#discussion_r164276839
 
 

 ##
 File path: pulsar-client/src/main/java/org/apache/pulsar/client/impl/Hash.java
 ##
 @@ -0,0 +1,23 @@
+/**
+ * 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.impl;
+
+public interface Hash {
+long makeHash(String s);
 
 Review comment:
   @merlimat Does this conversion keep the quality of hash?


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 #1029: Fix MessageRouter hash inconsistent on C++/Java client

2018-01-27 Thread GitBox
merlimat commented on a change in pull request #1029: Fix MessageRouter hash 
inconsistent on C++/Java client
URL: https://github.com/apache/incubator-pulsar/pull/1029#discussion_r164276767
 
 

 ##
 File path: pulsar-client/src/main/java/org/apache/pulsar/client/impl/Hash.java
 ##
 @@ -0,0 +1,23 @@
+/**
+ * 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.impl;
+
+public interface Hash {
+long makeHash(String s);
 
 Review comment:
   Sure, but the number is anyway masked with `& Integer.MAX_INT` so the bit 
sign will be stripped. 


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] Licht-T commented on a change in pull request #1029: Fix MessageRouter hash inconsistent on C++/Java client

2018-01-27 Thread GitBox
Licht-T commented on a change in pull request #1029: Fix MessageRouter hash 
inconsistent on C++/Java client
URL: https://github.com/apache/incubator-pulsar/pull/1029#discussion_r164276754
 
 

 ##
 File path: 
pulsar-client/src/main/java/org/apache/pulsar/client/api/ProducerConfiguration.java
 ##
 @@ -46,7 +46,7 @@
 private boolean blockIfQueueFull = false;
 private int maxPendingMessages = 1000;
 private MessageRoutingMode messageRouteMode = 
MessageRoutingMode.SinglePartition;
-private boolean useMurmurHash = true;
+private HashingScheme hashingScheme = HashingScheme.Murmur3_32Hash;
 
 Review comment:
   @merlimat Is this also can be said to C++ client?


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] Licht-T commented on a change in pull request #1029: Fix MessageRouter hash inconsistent on C++/Java client

2018-01-27 Thread GitBox
Licht-T commented on a change in pull request #1029: Fix MessageRouter hash 
inconsistent on C++/Java client
URL: https://github.com/apache/incubator-pulsar/pull/1029#discussion_r164276690
 
 

 ##
 File path: pulsar-client/src/main/java/org/apache/pulsar/client/impl/Hash.java
 ##
 @@ -0,0 +1,23 @@
+/**
+ * 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.impl;
+
+public interface Hash {
+long makeHash(String s);
 
 Review comment:
   @merlimat MurmurHash returns an unsigned int value, so we have to return as 
a positive value for calculating the partition.


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] Licht-T commented on a change in pull request #1029: Fix MessageRouter hash inconsistent on C++/Java client

2018-01-27 Thread GitBox
Licht-T commented on a change in pull request #1029: Fix MessageRouter hash 
inconsistent on C++/Java client
URL: https://github.com/apache/incubator-pulsar/pull/1029#discussion_r164276690
 
 

 ##
 File path: pulsar-client/src/main/java/org/apache/pulsar/client/impl/Hash.java
 ##
 @@ -0,0 +1,23 @@
+/**
+ * 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.impl;
+
+public interface Hash {
+long makeHash(String s);
 
 Review comment:
   @merlimat MurmurHash returns an unsigned int value, so we have to return "as 
is" for calculating the partition.


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 master updated: Remove stack traces from topic lookup errors during unloads (#1121)

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

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


The following commit(s) were added to refs/heads/master by this push:
 new 4e60a98  Remove stack traces from topic lookup errors during unloads 
(#1121)
4e60a98 is described below

commit 4e60a98375dc461c891693c5ff0dbc198e80a645
Author: Matteo Merli 
AuthorDate: Sat Jan 27 09:33:24 2018 -0800

Remove stack traces from topic lookup errors during unloads (#1121)
---
 .../pulsar/broker/lookup/DestinationLookup.java| 24 --
 1 file changed, 18 insertions(+), 6 deletions(-)

diff --git 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/lookup/DestinationLookup.java
 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/lookup/DestinationLookup.java
index 52a17b9..a666166 100644
--- 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/lookup/DestinationLookup.java
+++ 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/lookup/DestinationLookup.java
@@ -26,6 +26,7 @@ import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.Optional;
 import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.CompletionException;
 
 import javax.ws.rs.DefaultValue;
 import javax.ws.rs.Encoded;
@@ -281,18 +282,29 @@ public class DestinationLookup extends PulsarWebResource {
 
newLookupResponse(lookupData.getBrokerUrl(), lookupData.getBrokerUrlTls(),
 true /* authoritative */, 
LookupType.Connect, requestId, false));
 }
-}).exceptionally(e -> {
-log.warn("Failed to lookup {} for topic {} with 
error {}", clientAppId, fqdn.toString(),
-e.getMessage(), e);
+}).exceptionally(ex -> {
+if (ex instanceof CompletionException && 
ex.getCause() instanceof IllegalStateException) {
+log.info("Failed to lookup {} for topic {} 
with error {}", clientAppId, fqdn.toString(),
+ex.getCause().getMessage());
+} else {
+log.warn("Failed to lookup {} for topic {} 
with error {}", clientAppId, fqdn.toString(),
+ex.getMessage(), ex);
+}
 lookupfuture.complete(
-
newLookupErrorResponse(ServerError.ServiceNotReady, e.getMessage(), requestId));
+
newLookupErrorResponse(ServerError.ServiceNotReady, ex.getMessage(), 
requestId));
 return null;
 });
 }
 
 }).exceptionally(ex -> {
-log.warn("Failed to lookup {} for topic {} with error {}", 
clientAppId, fqdn.toString(), ex.getMessage(),
-ex);
+if (ex instanceof CompletionException && ex.getCause() instanceof 
IllegalStateException) {
+log.info("Failed to lookup {} for topic {} with error {}", 
clientAppId, fqdn.toString(),
+ex.getCause().getMessage());
+} else {
+log.warn("Failed to lookup {} for topic {} with error {}", 
clientAppId, fqdn.toString(),
+ex.getMessage(), ex);
+}
+
 
lookupfuture.complete(newLookupErrorResponse(ServerError.ServiceNotReady, 
ex.getMessage(), requestId));
 return null;
 });

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


[GitHub] merlimat closed pull request #1121: Remove stack traces from topic lookup errors during unloads

2018-01-27 Thread GitBox
merlimat closed pull request #1121: Remove stack traces from topic lookup 
errors during unloads
URL: https://github.com/apache/incubator-pulsar/pull/1121
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/lookup/DestinationLookup.java
 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/lookup/DestinationLookup.java
index 52a17b916..a666166c4 100644
--- 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/lookup/DestinationLookup.java
+++ 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/lookup/DestinationLookup.java
@@ -26,6 +26,7 @@
 import java.net.URISyntaxException;
 import java.util.Optional;
 import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.CompletionException;
 
 import javax.ws.rs.DefaultValue;
 import javax.ws.rs.Encoded;
@@ -281,18 +282,29 @@ public String 
getNamespaceBundle(@PathParam("destination-domain") String destina
 
newLookupResponse(lookupData.getBrokerUrl(), lookupData.getBrokerUrlTls(),
 true /* authoritative */, 
LookupType.Connect, requestId, false));
 }
-}).exceptionally(e -> {
-log.warn("Failed to lookup {} for topic {} with 
error {}", clientAppId, fqdn.toString(),
-e.getMessage(), e);
+}).exceptionally(ex -> {
+if (ex instanceof CompletionException && 
ex.getCause() instanceof IllegalStateException) {
+log.info("Failed to lookup {} for topic {} 
with error {}", clientAppId, fqdn.toString(),
+ex.getCause().getMessage());
+} else {
+log.warn("Failed to lookup {} for topic {} 
with error {}", clientAppId, fqdn.toString(),
+ex.getMessage(), ex);
+}
 lookupfuture.complete(
-
newLookupErrorResponse(ServerError.ServiceNotReady, e.getMessage(), requestId));
+
newLookupErrorResponse(ServerError.ServiceNotReady, ex.getMessage(), 
requestId));
 return null;
 });
 }
 
 }).exceptionally(ex -> {
-log.warn("Failed to lookup {} for topic {} with error {}", 
clientAppId, fqdn.toString(), ex.getMessage(),
-ex);
+if (ex instanceof CompletionException && ex.getCause() instanceof 
IllegalStateException) {
+log.info("Failed to lookup {} for topic {} with error {}", 
clientAppId, fqdn.toString(),
+ex.getCause().getMessage());
+} else {
+log.warn("Failed to lookup {} for topic {} with error {}", 
clientAppId, fqdn.toString(),
+ex.getMessage(), ex);
+}
+
 
lookupfuture.complete(newLookupErrorResponse(ServerError.ServiceNotReady, 
ex.getMessage(), requestId));
 return null;
 });


 


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 #1029: Fix MessageRouter hash inconsistent on C++/Java client

2018-01-27 Thread GitBox
merlimat commented on a change in pull request #1029: Fix MessageRouter hash 
inconsistent on C++/Java client
URL: https://github.com/apache/incubator-pulsar/pull/1029#discussion_r164276530
 
 

 ##
 File path: pulsar-client/src/main/java/org/apache/pulsar/client/impl/Hash.java
 ##
 @@ -0,0 +1,23 @@
+/**
+ * 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.impl;
+
+public interface Hash {
+long makeHash(String s);
 
 Review comment:
   Since we're converting later to an `int`, we should just have an it here.


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 #1029: Fix MessageRouter hash inconsistent on C++/Java client

2018-01-27 Thread GitBox
merlimat commented on a change in pull request #1029: Fix MessageRouter hash 
inconsistent on C++/Java client
URL: https://github.com/apache/incubator-pulsar/pull/1029#discussion_r164276471
 
 

 ##
 File path: 
pulsar-client/src/main/java/org/apache/pulsar/client/api/ProducerConfiguration.java
 ##
 @@ -46,7 +46,7 @@
 private boolean blockIfQueueFull = false;
 private int maxPendingMessages = 1000;
 private MessageRoutingMode messageRouteMode = 
MessageRoutingMode.SinglePartition;
-private boolean useMurmurHash = true;
+private HashingScheme hashingScheme = HashingScheme.Murmur3_32Hash;
 
 Review comment:
   We cannot change the default from Java to Murmur hash, since it would 
unexpectedly break ordering for people upgrading the library.


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 #1029: Fix MessageRouter hash inconsistent on C++/Java client

2018-01-27 Thread GitBox
merlimat commented on a change in pull request #1029: Fix MessageRouter hash 
inconsistent on C++/Java client
URL: https://github.com/apache/incubator-pulsar/pull/1029#discussion_r164276504
 
 

 ##
 File path: 
pulsar-client/src/main/java/org/apache/pulsar/client/impl/MessageRouterBase.java
 ##
 @@ -19,11 +19,19 @@
 package org.apache.pulsar.client.impl;
 
 import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.ProducerConfiguration;
 
 public abstract class MessageRouterBase implements MessageRouter {
-final boolean useMurmurHash;
+protected final Hash hash;
 
-MessageRouterBase(boolean useMurmurHash) {
-this.useMurmurHash = useMurmurHash;
+MessageRouterBase(ProducerConfiguration.HashingScheme hashingScheme) {
+switch (hashingScheme) {
+case JavaStringHash:
+this.hash = new JavaStringHash();
 
 Review comment:
   Maybe we can keep static instances of the Hashing objects since they can be 
shared around


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 #1029: Fix MessageRouter hash inconsistent on C++/Java client

2018-01-27 Thread GitBox
merlimat commented on a change in pull request #1029: Fix MessageRouter hash 
inconsistent on C++/Java client
URL: https://github.com/apache/incubator-pulsar/pull/1029#discussion_r164276552
 
 

 ##
 File path: 
pulsar-client/src/main/java/org/apache/pulsar/client/impl/RoundRobinPartitionMessageRouterImpl.java
 ##
 @@ -34,25 +30,18 @@
 
AtomicIntegerFieldUpdater.newUpdater(RoundRobinPartitionMessageRouterImpl.class,
 "partitionIndex");
 private volatile int partitionIndex = 0;
 
-public RoundRobinPartitionMessageRouterImpl(boolean useMurmurHash) {
-super(useMurmurHash);
+public 
RoundRobinPartitionMessageRouterImpl(ProducerConfiguration.HashingScheme 
hashingScheme) {
+super(hashingScheme);
 PARTITION_INDEX_UPDATER.set(this, 0);
 }
 
 @Override
 public int choosePartition(Message msg, TopicMetadata topicMetadata) {
 // If the message has a key, it supersedes the round robin routing 
policy
 if (msg.hasKey()) {
-if (useMurmurHash) {
-HashFunction hf = Hashing.murmur3_32(0);
-HashCode hc = hf.hashString(msg.getKey(), 
StandardCharsets.UTF_8);
-long l = Integer.toUnsignedLong(hc.asInt());
-return (int) (l % topicMetadata.numPartitions());
-}
-else {
-return ((msg.getKey().hashCode() & Integer.MAX_VALUE) % 
topicMetadata.numPartitions());
-}
+return (int) (hash.makeHash(msg.getKey()) % 
topicMetadata.numPartitions());
 
 Review comment:
   This depends on the `makeHash()` to always return a positive number, which 
is true in the current implementation. We should mention that in the 
`makeHash()` javadoc.


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: r24486 - /release/incubator/pulsar/KEYS

2018-01-27 Thread massakam
Author: massakam
Date: Sat Jan 27 09:50:45 2018
New Revision: 24486

Log:
Added gpg key for massakam

Modified:
release/incubator/pulsar/KEYS

Modified: release/incubator/pulsar/KEYS
==
--- release/incubator/pulsar/KEYS (original)
+++ release/incubator/pulsar/KEYS Sat Jan 27 09:50:45 2018
@@ -262,3 +262,61 @@ LdYXGPpNcgP3+3NDVf0w5TeQTKkS7CyZQGa91Vud
 uMF+NSsJivr+nzunYwk=
 =yQRK
 -END PGP PUBLIC KEY BLOCK-
+pub   4096R/5D529B4D 2018-01-26
+uid  Masahiro Sakamoto (CODE SIGNING KEY) 
+sig 35D529B4D 2018-01-26  Masahiro Sakamoto (CODE SIGNING KEY) 

+sub   4096R/899ECDEC 2018-01-26
+sig  5D529B4D 2018-01-26  Masahiro Sakamoto (CODE SIGNING KEY) 

+
+-BEGIN PGP PUBLIC KEY BLOCK-
+Version: GnuPG v2.0.14 (GNU/Linux)
+
+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
+MYODllZTADQ/6omtfGFTjzD0/iE85VN5sw==
+=dDeQ
+-END PGP PUBLIC KEY BLOCK-




svn commit: r24485 - /dev/incubator/pulsar/KEYS

2018-01-27 Thread massakam
Author: massakam
Date: Sat Jan 27 09:38:37 2018
New Revision: 24485

Log:
Added gpg key for massakam

Modified:
dev/incubator/pulsar/KEYS

Modified: dev/incubator/pulsar/KEYS
==
--- dev/incubator/pulsar/KEYS (original)
+++ dev/incubator/pulsar/KEYS Sat Jan 27 09:38:37 2018
@@ -263,3 +263,61 @@ LdYXGPpNcgP3+3NDVf0w5TeQTKkS7CyZQGa91Vud
 uMF+NSsJivr+nzunYwk=
 =yQRK
 -END PGP PUBLIC KEY BLOCK-
+pub   4096R/5D529B4D 2018-01-26
+uid  Masahiro Sakamoto (CODE SIGNING KEY) 
+sig 35D529B4D 2018-01-26  Masahiro Sakamoto (CODE SIGNING KEY) 

+sub   4096R/899ECDEC 2018-01-26
+sig  5D529B4D 2018-01-26  Masahiro Sakamoto (CODE SIGNING KEY) 

+
+-BEGIN PGP PUBLIC KEY BLOCK-
+Version: GnuPG v2.0.14 (GNU/Linux)
+
+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
+MYODllZTADQ/6omtfGFTjzD0/iE85VN5sw==
+=dDeQ
+-END PGP PUBLIC KEY BLOCK-