2019-04-23 09:40:20 UTC - Sébastien de Melo: Hi!  I think I have found a 
relevant log message:
09:34:03.005 [pulsar-io-23-3] INFO  
org.apache.pulsar.broker.service.persistent.PersistentDispatcherMultipleConsumers
 - [<persistent://public/default/my.topic-partition-0> / public/default/Router] 
Retrying read operation
09:34:03.005 [BookKeeperClientWorker-OrderedExecutor-5-0] ERROR 
org.apache.bookkeeper.common.util.SafeRunnable - Unexpected throwable caught
java.lang.ArrayIndexOutOfBoundsException: -2
        at 
com.google.common.collect.RegularImmutableList.get(RegularImmutableList.java:60)
 ~[com.google.guava-guava-21.0.jar:?]
        at 
org.apache.bookkeeper.client.PendingReadOp$SequenceReadRequest.sendNextRead(PendingReadOp.java:400)
 ~[org.apache.bookkeeper-bookkeeper-server-4.9.0.jar:4.9.0]
        at 
org.apache.bookkeeper.client.PendingReadOp$SequenceReadRequest.read(PendingReadOp.java:382)
 ~[org.apache.bookkeeper-bookkeeper-server-4.9.0.jar:4.9.0]
        at 
org.apache.bookkeeper.client.PendingReadOp.initiate(PendingReadOp.java:526) 
~[org.apache.bookkeeper-bookkeeper-server-4.9.0.jar:4.9.0]
        at 
org.apache.bookkeeper.client.PendingReadOp.safeRun(PendingReadOp.java:536) 
~[org.apache.bookkeeper-bookkeeper-server-4.9.0.jar:4.9.0]
        at 
org.apache.bookkeeper.common.util.SafeRunnable.run(SafeRunnable.java:36) 
[org.apache.bookkeeper-bookkeeper-common-4.9.0.jar:4.9.0]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
[?:1.8.0_181]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
[?:1.8.0_181]
        at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
 [io.netty-netty-all-4.1.32.Final.jar:4.1.32.Final]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]
----
2019-04-23 10:27:02 UTC - Dominik: @Dominik has joined the channel
----
2019-04-23 13:25:27 UTC - Devin G. Bost: Is there a planned or tentative date 
(or time range) for releasing 2.3.2?
----
2019-04-23 13:26:32 UTC - Devin G. Bost: We've also been building a REST API to 
produce messages to a topic, so we might be interested in collaborating on this.
----
2019-04-23 13:57:24 UTC - Ruud Kamphuis: Is there a PR where I can track the 
progress?
----
2019-04-23 13:59:50 UTC - Devin G. Bost: Our project is currently in a private 
repo. We'd need to get approval to open source it, but if we can tie it to a 
collaboration with Pulsar, I don't think we will have any trouble getting 
approval to open source it.
However, I don't know what's happening on the Pulsar side.
----
2019-04-23 14:33:43 UTC - Sébastien de Melo: I have followed the advice given 
on a related issue 
(<https://github.com/apache/pulsar/issues/3715#issuecomment-478280407>) and it 
seems better for now
----
2019-04-23 18:19:53 UTC - Ruud Kamphuis: When using websockets with a schema, 
is it still required to base64 encode the `payload`? Or can you send a message 
like this (assuming your schema is `JSON`):
```{ "payload": { "id": 1, "event": "some-event" } }```

Maybe I misunderstand the schemas thing.
----
2019-04-23 18:22:19 UTC - Matteo Merli: In the websocket request, the payload 
is always expected to be in base64
----
2019-04-23 18:23:23 UTC - Ruud Kamphuis: Good to know. Thanks. How does Pulsar 
validate the JSON schema? For example, I want to make sure there is always an 
`id` and `event` property inside the JSON object.
----
2019-04-23 18:24:09 UTC - Matteo Merli: The WebSocket endpoint is not 
integrated with schema yet :confused:
----
2019-04-23 18:24:54 UTC - Ruud Kamphuis: But Websocket is the only way to 
produce messages right ?
----
2019-04-23 18:26:01 UTC - Matteo Merli: We support schema for Java, Python (Go 
from next release) and you can declare it also on the C++ client
----
2019-04-23 18:27:18 UTC - Ruud Kamphuis: But does that mean that the schema is 
validated client side? All those clients use Websocket as communication method 
with Pulsar right?
----
2019-04-23 18:32:37 UTC - Matteo Merli: The client library will extract the 
schema and pass that to broker who’ll perform the validation
----
2019-04-23 18:33:03 UTC - Matteo Merli: In case of websocket, at this moment, 
it will be producing byte[]
----
2019-04-23 18:34:32 UTC - Ruud Kamphuis: Ok. The end goal is that Websocket 
will also support Schema's right? And it will work by server side validating 
it? So when you produce (send) a message that does not conform to the schema, 
the server will reject it, am I right?
----
2019-04-23 18:34:56 UTC - Matteo Merli: That’s correct
+1 : Ruud Kamphuis
----
2019-04-23 18:35:52 UTC - Matteo Merli: It would actually be easy to add 
support for “AUTO_PRODUCE” schema discovery in the websocket producer for JSON 
and Avro
----
2019-04-23 18:37:12 UTC - Matteo Merli: since you wouldn’t even need to declare 
the schema, rather the Java client (that’s embedded in websocket) will validate 
each message before going out
----
2019-04-23 18:37:48 UTC - Ruud Kamphuis: Is this on the roadmap somewhere? To 
add schema validation for websockets?
----
2019-04-23 18:38:32 UTC - Matteo Merli: Not explicitely, can you add an issue 
on Github to track it?
----
2019-04-23 18:41:12 UTC - Ruud Kamphuis: Done 
<https://github.com/apache/pulsar/issues/4109>
+1 : Matteo Merli
----
2019-04-23 19:24:37 UTC - Guy Feldman: @Sanjeev Kulkarni good to know
----
2019-04-24 00:07:28 UTC - Devin G. Bost: When providing the Jar for Pulsar when 
uploading a component (such as a Function), can a URL be provided? Or, must we 
always provide a file path for upload?
----
2019-04-24 00:08:18 UTC - Jerry Peng: @Devin G. Bost yes you can use a URL
+1 : Thor Sigurjonsson
----
2019-04-24 00:08:29 UTC - Devin G. Bost: Awesome. Thanks!
----
2019-04-24 00:09:09 UTC - Jerry Peng: @Devin G. Bost 
<https://github.com/apache/pulsar/blob/master/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/Functions.java#L107>
----
2019-04-24 00:09:24 UTC - Jerry Peng: you can also update a function with a URL 
as well
----
2019-04-24 00:09:37 UTC - Devin G. Bost: Perfect. That's helpful. Thanks!
----
2019-04-24 08:05:34 UTC - Kim Christian Gaarder: Is it intended that I should 
be able to use both pulsar-client and pulsar-client-admin within the same java 
project with module system enabled? I use version 2.3.0 and get the following 
error message: “Module ‘org.company.example’ reads package 
‘org.apache.pulsar.common.api’ from both ‘pulsar.client.api’ and 
‘pulsar.client.admin’”
----
2019-04-24 08:14:50 UTC - Sijie Guo: both `pulsar-client` and 
`pulsar-client-admin` are shaded uber libraries. so they have included same 
dependencies in their uber jar. that might be the reason failing your project.

If you have module system enabled, I guess you can consider using 
`pulsar-client-original` and `pulsar-client-admin-original` which are the 
original *unshaded* modules.
----
2019-04-24 08:26:06 UTC - Kim Christian Gaarder: ahh, thank you, I will try 
that!
----

Reply via email to