2019-08-16 10:12:35 UTC - Sijie Guo: HI
----
2019-08-16 10:12:42 UTC - Sijie Guo: sorry I missed the notification
----
2019-08-16 10:13:04 UTC - Sijie Guo: the producer defines the schema because it 
produces messages (modify the state of the topic).
----
2019-08-16 10:15:40 UTC - Alexandre DUVAL: Sure but why a subscription doesn't 
do the same thing when a topic does not exist?
----
2019-08-16 10:16:16 UTC - Alexandre DUVAL: "why" is a large question, but you 
get my point :stuck_out_tongue:.
----
2019-08-16 10:24:37 UTC - Sijie Guo: subscription also trigger creation of a 
topic and define the schema for the topic if it doesn’t exist, no?
----
2019-08-16 10:25:01 UTC - Maxim Shatunov: @Maxim Shatunov has joined the channel
----
2019-08-16 10:27:40 UTC - Alexandre DUVAL: In my case it's triggering the 
creation of the topic but let the default schema even if custom one is defined. 
So it is possibly an issue on the pulsar4s client now that you told me the 
normal behavior. Thx.
----
2019-08-16 10:28:24 UTC - Sijie Guo: you might check the behavior of java client
----
2019-08-16 12:37:08 UTC - Alexandre DUVAL: ok, fixed, the implicit in pulsar4s 
was just conflict with another, mb. sorry.
----
2019-08-16 13:24:15 UTC - Aaron: Has anyone encountered the exception 
`java.lang.UnsatisfiedLinkError: 
org.apache.pulsar.shade.org.xerial.snappy.SnappyNative.maxCompressedLength(I)I` 
when trying to use SNAPPY compression?
----
2019-08-16 13:37:34 UTC - Alexandre DUVAL: When I delete a topic there is cache 
about its schema?
----
2019-08-16 14:08:08 UTC - Richard Sherman: Does pulsar handle zookeeper session 
timeouts gracefully?
----
2019-08-16 14:22:12 UTC - Chris Bartholomew: Yes, Pulsar will automatically 
redeliver the message. This is a way to manually force redelivery. There is 
some debate about whether it should be public here: 
<https://github.com/apache/pulsar/pull/51#discussion_r82476470>.  It is used a 
lot in the tests to, I assume, speed up test execution (no need to wait for 
timer to fire).
+1 : Raman Gupta
----
2019-08-16 14:42:32 UTC - Tarek Shaar: Will a subscriber ever miss a message 
after establishing a subscription? In other words, if a subscriber comes online 
then disconnects for a long time then come back on line in the future, is there 
a time out on the subscription (assuming we are still within the message 
retention policies).
----
2019-08-16 15:06:37 UTC - balaji: @balaji has joined the channel
----
2019-08-16 15:26:43 UTC - balaji: can someone please give me some example on 
exactly once delivery with pulsar and flink combination. I have also posted the 
same question in stack overflow. 
<https://stackoverflow.com/questions/57523574/exactly-once-delivery-end-to-end-with-pulsar-and-flink>
----
2019-08-16 15:35:37 UTC - Addison Higham: there are few gaps in pulsar to make 
that possible yet, first:
- the flink pulsar consumer isn't exactly once yet. For that to happen, 
ideally, you need flink to track the position into the subscription so it can 
accurately rewind. As it stands, the existing consumer just uses a pretty 
normal subscription. If you look at <#CA678TN9G|flink-connector> there are some 
more technical details. That said... if you are willing to implement a de-dupe 
operator, that just keeps N number of minutes of message ids, it is fairly easy 
to de-dupe right after the consumer
- pulsar doesn't yet have transactions like kafka does, but it is actively 
being developed. When pulsar has right now is the producer dedupe, which can 
get you pretty far, basically, if you can control the sequence number you send 
along with your messages into pulsar, then your flink job fails and it sends 
those same sequence numbers again, it won't persist the duplicates, see this 
blog post for more detail: 
<https://jack-vanlightly.com/blog/2018/10/25/testing-producer-deduplication-in-apache-kafka-and-apache-pulsar>
+1 : balaji
----
2019-08-16 15:39:00 UTC - Addison Higham: so you can get effectively once with 
flink right now... it just takes more state tracking in your app by de-duping 
on input and using more state to build stable sequence numbers, you can get 
that wrong, so it isn't bullet proof. I am sure as transactions and flink 
integration improves there will be announcements around it
----
2019-08-16 16:53:57 UTC - Ali Ahmed: @balaji @Addison Higham exactly once is 
partially a misnomer here are some docs to read through to better understand 
things and what is possible in modern distributed systems.
<https://www.slideshare.net/BigDataSpain/endtoend-exactly-once-with-heron-pulsar-by-ivan-kelly-at-big-data-spain-2017>
<https://streaml.io/blog/exactly-once>
----
2019-08-16 16:54:56 UTC - Addison Higham: I am trying to get in the habit of 
saying "effectively once" but yes, "exactly once" in the context of what 
flink/kafka would use the term
----
2019-08-16 16:59:01 UTC - Alberto Antenangeli: @Alberto Antenangeli has joined 
the channel
----
2019-08-16 17:48:25 UTC - balaji: @Ali Ahmed  In the slides you posted there is 
no concrete code example on how end to end effectively once delivery was 
achieved with heron and pulsar.
----
2019-08-16 18:01:41 UTC - Jerry Peng: @balaji you can also achieve 
exactly/effectively once using pulsar functions if only have output to a topi 
----
2019-08-16 18:01:44 UTC - Jerry Peng: Topic
----
2019-08-16 18:56:47 UTC - Tarek Shaar: Am using Apache Pulsar 2.3.2. I have 
enabled message de-duplication in broker.conf and I am setting the producer 
name and seq number on each message sent. When I ask for the last seq number I 
am getting -1 even though I request it from the same producer name. Are there 
any other settings I need to take care of?
----
2019-08-16 20:22:22 UTC - Martin Svensson: Can I create a subscription that 
allows me to consume from the start of an existing topic?
----
2019-08-16 20:30:29 UTC - Ali Ahmed: @Martin Svensson You can use the position 
arg in consumer or use the reader class
```
Consumer&lt;UserMessagePojo&gt; consumer = 
client.newConsumer(JSONSchema.of(UserMessagePojo.class))
                 .topic(topic)
                 .subscriptionInitialPosition(position)
                 .subscriptionName("schema-tester")
                 .subscribe()) {
```
----
2019-08-16 20:30:55 UTC - Martin Svensson: thanks!
----
2019-08-16 21:16:56 UTC - Ming Fang: are there any plans/talks of supporting 
topic/queue aliasing?  similar to this 
<https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_7.5.0/com.ibm.mq.adm.doc/q020820_.htm>
----
2019-08-16 21:19:56 UTC - Tarek Shaar: If anyone encounters the issue I 
mentioned above where the seq # returned is -1, you need to set the initial seq 
id when constructing the producer using the producer builder method, 
initialSequenceId()
+1 : Chris Bartholomew
----
2019-08-16 23:11:23 UTC - Ali Ahmed: @Ming Fang there are no current plans for 
something like this
----
2019-08-16 23:19:12 UTC - Alexandre DUVAL: @Matteo Merli
----
2019-08-16 23:38:41 UTC - Ming Fang: ok thanks
----
2019-08-17 01:52:15 UTC - marcelomfranca: @marcelomfranca has joined the channel
----
2019-08-17 08:04:09 UTC - Kendall Magesh-Davis: Good morning. I’ve deployed 
pulsar 2.4 on kubernetes using the public helm chart. I had to cordon/drain a 
node which had a bookkeeper on it, this required deleting the local storage on 
that node.

Not surprisingly, that bookie is not able to successfully startup again after 
being deployed to a different node. It’s complaining of cookie issues.
```07:53:28.259 [main] ERROR org.apache.bookkeeper.bookie.Bookie - There are 
directories without a cookie, and this is neither a new environment, nor is 
storage expansion enabled. Empty directories are 
[data/bookkeeper/journal/current, data/bookkeeper/ledgers/current]
07:53:28.259 [main] INFO  org.apache.bookkeeper.proto.BookieNettyServer - 
Shutting down BookieNettyServer
```

```07:53:28.267 [main] ERROR org.apache.bookkeeper.server.Main - Failed to 
build bookie server
org.apache.bookkeeper.bookie.BookieException$InvalidCookieException: 
        at 
org.apache.bookkeeper.bookie.Bookie.checkEnvironmentWithStorageExpansion(Bookie.java:470)
 ~[org.apache.bookkeeper-bookkeeper-server-4.9.2.jar:4.9.2]
        at 
org.apache.bookkeeper.bookie.Bookie.checkEnvironment(Bookie.java:252) 
~[org.apache.bookkeeper-bookkeeper-server-4.9.2.jar:4.9.2]
        at org.apache.bookkeeper.bookie.Bookie.&lt;init&gt;(Bookie.java:691) 
~[org.apache.bookkeeper-bookkeeper-server-4.9.2.jar:4.9.2]
        at 
org.apache.bookkeeper.proto.BookieServer.newBookie(BookieServer.java:137) 
~[org.apache.bookkeeper-bookkeeper-server-4.9.2.jar:4.9.2]
        at 
org.apache.bookkeeper.proto.BookieServer.&lt;init&gt;(BookieServer.java:106) 
~[org.apache.bookkeeper-bookkeeper-server-4.9.2.jar:4.9.2]
        at 
org.apache.bookkeeper.server.service.BookieService.&lt;init&gt;(BookieService.java:43)
 ~[org.apache.bookkeeper-bookkeeper-server-4.9.2.jar:4.9.2]
        at org.apache.bookkeeper.server.Main.buildBookieServer(Main.java:301) 
~[org.apache.bookkeeper-bookkeeper-server-4.9.2.jar:4.9.2]
        at org.apache.bookkeeper.server.Main.doMain(Main.java:221) 
[org.apache.bookkeeper-bookkeeper-server-4.9.2.jar:4.9.2]
        at org.apache.bookkeeper.server.Main.main(Main.java:203) 
[org.apache.bookkeeper-bookkeeper-server-4.9.2.jar:4.9.2]
        at org.apache.bookkeeper.proto.BookieServer.main(BookieServer.java:314) 
[org.apache.bookkeeper-bookkeeper-server-4.9.2.jar:4.9.2]```

What is the best practice for resolving this issue?
----

Reply via email to