2020-07-30 10:02:49 UTC - Adriaan de Haan: Hi, I have a pulsar 2.6.0 installation and for some reason some acknowledged messages are remaining in the backlog (in the stat of the subscription from the admin interface), what are the conditions that could result in that happening? It is a persistent topic with a single shared subscription with a few consumers, all of them ack'ing right after receiving the message. ---- 2020-07-30 10:50:49 UTC - Ebere Abanonu: @Sijie Guo Pulsar need to fix Presto integration. It is unreliable or is there a way to make it better via configuration? ---- 2020-07-30 11:10:51 UTC - Mohit Manaskant: Does `pulsar functions` suppport `key_shared` subscription mode? ---- 2020-07-30 11:12:27 UTC - Mohit Manaskant: Looks like not as per the issue here: <https://github.com/apache/pulsar/issues/6527> ---- 2020-07-30 12:25:58 UTC - Joshua Decosta: my understanding is that disabling deduplication allows only new messages to be sent to the topic. It could confuse the consumers to see the same message over and over again. ---- 2020-07-30 12:29:37 UTC - Ebere Abanonu: I guess sql-worker should only run when brokers and bookies are up and running ---- 2020-07-30 15:43:47 UTC - Aaron: How do you build a pulsar generic record to send in the java client? The example here at the bottom is incorrect (<https://pulsar.apache.org/docs/en/concepts-schema-registry/|https://pulsar.apache.org/docs/en/concepts-schema-registry/>) . schema.newRecordBuilder is invalid ---- 2020-07-30 16:01:54 UTC - Maximilian Michels: @Maximilian Michels has joined the channel ---- 2020-07-30 16:03:32 UTC - Ebere Abanonu: @Sijie Guo so pulsar topic is case sensitive? Students and students is not same topic? ---- 2020-07-30 16:06:14 UTC - Sijie Guo: What is your behavior you observed? ---- 2020-07-30 16:10:39 UTC - Sijie Guo: @Takahiro Hozumi the message deduplication requires additional setup at the producer side. It is also has additional overhead a) it uses a de-dup cursor for handling de-duplication b) it requires additional fail handling logic when a topic is loaded by broker. Hence we disable it by default. ---- 2020-07-30 16:12:50 UTC - Chris Hansen: It seems unusual for topic stats to say 3 messages consumed while function stats says 0 received. Is that expected that these can be out of sync in certain cases? ---- 2020-07-30 16:13:14 UTC - Sijie Guo: You can run `topics stats-internal` to see if the individualDeleteMsgs is growing. If so, it typically means missing acks.
Then if you run `topics unload` to unload the topic. If the messages are redelivered and backlog is cleared, that usually means two things: a) you might not have ackTimeout. Hence the messages are not redelivered if acks are missed. b) there might be some issues in consumer group acking logic. ---- 2020-07-30 16:13:28 UTC - Sijie Guo: It is not supported yet. ---- 2020-07-30 16:15:25 UTC - Sijie Guo: You can check this code example: <https://github.com/streamnative/pulsar-examples/blob/master/clients/schema/src/main/java/io/streamnative/examples/schema/generic/GenericSchemaProducerExample.java> ---- 2020-07-30 16:19:15 UTC - Sijie Guo: I don’t think so. unless function worker resets the stats. What is your function doing? Does it write results to somewhere else? ---- 2020-07-30 16:21:56 UTC - Chris Hansen: results are meant to go to an output topic, but they never get there. It also logs to the context logger and System.out . Very simple. ``` public class SecretPrintingFunction implements Function<String, String> { private static final Logger LOGGER = LoggerFactory.getLogger(SecretPrintingFunction.class); public SecretPrintingFunction() { log(LOGGER, "new SecretPrintingFunction() created"); } @Override public String process(String input, Context context) { log(context.getLogger(), "Input: " + input); final String secret = context.getSecret(input); log(context.getLogger(), "Secret: " + secret); return secret == null ? "null" : secret; //returning actual null indicates no output } private void log(Logger logger, String msg) { <http://LOGGER.info|LOGGER.info>(msg); <http://logger.info|logger.info>(msg); System.out.println(msg); } }``` ---- 2020-07-30 16:23:07 UTC - Chris Hansen: function config: ```tenant: "public" namespace: "default" name: "SecretPrintingFunction" jar: "/app/lib/pulsar-vault-secrets-test.jar" className: "com.overstock.pulsar.SecretPrintingFunction" inputs: ["<persistent://public/default/test-input>"] output: "<persistent://public/default/test-output>" secrets: one: "/secret-printing-function/one" two: "/secret-printing-function/two" three: "/secret-printing-function/three"``` ---- 2020-07-30 16:23:56 UTC - Chris Hansen: i’m working on a custom `SecretsProvider` and the function is just for testing ---- 2020-07-30 16:29:03 UTC - Ebere Abanonu: Yesterday I experienced the issue where Presto was throwing No table found exception when querying data in the table. However when I query for the tables in the schema it retrieves successfully. Priorly I set the retention to -1, -1 that is when I started experiencing the issue of no table found ---- 2020-07-30 16:29:48 UTC - Ebere Abanonu: Then today after publishing to a topic, presto was returning empty set. I changed the order of deployment to happen after broker is fully up and running to get it working properly ---- 2020-07-30 17:34:19 UTC - Kalyn Coose: Thanks. Perhaps I negated my ability to see message chunking working when I set my maxMessageSize to 20 MB :face_with_hand_over_mouth: ---- 2020-07-30 17:38:28 UTC - Kalyn Coose: Why am I unable to find org.apache.pulsar.functions? I have Pulsar 2.6.0 dependency installed ---- 2020-07-30 17:40:00 UTC - Chris Hansen: there are different dependencies, you need pulsar-functions-api ``` <dependency> <groupId>org.apache.pulsar</groupId> <artifactId>pulsar-functions-api</artifactId> </dependency>``` ---- 2020-07-30 17:40:58 UTC - Kalyn Coose: Sorry I didn't see that, is that missing information on Pulsar docs? ---- 2020-07-30 17:41:48 UTC - Chris Hansen: not that I saw ---- 2020-07-30 17:43:28 UTC - Kalyn Coose: I've been reading the docs and I just didn't notice anything about a separate dependency. Thanks for your help. <https://pulsar.apache.org/docs/en/functions-overview/> ---- 2020-07-30 17:44:12 UTC - Chris Hansen: sure thing :thumbsup: ---- 2020-07-31 02:05:21 UTC - Adriaan de Haan: Does this tell you anything? I can't really interpret these values yet: ``` "entriesAddedCounter" : 704, "numberOfEntries" : 26, "totalSize" : 21490, "currentLedgerEntries" : 1, "currentLedgerSize" : 825, "lastLedgerCreatedTimestamp" : "2020-07-31T01:47:53.954Z", "waitingCursorsCount" : 1, "pendingAddEntriesCount" : 0, "lastConfirmedEntry" : "491:0", "state" : "LedgerOpened", "ledgers" : [ { "ledgerId" : 448, "entries" : 5, "size" : 4133, "offloaded" : false }, { "ledgerId" : 456, "entries" : 5, "size" : 4134, "offloaded" : false }, { "ledgerId" : 464, "entries" : 5, "size" : 4134, "offloaded" : false }, { "ledgerId" : 471, "entries" : 5, "size" : 4132, "offloaded" : false }, { "ledgerId" : 482, "entries" : 5, "size" : 4132, "offloaded" : false }, { "ledgerId" : 491, "entries" : 0, "size" : 0, "offloaded" : false } ], "cursors" : { "normal-subscription" : { "markDeletePosition" : "448:3", "readPosition" : "491:1", "waitingReadOp" : true, "pendingReadOps" : 0, "messagesConsumedCounter" : 703, "cursorLedger" : 486, "cursorLedgerLastEntry" : 2, "individuallyDeletedMessages" : "[(456:-1..456:4],(464:-1..464:4],(471:-1..471:4],(482:-1..482:4],(491:-1..491:0]]", "lastLedgerSwitchTimestamp" : "2020-07-30T23:43:50.163Z", "state" : "Open", "numberOfEntriesSinceFirstNotAckedMessage" : 23, "totalNonContiguousDeletedMessagesRange" : 5, "properties" : { } } } } ``` ---- 2020-07-31 03:57:23 UTC - Takahiro Hozumi: > It is also has additional overhead Depending on the degree of overhead, I think that deduplication by default would be a cost-effective setting. I could think of much use cases where duplication is harmful rather than acceptable. Thank you for your answer. ---- 2020-07-31 04:22:17 UTC - Sijie Guo: ```individuallyDeletedMessages" : "[(456:-1..456:4],(464:-1..464:4],(471:-1..471:4],(482:-1..482:4],(491:-1..491:0]]",``` This means some of the acknowledgements are missing. ---- 2020-07-31 04:25:28 UTC - Sijie Guo: Have you set ackTimeout? ----
