2020-02-06 20:02:01 UTC - Devin G. Bost: @Devin G. Bost has joined the channel ---- 2020-02-06 20:03:08 UTC - Devin G. Bost: All this time, I had no idea this channel existed…. :face_palm: ---- 2020-02-06 20:06:24 UTC - Devin G. Bost: @Eugen It’s in the repo. ---- 2020-02-06 20:07:04 UTC - Devin G. Bost: Oh, you’re wondering where to put the actual PNG? ---- 2020-02-06 20:08:10 UTC - Devin G. Bost: I’m not sure about that one… @Sijie Guo probably knows. ---- 2020-02-06 20:12:16 UTC - Devin G. Bost: Hmm hashCode is primarily used for comparisons, which seems like it would be most applicable for use with a producer group… I suppose it’s possible that someone could have a collection of producers and would need to decide between them through a collection, but that definitely seems like an edge case to me. I’d be a little surprised if anyone is running code like that in production yet. With that being said, it will be important to ensure that such a breaking change is well documented. It looks like you’re just wanting to add more information to hashCode and equals, which I think is the right thing to do. (It’s more likely going to break things if you remove or change information, rather than add information to create a more specific comparison.) ---- 2020-02-06 21:45:48 UTC - Devin G. Bost: BTW, in the current Pulsar master, I’m getting a lot of Pulsar Broker exceptions when running the tests locally, a lot more than usual. ---- 2020-02-06 22:36:38 UTC - Devin G. Bost: Is it just my setup? ---- 2020-02-07 01:08:59 UTC - Aaron Stockton: @Aaron Stockton has joined the channel ---- 2020-02-07 05:20:59 UTC - markg: Talking to someone recently about Kafka vs Pulsar and they mentioned that Pulsar involved an extra hop compared to Kafka due to bookeeper being involved - would anyone be able to prove / disprove or elucidate on if this is true ? ---- 2020-02-07 05:26:57 UTC - Eugen: Have a look at Matteo's comments here: <https://stackoverflow.com/a/51106433/709537> ---- 2020-02-07 05:27:46 UTC - Eugen: The ones related to your question are these: > 4 (latency questionable) -- This is not true. First, Kafka also has the extra network hop (when replicating to another broker). Second, Pulsar, with BookKeeper can in fact guarantee a much lower latency compared to Kafka, even offering strong durability, compared to Kafka in-memory page cache approach. The latency, for messaging system is typically dominated by disk access pattern, rather than network. and > 1 extra network hop is ~0.1 milliseconds, Pulsar can guarantee 99pct latency of < 5ms, while Kafka would be usually in the ~15 ms (with no data durability) and spikes to 100s of ms (for the 99pct). You can tests different messaging systems with OpenMessaging benchmark: openmessaging.cloud/docs/benchmarks ---- 2020-02-07 05:31:24 UTC - Eugen: Be that as it may, having the broker / bookie split is a *huge* architectural benefit for Pulsar, because that way it can offer a stateless broker with super-fast failover and dynamic load-balancing. Also, the size of a topic/partition is not limited to the disk size of a single machine, to name just a few of the advantages. ---- 2020-02-07 07:38:02 UTC - Sijie Guo: @markg I wrote a blog post about the latency regarding write and read before. in case if you are interested in this topic - <https://streaml.io/blog/apache-pulsar-architecture-designing-for-streaming-performance-and-scalability> ---- 2020-02-07 07:56:22 UTC - Kelvin Sajere: Hi every 1, Am still new to pulsar. Am trying to connect to pulsar via websocket. But i keep getting ```Exception has occurred: WebSocketBadStatusException Handshake status 400 Invalid query params: Param serviceUrl must not be blank.``` ```import websocket, base64, json
TOPIC = '<ws://localhost:8080/ws/v2/producer/persistent/public/default/my-topic>' ws = websocket.create_connection(TOPIC) # Send one message as JSON ws.send(json.dumps({ 'payload' : base64.b64encode('Hello World'), 'properties': { 'key1' : 'value1', 'key2' : 'value2' }, 'context' : 5 })) response = json.loads(ws.recv()) if response['result'] == 'ok': print('Message published successfully') else: print ('Failed to publish message:', response) ws.close()``` ---- 2020-02-07 08:21:10 UTC - Kelvin Sajere: Am running pulsar 2.5.0 on docker ```docker run -it -p 6650:6650 -p 8080:8080 --mount source=pulsardata,target=/pulsar/data --mount source=pulsarc onf,target=/pulsar/conf apachepulsar/pulsar:2.4.2 bin/pulsar standalone``` ----