You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by GitBox <gi...@apache.org> on 2021/10/11 15:32:39 UTC

[GitHub] [flink] jianyun8023 opened a new pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

jianyun8023 opened a new pull request #17452:
URL: https://github.com/apache/flink/pull/17452


   ## What is the purpose of the change
   
     This pull request completes the development of Pulsar based on the new Sink, which will enable smoother data interaction between Flink and Pulsar.
   
   
   ## Brief change log
   
   Introduction Pulsar Sink Connector : 
   - support exactly-once or at-latest-once feature.
   - `Sink`, `SinkWriter`, `Committer`, and other interfaces are implemented.
   ## Verifying this change
   
   This change added tests and can be verified as follows:
   
     - *Added a simple pulsar sink e2e test*
     - *CommitterState ser test*
     - *Unit testing of some support classes*
   
   ## Does this pull request potentially affect one of the following parts:
   
     - Dependencies (does it add or upgrade a dependency): (no)
     - The public API, i.e., is any changed class annotated with `@Public(Evolving)`: (yes)
     - The serializers: (don't know)
     - The runtime per-record code paths (performance sensitive): (don't know)
     - Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (no)
     - The S3 file system connector: (no)
   
   ## Documentation
   
     - Does this pull request introduce a new feature? (yes)
     - If yes, how is the feature documented? (docs / JavaDocs)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] jianyun8023 commented on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
jianyun8023 commented on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940140071


   @flinkbot run azure


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] jianyun8023 commented on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
jianyun8023 commented on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940143459


   @flinkbot run azure


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * c8820e335d23677ffb548b0d1fa8771fa7c1bce1 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965) 
   * bf9ffe09e2eec6f03c9c1c5f18cf95b323088549 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075) 
   * bbf72ae73592bd646c44296a59ef70d3eb614701 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r794677848



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,215 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink.InitContext;
+import org.apache.flink.api.connector.sink.Sink.ProcessingTimeService;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommittable;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContextAdapter;
+import org.apache.flink.connector.pulsar.sink.writer.message.RawMessage;
+import org.apache.flink.connector.pulsar.sink.writer.router.TopicRouter;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchemaInitializationContext;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicMetadataListener;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicProducerRegister;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.function.SerializableFunction;
+
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.api.transaction.Transaction;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.Semaphore;
+
+import static java.util.Collections.emptyList;
+import static org.apache.flink.util.IOUtils.closeAll;
+
+/**
+ * This class is responsible to write records in a Pulsar topic and to handle the different delivery
+ * {@link DeliveryGuarantee}s.
+ *
+ * @param <IN> The type of the input elements.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarCommittable, Void> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private final SinkConfiguration sinkConfiguration;
+    private final DeliveryGuarantee deliveryGuarantee;
+    private final PulsarSerializationSchema<IN> serializationSchema;
+    private final TopicRouter<IN> topicRouter;
+    private final PulsarSinkContextAdapter sinkContextAdapter;
+    private final TopicMetadataListener metadataListener;
+    private final MailboxExecutor mailboxExecutor;
+    private final TopicProducerRegister producerRegister;
+    private final Semaphore pendingMessages;
+
+    /**
+     * Constructor creating a Pulsar writer.
+     *
+     * <p>It will throw a {@link RuntimeException} if {@link
+     * PulsarSerializationSchema#open(SerializationSchema.InitializationContext, PulsarSinkContext,
+     * SinkConfiguration)} fails.
+     *
+     * @param sinkConfiguration the configuration to configure the Pulsar producer.
+     * @param deliveryGuarantee the Sink's delivery guarantee.
+     * @param serializationSchema serialize to transform the incoming records to {@link RawMessage}.
+     * @param metadataListener the listener for querying topic metadata.
+     * @param topicRouterProvider create related topic router to choose topic by incoming records.
+     * @param initContext context to provide information about the runtime environment.
+     */
+    public PulsarWriter(
+            SinkConfiguration sinkConfiguration,
+            DeliveryGuarantee deliveryGuarantee,
+            PulsarSerializationSchema<IN> serializationSchema,
+            TopicMetadataListener metadataListener,
+            SerializableFunction<SinkConfiguration, TopicRouter<IN>> topicRouterProvider,
+            InitContext initContext) {
+        this.sinkConfiguration = sinkConfiguration;
+        this.deliveryGuarantee = deliveryGuarantee;
+        this.serializationSchema = serializationSchema;
+        this.topicRouter = topicRouterProvider.apply(sinkConfiguration);
+        this.sinkContextAdapter = new PulsarSinkContextAdapter(initContext, sinkConfiguration);
+        this.metadataListener = metadataListener;
+        this.mailboxExecutor = initContext.getMailboxExecutor();
+
+        // Initialize topic metadata listener.
+        LOG.debug("Initialize topic metadata after creating Pulsar writer.");
+        ProcessingTimeService timeService = initContext.getProcessingTimeService();
+        metadataListener.open(sinkConfiguration, timeService);
+
+        // Initialize topic router.
+        topicRouter.open(sinkConfiguration);
+
+        // Initialize the serialization schema.
+        PulsarSerializationSchemaInitializationContext initializationContext =
+                new PulsarSerializationSchemaInitializationContext(initContext);
+        try {
+            serializationSchema.open(initializationContext, sinkContextAdapter, sinkConfiguration);
+        } catch (Exception e) {
+            throw new FlinkRuntimeException("Cannot initialize schema.", e);
+        }
+
+        // Create this producer register after opening serialization schema!
+        this.producerRegister = new TopicProducerRegister(sinkConfiguration, serializationSchema);
+        this.pendingMessages = new Semaphore(sinkConfiguration.getMaxPendingMessages());
+    }
+
+    @Override
+    @SuppressWarnings("unchecked")
+    public void write(IN element, Context context) throws IOException, InterruptedException {
+        // Serialize the incoming element.
+        sinkContextAdapter.updateTimestamp(context);
+        RawMessage<byte[]> message = serializationSchema.serialize(element, sinkContextAdapter);
+
+        // Choose the right topic to send.
+        List<String> availableTopics = metadataListener.availableTopics();
+        String topic = topicRouter.route(element, message, availableTopics, sinkContextAdapter);
+
+        // Create message builder for sending message.
+        TypedMessageBuilder<?> builder = createMessageBuilder(topic, deliveryGuarantee);
+        if (sinkConfiguration.isEnableSchemaEvolution()) {
+            ((TypedMessageBuilder<IN>) builder).value(element);
+        } else {
+            ((TypedMessageBuilder<byte[]>) builder).value(message.getValue());
+        }
+        message.supplement(builder);
+
+        // Perform message sending.
+        if (deliveryGuarantee == DeliveryGuarantee.NONE) {
+            // We would just ignore the sending exception. This may cause data loss.
+            builder.sendAsync();
+        } else if (deliveryGuarantee == DeliveryGuarantee.AT_LEAST_ONCE) {
+            // Waiting for permits to write message.
+            pendingMessages.acquire();
+            CompletableFuture<MessageId> sender = builder.sendAsync();
+            sender.whenComplete(
+                    (id, ex) -> {
+                        pendingMessages.release();
+                        if (ex != null) {
+                            mailboxExecutor.execute(
+                                    () -> {
+                                        throw new FlinkRuntimeException(

Review comment:
       Read [this](https://docs.google.com/document/d/1eDpsUKv2FqwZiS1Pm6gYO5eFHScBHfULKmH1-ZEWB4g/edit#heading=h.me9nb71lvmah)




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] nlu90 commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
nlu90 commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r794722855



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/common/config/PulsarConfigBuilder.java
##########
@@ -0,0 +1,132 @@
+/*
+ * 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.flink.connector.pulsar.common.config;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.configuration.ConfigOption;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.configuration.UnmodifiableConfiguration;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Properties;
+
+import static org.apache.flink.util.Preconditions.checkArgument;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * A builder for building the unmodifiable {@link Configuration} instance. Providing the common
+ * validate logic for source & sink.
+ */
+@Internal
+public final class PulsarConfigBuilder {
+
+    private final Configuration configuration = new Configuration();
+
+    /** Validate if the config has a existed option. */
+    public <T> boolean contains(ConfigOption<T> option) {
+        return configuration.contains(option);
+    }
+
+    /**
+     * Get a option related config value. We would return default config value which define in

Review comment:
       nit: `which is defined`

##########
File path: flink-connectors/flink-connector-pulsar/pom.xml
##########
@@ -36,12 +36,14 @@ under the License.
 	<packaging>jar</packaging>
 
 	<properties>
-		<pulsar.version>2.8.0</pulsar.version>
+		<pulsar.version>2.9.1</pulsar.version>
 
 		<!-- Test Libraries -->
 		<protobuf-maven-plugin.version>0.6.1</protobuf-maven-plugin.version>
-		<commons-lang3.version>3.11</commons-lang3.version>
-		<grpc.version>1.33.0</grpc.version>
+		<pulsar-commons-lang3.version>3.11</pulsar-commons-lang3.version>
+		<pulsar-zookeeper.version>3.6.3</pulsar-zookeeper.version>

Review comment:
       Just a heads up, Pulsar is trying to remove the hard binding of ZK.
   Later release should allow standalone pulsar running without ZK.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a1c55eac2e9c33d36db08d65a9d90df55abfc450 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462) 
   * 0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 3afcff5b776774f579127bf1960875d4ae1a64f8 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435) 
   * a1c55eac2e9c33d36db08d65a9d90df55abfc450 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     } ]
   }-->
   ## CI report:
   
   * 40b7b444a0d0492677db15f5a841340e810ce0ff Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "cbe30d48f2df59f78de1b9adfd166a77f57c92c6",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "cbe30d48f2df59f78de1b9adfd166a77f57c92c6",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463) 
   * 067d456df50b5cd5889cfa299b6b81b4da172626 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485) 
   * cbe30d48f2df59f78de1b9adfd166a77f57c92c6 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590) 
   * 3bdbb660a027c49a1fed5c8b77ccf5174c16c85d Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599) 
   * 6854b5ae7209cd2edc56ac525f462292f85efd9c UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590) 
   * 3bdbb660a027c49a1fed5c8b77ccf5174c16c85d Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599) 
   * 6854b5ae7209cd2edc56ac525f462292f85efd9c UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0e55b5a359ccfa668aa9c783be63962c61ad0d13 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488) 
   * 7b0ea669fc400027e3ec31c28f5c8d93af9e5795 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 7b0ea669fc400027e3ec31c28f5c8d93af9e5795 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571) 
   * 0c8c26e1f9b39c058f39ae6d0caa23f04518e835 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r799704633



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,203 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.operators.ProcessingTimeService;
+import org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext;
+import org.apache.flink.api.connector.sink2.Sink.InitContext;
+import org.apache.flink.api.connector.sink2.TwoPhaseCommittingSink.PrecommittingSinkWriter;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommittable;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContextAdapter;
+import org.apache.flink.connector.pulsar.sink.writer.message.RawMessage;
+import org.apache.flink.connector.pulsar.sink.writer.router.TopicRouter;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicMetadataListener;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicProducerRegister;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.function.SerializableFunction;
+
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.api.transaction.Transaction;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.Semaphore;
+
+import static java.util.Collections.emptyList;
+import static org.apache.flink.util.IOUtils.closeAll;
+
+/**
+ * This class is responsible to write records in a Pulsar topic and to handle the different delivery
+ * {@link DeliveryGuarantee}s.
+ *
+ * @param <IN> The type of the input elements.
+ */
+public class PulsarWriter<IN> implements PrecommittingSinkWriter<IN, PulsarCommittable> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private final SinkConfiguration sinkConfiguration;
+    private final DeliveryGuarantee deliveryGuarantee;
+    private final PulsarSerializationSchema<IN> serializationSchema;
+    private final TopicRouter<IN> topicRouter;
+    private final PulsarSinkContextAdapter sinkContextAdapter;
+    private final TopicMetadataListener metadataListener;
+    private final MailboxExecutor mailboxExecutor;
+    private final TopicProducerRegister producerRegister;
+    private final Semaphore pendingMessages;
+
+    /**
+     * Constructor creating a Pulsar writer.
+     *
+     * <p>It will throw a {@link RuntimeException} if {@link
+     * PulsarSerializationSchema#open(InitializationContext, PulsarSinkContext, SinkConfiguration)}
+     * fails.
+     *
+     * @param sinkConfiguration the configuration to configure the Pulsar producer.
+     * @param serializationSchema serialize to transform the incoming records to {@link RawMessage}.
+     * @param metadataListener the listener for querying topic metadata.
+     * @param topicRouterProvider create related topic router to choose topic by incoming records.
+     * @param initContext context to provide information about the runtime environment.
+     */
+    public PulsarWriter(
+            SinkConfiguration sinkConfiguration,
+            PulsarSerializationSchema<IN> serializationSchema,
+            TopicMetadataListener metadataListener,
+            SerializableFunction<SinkConfiguration, TopicRouter<IN>> topicRouterProvider,
+            InitContext initContext) {
+        this.sinkConfiguration = sinkConfiguration;
+        this.deliveryGuarantee = sinkConfiguration.getDeliveryGuarantee();
+        this.serializationSchema = serializationSchema;
+        this.topicRouter = topicRouterProvider.apply(sinkConfiguration);
+        this.sinkContextAdapter = new PulsarSinkContextAdapter(initContext, sinkConfiguration);
+        this.metadataListener = metadataListener;
+        this.mailboxExecutor = initContext.getMailboxExecutor();
+
+        // Initialize topic metadata listener.
+        LOG.debug("Initialize topic metadata after creating Pulsar writer.");
+        ProcessingTimeService timeService = initContext.getProcessingTimeService();
+        metadataListener.open(sinkConfiguration, timeService);
+
+        // Initialize topic router.
+        topicRouter.open(sinkConfiguration);
+
+        // Initialize the serialization schema.
+        try {
+            InitializationContext initializationContext =
+                    initContext.asSerializationSchemaInitializationContext();
+            serializationSchema.open(initializationContext, sinkContextAdapter, sinkConfiguration);
+        } catch (Exception e) {
+            throw new FlinkRuntimeException("Cannot initialize schema.", e);
+        }
+
+        // Create this producer register after opening serialization schema!
+        this.producerRegister = new TopicProducerRegister(sinkConfiguration, serializationSchema);
+        this.pendingMessages = new Semaphore(sinkConfiguration.getMaxPendingMessages());
+    }
+
+    @Override
+    @SuppressWarnings("unchecked")
+    public void write(IN element, Context context) throws IOException, InterruptedException {
+        // Serialize the incoming element.
+        sinkContextAdapter.updateTimestamp(context);
+        RawMessage<byte[]> message = serializationSchema.serialize(element, sinkContextAdapter);
+
+        // Choose the right topic to send.
+        List<String> availableTopics = metadataListener.availableTopics();
+        String topic = topicRouter.route(element, message, availableTopics, sinkContextAdapter);
+
+        // Create message builder for sending message.
+        TypedMessageBuilder<?> builder = createMessageBuilder(topic, deliveryGuarantee);
+        if (sinkConfiguration.isEnableSchemaEvolution()) {
+            ((TypedMessageBuilder<IN>) builder).value(element);
+        } else {
+            ((TypedMessageBuilder<byte[]>) builder).value(message.getValue());
+        }
+        message.supplement(builder);
+
+        // Perform message sending.
+        if (deliveryGuarantee == DeliveryGuarantee.NONE) {
+            // We would just ignore the sending exception. This may cause data loss.
+            builder.sendAsync();
+        } else {
+            // Waiting for permits to write message.
+            pendingMessages.acquire();
+            CompletableFuture<MessageId> sender = builder.sendAsync();
+            sender.whenComplete(
+                    (id, ex) -> {
+                        pendingMessages.release();
+                        if (ex != null) {
+                            mailboxExecutor.execute(
+                                    () -> {
+                                        throw new FlinkRuntimeException(
+                                                "Failed to send data to Pulsar " + topic, ex);
+                                    },
+                                    "Failed to send message to Pulsar");
+                        } else {
+                            LOG.debug("Sent message to Pulsar {} with message id {}", topic, id);
+                        }
+                    });
+        }
+    }
+
+    private TypedMessageBuilder<?> createMessageBuilder(
+            String topic, DeliveryGuarantee deliveryGuarantee) {
+        Producer<?> producer = producerRegister.getOrCreateProducer(topic);
+        if (deliveryGuarantee == DeliveryGuarantee.EXACTLY_ONCE) {
+            Transaction transaction = producerRegister.getOrCreateTransaction(topic);
+            return producer.newMessage(transaction);
+        } else {
+            return producer.newMessage();
+        }
+    }
+
+    @Override
+    public void flush(boolean endOfInput) throws IOException {
+        while (pendingMessages.availablePermits() < sinkConfiguration.getMaxPendingMessages()) {

Review comment:
       OK, added.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r799719291



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/topic/TopicProducerRegister.java
##########
@@ -0,0 +1,176 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.topic;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommittable;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.util.FlinkRuntimeException;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClient;
+import org.apache.pulsar.client.api.Schema;
+import org.apache.pulsar.client.api.transaction.Transaction;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClient;
+import org.apache.pulsar.client.api.transaction.TxnID;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.ConcurrentHashMap;
+
+import static org.apache.flink.connector.pulsar.common.config.PulsarClientFactory.createClient;
+import static org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils.sneakyClient;
+import static org.apache.flink.connector.pulsar.common.utils.PulsarTransactionUtils.createTransaction;
+import static org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils.createProducerBuilder;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * All the Pulsar Producer share the same Client, but self hold the queue for specified topic. So we
+ * have to create different instance for different topic.
+ */
+@Internal
+public class TopicProducerRegister implements Closeable {
+
+    private final PulsarClient pulsarClient;
+    private final SinkConfiguration sinkConfiguration;
+    private final Schema<?> schema;
+    private final ConcurrentHashMap<String, Producer<?>> producerRegister;
+    private final ConcurrentHashMap<String, Transaction> transactionRegister;

Review comment:
       Nope.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a9c278120fed2705c20d511b70f291a4bc47295f Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110) 
   * fbf3e131f0105301f78348e732856692b5c7827c Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] imaffe edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
imaffe edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-1033486400


   > > The only concern is my limited knowledge of Pulsar transactions. Maybe you can clarify the following scenarios.
   > > The job opens a transaction and sends records, now suddenly fails before the first checkpoint. The pipeline would restart and try to use the same transaction again. Do we generate duplicates in this case because the records are replayed?
   > > The job did a successful checkpoint and the transaction is moved to the committer. Before the committer can commit we write new records in the same transaction (I understood that we reuse the transaction for a topic). Does the committer now also commit the records that were received after the checkpoint?
   > 
   > The questions you ask couldn't happen on the Pulsar sink. Allow me to explain them in detail.
   > 
   > 1. PulsarWriter only implements `PrecommittingSinkWriter` which doesn't have any writer state. If the pipeline restarts without the first checkpoint. All the transactions would be omitted and we would create new transactions instead. The previous transactions are kept on Pulsar until they meet the timeout. The transaction is just a changelog-based system. Creating a lot of unused transactions is accepted.
   > 2. If the transactions are passed to Committer after successfully checkpoint on PulsarWriter. They can't be touched by PulsarWriter anymore. PulsarWriter clears its internal transaction register when calling `PulsarWriter#prepareCommit`.
   
   EDIT: I took another look, my original understanding was wrong.  Seems commit is not tight to checkpoints, it's controlled by the Flink
   
   I have another question regarding the latency. If the transactions are committed on checkpoints only, let's say the checkpoint interval is 1min. And let's say the data volume is small, does that mean pulsar consumer won't be able to consume data produced by Pulsar Sink until the 1 minute interval passes (so the data sent within the 1 min is visible to consumers) ?
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a49364d47478c98f43f95d9b58b699da6da6d433 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349) 
   * 0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484) 
   * b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507",
       "triggerID" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "triggerType" : "PUSH"
     }, {
       "hash" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532",
       "triggerID" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495) 
   * 8cc9d45130f50e1af9040850a825a092e728dece Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507) 
   * cb193056896ffd7823d5155acb8dfa271b7656db Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] imaffe commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
imaffe commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r806705822



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/serializer/PulsarSerializationSchema.java
##########
@@ -0,0 +1,161 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.serializer;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext;
+import org.apache.flink.connector.pulsar.common.schema.PulsarSchema;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.Schema;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.common.schema.KeyValue;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * The serialization schema for how to serialize record into Pulsar.
+ *
+ * @param <IN> The message type send to Pulsar.
+ */
+@PublicEvolving
+public interface PulsarSerializationSchema<IN> extends Serializable {
+
+    /**
+     * Initialization method for the schema. It is called before the actual working methods {@link
+     * #serialize(Object, PulsarSinkContext)} and thus suitable for one time setup work.
+     *
+     * <p>The provided {@link InitializationContext} can be used to access additional features such
+     * as e.g. registering user metrics.
+     *
+     * @param initializationContext Contextual information that can be used during initialization.
+     * @param sinkContext runtime information i.e. partitions, subtaskId
+     * @param sinkConfiguration All the configure options for Pulsar sink. You can add custom
+     *     options.
+     */
+    default void open(
+            InitializationContext initializationContext,
+            PulsarSinkContext sinkContext,
+            SinkConfiguration sinkConfiguration)
+            throws Exception {
+        // Nothing to do by default.
+    }
+
+    /**
+     * Property {@link TypedMessageBuilder#key(String)}.
+     *
+     * @param element element to be serialized
+     * @param sinkContext context to provide extra information.
+     */
+    default String key(IN element, PulsarSinkContext sinkContext) {
+        return null;
+    }
+
+    /**
+     * Serializes given element into bytes. Property {@link TypedMessageBuilder#value(Object)}.
+     *
+     * @param element element to be serialized
+     * @param sinkContext context to provide extra information.
+     */
+    byte[] serialize(IN element, PulsarSinkContext sinkContext);
+
+    /** Setting message metadata which would rarely be used for normal users. */
+    default void metadata(MetadataBuilder<IN> metadataBuilder, PulsarSinkContext sinkContext) {

Review comment:
       Is it possible to pass `<IN> element` as an argument in the `metadata(...)` method? Maybe there will be use cases where users want to calculate metadata from the element. Adding element here might give users more "food" to cook XD. WDYT~




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-1040448384


   > The PulsarSerializationSchema looks mostly good, great work. I left some last minor cleanup comments.
   
   You are right. Using a generic type of `PulsarMessage` is better than before.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] imaffe commented on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
imaffe commented on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-1033486400


   > > The only concern is my limited knowledge of Pulsar transactions. Maybe you can clarify the following scenarios.
   > > The job opens a transaction and sends records, now suddenly fails before the first checkpoint. The pipeline would restart and try to use the same transaction again. Do we generate duplicates in this case because the records are replayed?
   > > The job did a successful checkpoint and the transaction is moved to the committer. Before the committer can commit we write new records in the same transaction (I understood that we reuse the transaction for a topic). Does the committer now also commit the records that were received after the checkpoint?
   > 
   > The questions you ask couldn't happen on the Pulsar sink. Allow me to explain them in detail.
   > 
   > 1. PulsarWriter only implements `PrecommittingSinkWriter` which doesn't have any writer state. If the pipeline restarts without the first checkpoint. All the transactions would be omitted and we would create new transactions instead. The previous transactions are kept on Pulsar until they meet the timeout. The transaction is just a changelog-based system. Creating a lot of unused transactions is accepted.
   > 2. If the transactions are passed to Committer after successfully checkpoint on PulsarWriter. They can't be touched by PulsarWriter anymore. PulsarWriter clears its internal transaction register when calling `PulsarWriter#prepareCommit`.
   
   I have another question regarding the latency. If the transactions are committed on checkpoints only, let's say the checkpoint interval is 1min. And let's say the data volume is small, does that mean pulsar consumer won't be able to consume data produced by Pulsar Sink until the 1 minute interval passes (so the data sent within the 1 min is visible to consumers) ?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507",
       "triggerID" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "triggerType" : "PUSH"
     }, {
       "hash" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532",
       "triggerID" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "triggerType" : "PUSH"
     }, {
       "hash" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31539",
       "triggerID" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a4bb0c45b5b8278391087ecfea66790bd08293af",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31548",
       "triggerID" : "a4bb0c45b5b8278391087ecfea66790bd08293af",
       "triggerType" : "PUSH"
     }, {
       "hash" : "26013d5b1c83f686757bb46a2dd3fe126044612a",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "26013d5b1c83f686757bb46a2dd3fe126044612a",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 8cc9d45130f50e1af9040850a825a092e728dece Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507) 
   * cb193056896ffd7823d5155acb8dfa271b7656db Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532) 
   * eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31539) 
   * a4bb0c45b5b8278391087ecfea66790bd08293af Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31548) 
   * 26013d5b1c83f686757bb46a2dd3fe126044612a UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] fapaul commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
fapaul commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r806960818



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/message/PulsarMessage.java
##########
@@ -0,0 +1,103 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.message;
+
+import org.apache.flink.annotation.PublicEvolving;
+
+import org.apache.pulsar.client.api.Schema;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * The message instance which would be used for {@link TypedMessageBuilder}. We create this class
+ * because Pulsar lacks of such kind of POJO class.
+ */
+@PublicEvolving
+public class PulsarMessage {
+
+    private final byte[] orderingKey;
+    private final String key;
+    private final long eventTime;
+    private final Schema<?> schema;
+    private final Object value;
+    private final Map<String, String> properties;
+    private final Long sequenceId;
+    private final List<String> replicationClusters;
+    private final boolean disableReplication;

Review comment:
       add `@Nullable` to all optional fields + constructor + getter where applicable

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/message/PulsarMessage.java
##########
@@ -0,0 +1,103 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.message;
+
+import org.apache.flink.annotation.PublicEvolving;
+
+import org.apache.pulsar.client.api.Schema;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * The message instance which would be used for {@link TypedMessageBuilder}. We create this class
+ * because Pulsar lacks of such kind of POJO class.
+ */
+@PublicEvolving
+public class PulsarMessage {
+
+    private final byte[] orderingKey;
+    private final String key;
+    private final long eventTime;
+    private final Schema<?> schema;
+    private final Object value;

Review comment:
       Why not use a generic type i.e. `PulsarMessage<OUT>`? It probably has the same type as the `Schema<?>`.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/message/PulsarMessageBuilder.java
##########
@@ -0,0 +1,132 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.message;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.connector.pulsar.sink.writer.router.KeyHashTopicRouter;
+
+import org.apache.pulsar.client.api.Schema;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/** {@link TypedMessageBuilder} wrapper for providing the required method for end users. */
+@PublicEvolving
+public class PulsarMessageBuilder {
+
+    private byte[] orderingKey;
+    private String key;
+    private long eventTime;
+    Schema<?> schema;
+    private Object value;
+    private Map<String, String> properties = new HashMap<>();
+    private Long sequenceId;
+    private List<String> replicationClusters;
+    private boolean disableReplication = false;
+
+    /** Method wrapper of {@link TypedMessageBuilder#orderingKey(byte[])}. */
+    public PulsarMessageBuilder orderingKey(byte[] orderingKey) {
+        this.orderingKey = checkNotNull(orderingKey);
+        return this;
+    }
+
+    /**
+     * Property {@link TypedMessageBuilder#key(String)}. This property would also be used in {@link
+     * KeyHashTopicRouter}.
+     */
+    public PulsarMessageBuilder key(String key) {
+        this.key = checkNotNull(key);
+        return null;
+    }
+
+    /** Method wrapper of {@link TypedMessageBuilder#eventTime(long)}. */
+    public PulsarMessageBuilder eventTime(long eventTime) {
+        this.eventTime = eventTime;
+        return this;
+    }
+
+    /**
+     * Method wrapper of {@link TypedMessageBuilder#value(Object)}. We would use default {@link
+     * Schema#BYTES} if you use this method.
+     */
+    public PulsarMessageBuilder value(byte[] value) {
+        this.schema = Schema.BYTES;
+        this.value = value;
+        return this;
+    }

Review comment:
       Nit: Maybe it is easier to only offer the other builder method `value(Schema<IN> schema, IN value)` and move the `Schema.BYTES` delegation to the `PulsarSerializationSchemaWrapper` and `PulsarSchemaWrapper`.
   Otherwise you should probably add some checks that only one of the value methods is called.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/serializer/PulsarSerializationSchema.java
##########
@@ -0,0 +1,122 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.serializer;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext;
+import org.apache.flink.connector.pulsar.common.schema.PulsarSchema;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+import org.apache.flink.connector.pulsar.sink.writer.message.PulsarMessage;
+import org.apache.flink.connector.pulsar.sink.writer.message.PulsarMessageBuilder;
+
+import org.apache.pulsar.client.api.Schema;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.common.schema.KeyValue;
+
+import java.io.Serializable;
+
+/**
+ * The serialization schema for how to serialize record into Pulsar.
+ *
+ * @param <IN> The message type send to Pulsar.
+ */
+@PublicEvolving
+public interface PulsarSerializationSchema<IN> extends Serializable {
+
+    /**
+     * Initialization method for the schema. It is called before the actual working methods {@link
+     * #serialize(Object, PulsarMessageBuilder, PulsarSinkContext)} and thus suitable for one time
+     * setup work.
+     *
+     * <p>The provided {@link InitializationContext} can be used to access additional features such
+     * as e.g. registering user metrics.
+     *
+     * @param initializationContext Contextual information that can be used during initialization.
+     * @param sinkContext runtime information i.e. partitions, subtaskId
+     * @param sinkConfiguration All the configure options for Pulsar sink. You can add custom
+     *     options.
+     */
+    default void open(
+            InitializationContext initializationContext,
+            PulsarSinkContext sinkContext,
+            SinkConfiguration sinkConfiguration)
+            throws Exception {
+        // Nothing to do by default.
+    }
+
+    /**
+     * Serializes given element into bytes. Property {@link TypedMessageBuilder#value(Object)}.
+     *
+     * @param element element to be serialized
+     * @param builder the builder for building message instance.
+     * @param sinkContext context to provide extra information.
+     */
+    PulsarMessage serialize(
+            IN element, PulsarMessageBuilder builder, PulsarSinkContext sinkContext);

Review comment:
       I think you can remove the `PulsarMessageBuilder` and only mention in the docstring how to construct the `PulsarMessage`.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/message/PulsarMessageBuilder.java
##########
@@ -0,0 +1,132 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.message;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.connector.pulsar.sink.writer.router.KeyHashTopicRouter;
+
+import org.apache.pulsar.client.api.Schema;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/** {@link TypedMessageBuilder} wrapper for providing the required method for end users. */
+@PublicEvolving
+public class PulsarMessageBuilder {
+
+    private byte[] orderingKey;
+    private String key;
+    private long eventTime;
+    Schema<?> schema;
+    private Object value;
+    private Map<String, String> properties = new HashMap<>();
+    private Long sequenceId;
+    private List<String> replicationClusters;
+    private boolean disableReplication = false;
+
+    /** Method wrapper of {@link TypedMessageBuilder#orderingKey(byte[])}. */
+    public PulsarMessageBuilder orderingKey(byte[] orderingKey) {
+        this.orderingKey = checkNotNull(orderingKey);
+        return this;
+    }
+
+    /**
+     * Property {@link TypedMessageBuilder#key(String)}. This property would also be used in {@link
+     * KeyHashTopicRouter}.
+     */
+    public PulsarMessageBuilder key(String key) {
+        this.key = checkNotNull(key);
+        return null;
+    }
+
+    /** Method wrapper of {@link TypedMessageBuilder#eventTime(long)}. */
+    public PulsarMessageBuilder eventTime(long eventTime) {
+        this.eventTime = eventTime;
+        return this;
+    }
+
+    /**
+     * Method wrapper of {@link TypedMessageBuilder#value(Object)}. We would use default {@link
+     * Schema#BYTES} if you use this method.
+     */
+    public PulsarMessageBuilder value(byte[] value) {
+        this.schema = Schema.BYTES;
+        this.value = value;
+        return this;
+    }
+
+    /**
+     * Method wrapper of {@link TypedMessageBuilder#value(Object)}. You can pass any schema for
+     * validating it on Pulsar. This is called schema evolution. But the topic on Pulsar should
+     * binding to a fixed {@link Schema}. You can't have multiple schemas on same topic unless it's
+     * compatible with each other.
+     */
+    public <IN> PulsarMessageBuilder value(Schema<IN> schema, IN value) {
+        this.schema = schema;
+        this.value = value;
+        return this;
+    }
+
+    /** Method wrapper of {@link TypedMessageBuilder#property(String, String)}. */
+    public PulsarMessageBuilder property(String key, String value) {
+        this.properties.put(checkNotNull(key), checkNotNull(value));
+        return this;
+    }
+
+    /** Method wrapper of {@link TypedMessageBuilder#properties(Map)}. */
+    public PulsarMessageBuilder properties(Map<String, String> properties) {
+        this.properties.putAll(checkNotNull(properties));
+        return this;
+    }
+
+    /** Method wrapper of {@link TypedMessageBuilder#sequenceId(long)}. */
+    public PulsarMessageBuilder sequenceId(long sequenceId) {
+        this.sequenceId = sequenceId;
+        return this;
+    }
+
+    /** Method wrapper of {@link TypedMessageBuilder#replicationClusters(List)}. */
+    public PulsarMessageBuilder replicationClusters(List<String> replicationClusters) {
+        this.replicationClusters = checkNotNull(replicationClusters);
+        return this;
+    }
+
+    /** Method wrapper of {@link TypedMessageBuilder#disableReplication()}. */
+    public PulsarMessageBuilder disableReplication() {
+        this.disableReplication = true;
+        return this;
+    }
+
+    public PulsarMessage build() {
+        return new PulsarMessage(

Review comment:
       Are some of the fields required? I'd recommend to either make them part of the ctor of `PulsarMessageBuilder` or check that they are not null in `build`.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] fapaul commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
fapaul commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r805918885



##########
File path: flink-connectors/flink-connector-pulsar/src/test/java/org/apache/flink/connector/pulsar/testutils/function/FailingOnCheckpoint.java
##########
@@ -0,0 +1,60 @@
+/*
+ * 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.flink.connector.pulsar.testutils.function;
+
+import org.apache.flink.api.common.functions.RichMapFunction;
+import org.apache.flink.api.common.state.CheckpointListener;
+import org.apache.flink.testutils.junit.SharedObjectsExtension;
+import org.apache.flink.testutils.junit.SharedReference;
+
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
+
+/** Fails after a checkpoint is taken and the next record was emitted. */
+public class FailingOnCheckpoint extends RichMapFunction<Long, Long> implements CheckpointListener {
+    private static final long serialVersionUID = -2595809047617609928L;
+
+    private volatile long lastCheckpointId = 0;
+
+    private final AtomicInteger emittedBetweenCheckpoint = new AtomicInteger(0);
+    private final SharedReference<AtomicBoolean> failed;
+
+    public FailingOnCheckpoint(SharedObjectsExtension sharedObjects) {
+        this.failed = sharedObjects.add(new AtomicBoolean(false));
+    }
+
+    @Override
+    public Long map(Long value) throws Exception {
+        if (lastCheckpointId >= 1 && emittedBetweenCheckpoint.get() > 0 && !failed.get().get()) {
+            failed.get().set(true);
+            throw new RuntimeException("Planned exception.");
+        }
+        // Delay execution to ensure that at-least one checkpoint is triggered before finish
+        Thread.sleep(50);

Review comment:
       I see, for the kafka tests I have used it because I have configured a lower checkpointing interval than `recordCount * 50ms`




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "",
       "status" : "CANCELED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   *  Unknown: [CANCELED](TBD) 
   * 7a74987d989f699bc68c2da8e0cd9bf3fa8065a6 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 41ed8dfb2e8b804827e761eda9dc2082f7a553d7 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * b84065861ec8af6e9f35ffdc548ce3203a21534e Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995) 
   * a9c278120fed2705c20d511b70f291a4bc47295f UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a9c278120fed2705c20d511b70f291a4bc47295f Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-1039111204


   > Looks mostly good I am only a bit skeptical about the flushing behavior + the message delayer.
   > 
   > One quick note: For Kafka, the pending transactions block the visibility of new incoming records it is the same with Pulsar? In the KafkaSink we have implemented a mechanism to abort the potential lingering transactions.
   
   Tks for your detailed review. It seems like most of your question is just because you aren't familiar with Pulsar. I'll explain the flush behavior and message delayer in the review comments. First of all, let me explain the mechanism for Pulsar to abort the potential lingering transactions.
   
   ### Writing message with transaction
   
   Pulsar isn't like Kafka in writing messages with a transaction, the pending transactions will not block the messages written in other transactions. The transaction is just a small mark (`TxnID`) that can be shared with any producers or consumers. The producer can write messages to multiple transactions.
   
   The message, written in a specified Pulsar transaction, wouldn't be seen by the consumer until this transaction was committed. That means we don't need to abort the potential lingering transactions.
   
   `PulsarWriter` would abort all the pending transactions before closing the pipeline. If the application crashed and the pending transactions would just be kept in Pulsar until they meet the timeout. And this doesn't affect any new records which would be written in a new transaction.
   
   ### Message delayer
   
   [Delayed message delivery](https://pulsar.apache.org/docs/en/next/concepts-messaging/#delayed-message-delivery) would confuse someone like you by its naming. People would think that this behavior would happen on the client-side (`PulsarWriter`).
   
   But this is wrong. The message with delayed configuration would be sent to Pulsar async. We didn't cache the message and sent it when meet the delay time. This is handled by Pulsar Bookie on the server-side.
   
   Test this feature is just like testing Pulsar. I don't think we need the test on this feature.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a49364d47478c98f43f95d9b58b699da6da6d433 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349) 
   * 0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a49364d47478c98f43f95d9b58b699da6da6d433 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349) 
   * 0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484) 
   * b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507",
       "triggerID" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "triggerType" : "PUSH"
     }, {
       "hash" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484) 
   * b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495) 
   * 8cc9d45130f50e1af9040850a825a092e728dece Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507) 
   * cb193056896ffd7823d5155acb8dfa271b7656db UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] jianyun8023 commented on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
jianyun8023 commented on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-953144248


   @AHeise How are you doing? Can you find the time to help me with my review? I am very much looking forward to it.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * c8820e335d23677ffb548b0d1fa8771fa7c1bce1 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965) 
   * bf9ffe09e2eec6f03c9c1c5f18cf95b323088549 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r790376258



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSinkOptions.java
##########
@@ -0,0 +1,261 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.annotation.docs.ConfigGroup;
+import org.apache.flink.annotation.docs.ConfigGroups;
+import org.apache.flink.configuration.ConfigOption;
+import org.apache.flink.configuration.ConfigOptions;
+import org.apache.flink.configuration.description.Description;
+
+import org.apache.pulsar.client.api.CompressionType;
+import org.apache.pulsar.client.api.HashingScheme;
+import org.apache.pulsar.client.api.MessageRoutingMode;
+import org.apache.pulsar.client.api.ProducerCryptoFailureAction;
+
+import java.time.Duration;
+import java.util.concurrent.TimeUnit;
+
+import static org.apache.flink.configuration.description.TextElement.code;
+import static org.apache.flink.configuration.description.TextElement.text;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PRODUCER_CONFIG_PREFIX;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.SINK_CONFIG_PREFIX;
+
+/** the options for Pulsar Sink. */
+@PublicEvolving
+@ConfigGroups(
+        groups = {
+            @ConfigGroup(name = "PulsarSink", keyPrefix = SINK_CONFIG_PREFIX),
+            @ConfigGroup(name = "PulsarProducer", keyPrefix = PRODUCER_CONFIG_PREFIX)
+        })
+public final class PulsarSinkOptions {
+
+    // Pulsar sink connector config prefix.
+    public static final String SINK_CONFIG_PREFIX = "pulsar.sink.";
+    // Pulsar producer API config prefix.
+    public static final String PRODUCER_CONFIG_PREFIX = "pulsar.producer.";

Review comment:
       Nope. this would be used on annontation.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/config/SinkConfiguration.java
##########
@@ -0,0 +1,59 @@
+/*
+ * 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.flink.connector.pulsar.sink.config;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.configuration.Configuration;
+
+import java.io.Serializable;
+
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_FAIL_ON_WRITE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TRANSACTION_TIMEOUT_MILLIS;
+
+/** The configure class for pulsar sink. */
+@PublicEvolving

Review comment:
       This class would be used in `TopicRouter` which is marked as `@PublicEvolving`




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * c8820e335d23677ffb548b0d1fa8771fa7c1bce1 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r792515613



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,215 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink.InitContext;
+import org.apache.flink.api.connector.sink.Sink.ProcessingTimeService;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommittable;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContextAdapter;
+import org.apache.flink.connector.pulsar.sink.writer.message.RawMessage;
+import org.apache.flink.connector.pulsar.sink.writer.router.TopicRouter;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchemaInitializationContext;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicMetadataListener;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicProducerRegister;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.function.SerializableFunction;
+
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.api.transaction.Transaction;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.Semaphore;
+
+import static java.util.Collections.emptyList;
+import static org.apache.flink.util.IOUtils.closeAll;
+
+/**
+ * This class is responsible to write records in a Pulsar topic and to handle the different delivery
+ * {@link DeliveryGuarantee}s.
+ *
+ * @param <IN> The type of the input elements.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarCommittable, Void> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private final SinkConfiguration sinkConfiguration;
+    private final DeliveryGuarantee deliveryGuarantee;
+    private final PulsarSerializationSchema<IN> serializationSchema;
+    private final TopicRouter<IN> topicRouter;
+    private final PulsarSinkContextAdapter sinkContextAdapter;
+    private final TopicMetadataListener metadataListener;
+    private final MailboxExecutor mailboxExecutor;
+    private final TopicProducerRegister producerRegister;
+    private final Semaphore pendingMessages;
+
+    /**
+     * Constructor creating a Pulsar writer.
+     *
+     * <p>It will throw a {@link RuntimeException} if {@link
+     * PulsarSerializationSchema#open(SerializationSchema.InitializationContext, PulsarSinkContext,
+     * SinkConfiguration)} fails.
+     *
+     * @param sinkConfiguration the configuration to configure the Pulsar producer.
+     * @param deliveryGuarantee the Sink's delivery guarantee.
+     * @param serializationSchema serialize to transform the incoming records to {@link RawMessage}.
+     * @param metadataListener the listener for querying topic metadata.
+     * @param topicRouterProvider create related topic router to choose topic by incoming records.
+     * @param initContext context to provide information about the runtime environment.
+     */
+    public PulsarWriter(
+            SinkConfiguration sinkConfiguration,
+            DeliveryGuarantee deliveryGuarantee,
+            PulsarSerializationSchema<IN> serializationSchema,
+            TopicMetadataListener metadataListener,
+            SerializableFunction<SinkConfiguration, TopicRouter<IN>> topicRouterProvider,
+            InitContext initContext) {
+        this.sinkConfiguration = sinkConfiguration;
+        this.deliveryGuarantee = deliveryGuarantee;
+        this.serializationSchema = serializationSchema;
+        this.topicRouter = topicRouterProvider.apply(sinkConfiguration);
+        this.sinkContextAdapter = new PulsarSinkContextAdapter(initContext, sinkConfiguration);
+        this.metadataListener = metadataListener;
+        this.mailboxExecutor = initContext.getMailboxExecutor();
+
+        // Initialize topic metadata listener.
+        LOG.debug("Initialize topic metadata after creating Pulsar writer.");
+        ProcessingTimeService timeService = initContext.getProcessingTimeService();
+        metadataListener.open(sinkConfiguration, timeService);
+
+        // Initialize topic router.
+        topicRouter.open(sinkConfiguration);
+
+        // Initialize the serialization schema.
+        PulsarSerializationSchemaInitializationContext initializationContext =
+                new PulsarSerializationSchemaInitializationContext(initContext);
+        try {
+            serializationSchema.open(initializationContext, sinkContextAdapter, sinkConfiguration);
+        } catch (Exception e) {
+            throw new FlinkRuntimeException("Cannot initialize schema.", e);
+        }
+
+        // Create this producer register after opening serialization schema!
+        this.producerRegister = new TopicProducerRegister(sinkConfiguration, serializationSchema);
+        this.pendingMessages = new Semaphore(sinkConfiguration.getMaxPendingMessages());
+    }
+
+    @Override
+    @SuppressWarnings("unchecked")
+    public void write(IN element, Context context) throws IOException, InterruptedException {
+        // Serialize the incoming element.
+        sinkContextAdapter.updateTimestamp(context);
+        RawMessage<byte[]> message = serializationSchema.serialize(element, sinkContextAdapter);
+
+        // Choose the right topic to send.
+        List<String> availableTopics = metadataListener.availableTopics();
+        String topic = topicRouter.route(element, message, availableTopics, sinkContextAdapter);
+
+        // Create message builder for sending message.
+        TypedMessageBuilder<?> builder = createMessageBuilder(topic, deliveryGuarantee);
+        if (sinkConfiguration.isEnableSchemaEvolution()) {
+            ((TypedMessageBuilder<IN>) builder).value(element);
+        } else {
+            ((TypedMessageBuilder<byte[]>) builder).value(message.getValue());
+        }
+        message.supplement(builder);
+
+        // Perform message sending.
+        if (deliveryGuarantee == DeliveryGuarantee.NONE) {
+            // We would just ignore the sending exception. This may cause data loss.
+            builder.sendAsync();
+        } else if (deliveryGuarantee == DeliveryGuarantee.AT_LEAST_ONCE) {
+            // Waiting for permits to write message.
+            pendingMessages.acquire();
+            CompletableFuture<MessageId> sender = builder.sendAsync();
+            sender.whenComplete(
+                    (id, ex) -> {
+                        pendingMessages.release();
+                        if (ex != null) {
+                            mailboxExecutor.execute(
+                                    () -> {
+                                        throw new FlinkRuntimeException(

Review comment:
       Nope. The mailbox executes the writer.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 6854b5ae7209cd2edc56ac525f462292f85efd9c Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601) 
   * 2b8ddde74cdbdff873706d34b993e808ef0ea6c5 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] jianyun8023 removed a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
jianyun8023 removed a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940140071






-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969) 
   * 8e3d80bc6fc29bf1865667fff9ab32495fd217f0 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 7b0ea669fc400027e3ec31c28f5c8d93af9e5795 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571) 
   * 0c8c26e1f9b39c058f39ae6d0caa23f04518e835 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584) 
   * f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590) 
   * 3bdbb660a027c49a1fed5c8b77ccf5174c16c85d Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599) 
   * 6854b5ae7209cd2edc56ac525f462292f85efd9c UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590) 
   * 3bdbb660a027c49a1fed5c8b77ccf5174c16c85d Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463) 
   * 067d456df50b5cd5889cfa299b6b81b4da172626 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "cbe30d48f2df59f78de1b9adfd166a77f57c92c6",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "cbe30d48f2df59f78de1b9adfd166a77f57c92c6",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463) 
   * 067d456df50b5cd5889cfa299b6b81b4da172626 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485) 
   * cbe30d48f2df59f78de1b9adfd166a77f57c92c6 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     } ]
   }-->
   ## CI report:
   
   * 40b7b444a0d0492677db15f5a841340e810ce0ff Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] fapaul commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
fapaul commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r741733756



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSink.java
##########
@@ -0,0 +1,121 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.api.connector.sink.GlobalCommitter;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommitter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterState;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterStateSerializer;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.core.io.SimpleVersionedSerializer;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * a pulsar Sink implement.
+ *
+ * @param <IN> record data type.
+ */
+@PublicEvolving
+public class PulsarSink<IN> implements Sink<IN, PulsarSinkCommittable, PulsarWriterState, Void> {
+
+    private final DeliveryGuarantee deliveryGuarantee;
+
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+    private final PartitionSelector<IN> partitionSelector;
+
+    private final Configuration configuration;
+
+    public PulsarSink(

Review comment:
       The constructor can probably be package-private

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/common/schema/IncompatibleSchemaException.java
##########
@@ -0,0 +1,31 @@
+/*
+ * 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.flink.connector.pulsar.common.schema;
+
+/** Exception designates the incompatibility between pulsar and flink type. */
+public class IncompatibleSchemaException extends RuntimeException {
+
+    public IncompatibleSchemaException(String message, Throwable e) {
+        super(message, e);
+    }
+
+    public IncompatibleSchemaException(String message) {

Review comment:
       ctor is unused?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/committer/PulsarCommitter.java
##########
@@ -0,0 +1,96 @@
+/*
+ * 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.flink.connector.pulsar.sink.committer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.apache.pulsar.client.impl.transaction.TransactionCoordinatorClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/** Committer implementation for {@link org.apache.flink.connector.pulsar.sink.PulsarSink}. */
+@Internal
+public class PulsarCommitter implements Committer<PulsarSinkCommittable>, Closeable {
+
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarCommitter.class);
+
+    private final DeliveryGuarantee deliveryGuarantee;
+
+    private final Configuration configuration;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarCommitter(DeliveryGuarantee deliveryGuarantee, Configuration configuration) {
+        this.deliveryGuarantee = deliveryGuarantee;
+        this.configuration = configuration;
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> commit(List<PulsarSinkCommittable> committables)
+            throws IOException {
+        if (deliveryGuarantee != DeliveryGuarantee.EXACTLY_ONCE || committables.isEmpty()) {
+            return Collections.emptyList();
+        }
+        final TransactionCoordinatorClientImpl tcClient = getTcClient();
+        LOG.debug("commit committables, current tcClient state: {}", tcClient.getState());
+        List<PulsarSinkCommittable> recoveryCommittables = new ArrayList<>();
+        for (PulsarSinkCommittable committable : committables) {
+            LOG.debug("commit committables {}", committable.getTxnID());
+            try {
+                tcClient.commit(committable.getTxnID());
+            } catch (TransactionCoordinatorClientException e) {
+                LOG.error("commit committables failed " + committable.getTxnID(), e);
+                recoveryCommittables.add(committable);
+            }
+        }
+        return recoveryCommittables;
+    }
+
+    private synchronized TransactionCoordinatorClientImpl getTcClient()
+            throws TransactionCoordinatorClientException {

Review comment:
       The exception seems to be unnecessary

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {

Review comment:
       Can you double-check the fields of this class some of them can be final and some of them are probably not needed at all?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/committer/PulsarCommitter.java
##########
@@ -0,0 +1,96 @@
+/*
+ * 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.flink.connector.pulsar.sink.committer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.apache.pulsar.client.impl.transaction.TransactionCoordinatorClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/** Committer implementation for {@link org.apache.flink.connector.pulsar.sink.PulsarSink}. */
+@Internal
+public class PulsarCommitter implements Committer<PulsarSinkCommittable>, Closeable {
+
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarCommitter.class);
+
+    private final DeliveryGuarantee deliveryGuarantee;
+
+    private final Configuration configuration;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarCommitter(DeliveryGuarantee deliveryGuarantee, Configuration configuration) {
+        this.deliveryGuarantee = deliveryGuarantee;
+        this.configuration = configuration;
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> commit(List<PulsarSinkCommittable> committables)
+            throws IOException {
+        if (deliveryGuarantee != DeliveryGuarantee.EXACTLY_ONCE || committables.isEmpty()) {
+            return Collections.emptyList();
+        }
+        final TransactionCoordinatorClientImpl tcClient = getTcClient();
+        LOG.debug("commit committables, current tcClient state: {}", tcClient.getState());
+        List<PulsarSinkCommittable> recoveryCommittables = new ArrayList<>();
+        for (PulsarSinkCommittable committable : committables) {
+            LOG.debug("commit committables {}", committable.getTxnID());
+            try {
+                tcClient.commit(committable.getTxnID());
+            } catch (TransactionCoordinatorClientException e) {
+                LOG.error("commit committables failed " + committable.getTxnID(), e);
+                recoveryCommittables.add(committable);
+            }
+        }
+        return recoveryCommittables;
+    }
+
+    private synchronized TransactionCoordinatorClientImpl getTcClient()

Review comment:
       Why is this method synchronized? AFAIK commit is never called parallel

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;
+                        }
+
+                        @Override
+                        public UserCodeClassLoader getUserCodeClassLoader() {
+                            return userCodeClassLoader;
+                        }
+                    });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        if (deliveryGuarantee == EXACTLY_ONCE) {
+            this.delivery = new ExactlyOnceDelivery(sinkConfiguration, this::getPulsarClient);
+        } else {
+            this.delivery = new AtLeastOnceDelivery();
+        }
+        closer.register(delivery);
+        this.sendCallback =
+                initializeSendCallback(sinkConfiguration, sinkInitContext.getMailboxExecutor());
+    }
+
+    @Override
+    public void write(IN value, Context context) throws IOException {
+        String topic = topicSelector.selector(value);
+        TypedMessageBuilder messageBuilder = delivery.newMessage(getProducer(topic));
+        serializationSchema.serialize(value, messageBuilder);
+
+        CompletableFuture<MessageId> messageIdFuture = messageBuilder.sendAsync();
+        pendingRecords.incrementAndGet();
+        futures.add(messageIdFuture);
+        messageIdFuture.whenComplete(sendCallback);
+    }
+
+    public void initializeState(List<PulsarWriterState> states) throws IOException {
+        checkNotNull(states, "The retrieved state was null.");
+        for (PulsarWriterState state : states) {
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Restoring: {}", state);
+            }
+        }
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> prepareCommit(boolean flush) throws IOException {
+        if (!flush) {
+            return Collections.emptyList();
+        }
+        producerFlush();
+        List<PulsarSinkCommittable> committables = delivery.prepareCommit(flush);
+        LOG.debug("Committing {} committables, final commit={}.", committables, flush);
+        return committables;
+    }
+
+    @Override
+    public List<PulsarWriterState> snapshotState(long checkpointId) throws IOException {
+        return delivery.snapshotState(checkpointId);
+    }
+
+    @Override
+    public void close() throws Exception {
+        producerFlush();
+        closer.close();
+    }
+
+    public void producerFlush() throws IOException {
+        for (Producer<?> p : topic2Producer.values()) {
+            p.flush();
+        }
+
+        for (CompletableFuture<MessageId> completableFuture : futures) {
+            try {
+                completableFuture.get();
+            } catch (InterruptedException e) {
+                throw new RuntimeException(e);
+            } catch (ExecutionException e) {
+                throw new RuntimeException(e);
+            }
+        }
+        futures.clear();
+
+        if (pendingRecords.get() > 0) {
+            throw new RuntimeException("The message could not be sent");
+        }
+    }
+
+    // ------------------------------internal method------------------------------
+
+    private synchronized PulsarClientImpl getPulsarClient() {
+        if (pulsarClient != null) {
+            return pulsarClient;
+        }
+        pulsarClient = (PulsarClientImpl) PulsarConfigUtils.createClient(configuration);
+        closer.register(pulsarClient);
+        return pulsarClient;
+    }
+
+    protected Producer<?> getProducer(String topic) throws PulsarClientException {
+        Producer<?> producer = topic2Producer.get(topic);
+        if (producer != null && producer.isConnected()) {
+            return producer;
+        }
+
+        final ProducerBuilder<?> producerBuilder =
+                PulsarSinkConfigUtils.createProducerBuilder(
+                        getPulsarClient(), serializationSchema.getSchema(), configuration);
+        producerBuilder.topic(topic);
+
+        if (partitionSelector != null) {
+            producerBuilder.messageRouter(generateMessageRouter());
+        }
+        producer = producerBuilder.create();
+        closer.register(producer);
+        uploadSchema(topic);
+        topic2Producer.put(topic, producer);
+        return producer;
+    }
+
+    @SuppressWarnings("unchecked")
+    private MessageRouter generateMessageRouter() {
+        return new MessageRouter() {
+            @Override
+            public int choosePartition(Message<?> msg, TopicMetadata metadata) {
+                return partitionSelector.select(
+                        (Message<IN>) msg,
+                        new org.apache.flink.connector.pulsar.sink.writer.selector.TopicMetadata(
+                                metadata.numPartitions()));
+            }
+        };
+    }
+
+    protected BiConsumer<MessageId, Throwable> initializeSendCallback(
+            SinkConfiguration sinkConfiguration, MailboxExecutor mailboxExecutor) {
+        if (sinkConfiguration.isFailOnWrite()) {
+            return (t, u) -> {
+                if (u == null) {
+                    acknowledgeMessage();
+                    return;
+                }
+                mailboxExecutor.execute(
+                        () -> {
+                            throw new FlinkRuntimeException(u);
+                        },
+                        "Failed to send data to Pulsar");
+            };
+        } else {
+            return (t, u) -> {
+                if (u != null) {
+                    LOG.error(
+                            "Error while sending message to Pulsar: {}",
+                            ExceptionUtils.stringifyException(u));
+                }
+                acknowledgeMessage();
+            };
+        }
+    }
+
+    private void acknowledgeMessage() {
+        synchronized (pendingRecords) {
+            if (pendingRecords.decrementAndGet() == 0L) {
+                pendingRecords.notifyAll();
+            }
+        }
+    }

Review comment:
       Can you explain this block? In general, synchronization should not be necessary if everything is executed in the mailbox.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSink.java
##########
@@ -0,0 +1,121 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.api.connector.sink.GlobalCommitter;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommitter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterState;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterStateSerializer;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.core.io.SimpleVersionedSerializer;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * a pulsar Sink implement.

Review comment:
       Can you add more information about the capabilities of the sink? You can have a look at the KafkaSink for a reference :)

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSink.java
##########
@@ -0,0 +1,121 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.api.connector.sink.GlobalCommitter;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommitter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterState;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterStateSerializer;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.core.io.SimpleVersionedSerializer;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * a pulsar Sink implement.
+ *
+ * @param <IN> record data type.
+ */
+@PublicEvolving
+public class PulsarSink<IN> implements Sink<IN, PulsarSinkCommittable, PulsarWriterState, Void> {
+
+    private final DeliveryGuarantee deliveryGuarantee;
+
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+    private final PartitionSelector<IN> partitionSelector;
+
+    private final Configuration configuration;
+
+    public PulsarSink(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration) {
+        this.deliveryGuarantee = deliveryGuarantee;
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;

Review comment:
       We usually use `Preconditions.checkNotNull()` for to ensure ctor parameters are not null

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSinkOptions.java
##########
@@ -0,0 +1,261 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.annotation.docs.ConfigGroup;
+import org.apache.flink.annotation.docs.ConfigGroups;
+import org.apache.flink.configuration.ConfigOption;
+import org.apache.flink.configuration.ConfigOptions;
+import org.apache.flink.configuration.description.Description;
+
+import org.apache.pulsar.client.api.CompressionType;
+import org.apache.pulsar.client.api.HashingScheme;
+import org.apache.pulsar.client.api.MessageRoutingMode;
+import org.apache.pulsar.client.api.ProducerCryptoFailureAction;
+
+import java.time.Duration;
+import java.util.concurrent.TimeUnit;
+
+import static org.apache.flink.configuration.description.TextElement.code;
+import static org.apache.flink.configuration.description.TextElement.text;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PRODUCER_CONFIG_PREFIX;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.SINK_CONFIG_PREFIX;
+
+/** the options for Pulsar Sink. */
+@PublicEvolving
+@ConfigGroups(
+        groups = {
+            @ConfigGroup(name = "PulsarSink", keyPrefix = SINK_CONFIG_PREFIX),
+            @ConfigGroup(name = "PulsarProducer", keyPrefix = PRODUCER_CONFIG_PREFIX)
+        })
+public final class PulsarSinkOptions {
+
+    // Pulsar sink connector config prefix.
+    public static final String SINK_CONFIG_PREFIX = "pulsar.sink.";
+    // Pulsar producer API config prefix.
+    public static final String PRODUCER_CONFIG_PREFIX = "pulsar.producer.";

Review comment:
       Can both be private?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/common/schema/IncompatibleSchemaException.java
##########
@@ -0,0 +1,31 @@
+/*
+ * 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.flink.connector.pulsar.common.schema;
+
+/** Exception designates the incompatibility between pulsar and flink type. */
+public class IncompatibleSchemaException extends RuntimeException {

Review comment:
       Please mark as `@Internal`

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/committer/PulsarCommitter.java
##########
@@ -0,0 +1,96 @@
+/*
+ * 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.flink.connector.pulsar.sink.committer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.apache.pulsar.client.impl.transaction.TransactionCoordinatorClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/** Committer implementation for {@link org.apache.flink.connector.pulsar.sink.PulsarSink}. */
+@Internal
+public class PulsarCommitter implements Committer<PulsarSinkCommittable>, Closeable {
+
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarCommitter.class);
+
+    private final DeliveryGuarantee deliveryGuarantee;
+
+    private final Configuration configuration;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarCommitter(DeliveryGuarantee deliveryGuarantee, Configuration configuration) {
+        this.deliveryGuarantee = deliveryGuarantee;
+        this.configuration = configuration;
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> commit(List<PulsarSinkCommittable> committables)
+            throws IOException {
+        if (deliveryGuarantee != DeliveryGuarantee.EXACTLY_ONCE || committables.isEmpty()) {

Review comment:
       We should not forward any committables from the sink writer if `deliveryGuarantee != DeliveryGuarantee.EXACTLY_ONCE` currently they are always written to the committer state.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSinkBuilder.java
##########
@@ -0,0 +1,260 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.api.common.typeinfo.TypeInformation;
+import org.apache.flink.configuration.ConfigOption;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.configuration.UnmodifiableConfiguration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarOptions;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+
+import org.apache.pulsar.client.api.MessageRoutingMode;
+import org.apache.pulsar.client.api.Schema;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_ADMIN_URL;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_SERVICE_URL;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MESSAGE_ROUTING_MODE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TRANSACTION_TIMEOUT_MILLIS;
+import static org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils.checkConfigurations;
+import static org.apache.flink.util.Preconditions.checkArgument;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * PulsarSink's builder is used to simplify the creation of Sink.

Review comment:
       Can you add an example here how to use the builder to construct a pulsar sink?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSinkBuilder.java
##########
@@ -0,0 +1,260 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.api.common.typeinfo.TypeInformation;
+import org.apache.flink.configuration.ConfigOption;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.configuration.UnmodifiableConfiguration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarOptions;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+
+import org.apache.pulsar.client.api.MessageRoutingMode;
+import org.apache.pulsar.client.api.Schema;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_ADMIN_URL;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_SERVICE_URL;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MESSAGE_ROUTING_MODE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TRANSACTION_TIMEOUT_MILLIS;
+import static org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils.checkConfigurations;
+import static org.apache.flink.util.Preconditions.checkArgument;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * PulsarSink's builder is used to simplify the creation of Sink.
+ *
+ * @param <IN>
+ */
+public class PulsarSinkBuilder<IN> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarSinkBuilder.class);
+
+    private DeliveryGuarantee deliveryGuarantee;
+    private TopicSelector<IN> topicSelector;
+    private PulsarSerializationSchema<IN, ?> serializationSchema;
+    private PartitionSelector<IN> partitionSelector;
+    private final Configuration configuration;
+
+    // private builder constructor.
+    PulsarSinkBuilder() {
+        this.configuration = new Configuration();
+        this.deliveryGuarantee = DeliveryGuarantee.EXACTLY_ONCE;
+    }
+
+    /**
+     * Sets the admin endpoint for the PulsarAdmin of the PulsarSink.
+     *
+     * @param adminUrl the url for the PulsarAdmin.
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> setAdminUrl(String adminUrl) {
+        return setConfig(PULSAR_ADMIN_URL, adminUrl);
+    }
+
+    /**
+     * Sets the server's link for the PulsarProducer of the PulsarSink.
+     *
+     * @param serviceUrl the server url of the Pulsar cluster.
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> setServiceUrl(String serviceUrl) {
+        return setConfig(PULSAR_SERVICE_URL, serviceUrl);
+    }
+
+    /**
+     * Set the topic for the PulsarSink.
+     *
+     * @param topic pulsar topic
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> setTopic(String topic) {
+        this.topicSelector = e -> topic;
+        return this;
+    }
+
+    /**
+     * set a topic selector for the PulsarSink.
+     *
+     * @param topicSelector select a topic by record.
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> setTopic(TopicSelector<IN> topicSelector) {
+        this.topicSelector = topicSelector;
+        return this;
+    }
+
+    /**
+     * Set a DeliverGuarantees for the PulsarSink.
+     *
+     * @param deliveryGuarantee deliver guarantees.
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> setDeliveryGuarantee(DeliveryGuarantee deliveryGuarantee) {
+        this.deliveryGuarantee = deliveryGuarantee;
+        return this;
+    }
+
+    /**
+     * SerializationSchema is required for getting the {@link Schema} for serialize message from
+     * pulsar and getting the {@link TypeInformation} for message serialization in flink.
+     *
+     * <p>We have defined a set of implementations, using {@code
+     * PulsarSerializationSchema#pulsarSchema} or {@code PulsarSerializationSchema#flinkSchema} for
+     * creating the desired schema.
+     */
+    public <T extends IN> PulsarSinkBuilder<T> setSerializationSchema(
+            PulsarSerializationSchema<T, ?> serializationSchema) {
+        PulsarSinkBuilder<T> self = specialized();
+        self.serializationSchema = serializationSchema;
+        return self;
+    }
+
+    /**
+     * Write the message to a partition of the Pulsar topic using a random method.
+     *
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> singlePartition() {
+        return setConfig(PULSAR_MESSAGE_ROUTING_MODE, MessageRoutingMode.SinglePartition);
+    }
+
+    /**
+     * Write the message to a partition of the Pulsar topic using a round Robin method.
+     *
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> roundRobinPartition() {
+        return setConfig(PULSAR_MESSAGE_ROUTING_MODE, MessageRoutingMode.RoundRobinPartition);
+    }
+
+    /**
+     * Write the message to a partition of the Pulsar topic using user defined method.
+     *
+     * @return this PulsarSinkBuilder.
+     */
+    public <T extends IN> PulsarSinkBuilder<T> customPartition(
+            PartitionSelector<T> partitionSelector) {
+        setConfig(PULSAR_MESSAGE_ROUTING_MODE, MessageRoutingMode.CustomPartition);
+        PulsarSinkBuilder<T> self = specialized();
+        self.partitionSelector = partitionSelector;
+        return self;
+    }
+
+    /**
+     * Build the {@link PulsarSink}.
+     *
+     * @return a PulsarSink with the settings made for this builder.
+     */
+    @SuppressWarnings("java:S3776")
+    public PulsarSink<IN> build() {
+        // Check builder configuration.
+        checkConfigurations(configuration);
+
+        // Ensure the topic  for pulsar.
+        checkNotNull(topicSelector, "No topic names or topic pattern are provided.");
+
+        if (DeliveryGuarantee.EXACTLY_ONCE == deliveryGuarantee) {
+            configuration.set(PulsarOptions.PULSAR_ENABLE_TRANSACTION, true);
+            configuration.set(PulsarSinkOptions.PULSAR_SEND_TIMEOUT_MS, 0L);
+            if (!configuration.contains(PULSAR_TRANSACTION_TIMEOUT_MILLIS)) {
+                LOG.warn(
+                        "The default pulsar transaction timeout is 3 hours, "
+                                + "make sure it was greater than your checkpoint interval.");
+            } else {
+                Long timeout = configuration.get(PULSAR_TRANSACTION_TIMEOUT_MILLIS);
+                LOG.warn(
+                        "The configured transaction timeout is {} mille seconds, "

Review comment:
       ```suggestion
                           "The configured transaction timeout is {} milliseconds, "
   ```

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/config/SinkConfiguration.java
##########
@@ -0,0 +1,59 @@
+/*
+ * 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.flink.connector.pulsar.sink.config;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.configuration.Configuration;
+
+import java.io.Serializable;
+
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_FAIL_ON_WRITE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TRANSACTION_TIMEOUT_MILLIS;
+
+/** The configure class for pulsar sink. */
+@PublicEvolving

Review comment:
       Why is this class marked as `@PublicEvolving`?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;

Review comment:
       Remove

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;

Review comment:
       Why are these fields transient?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/config/SinkConfiguration.java
##########
@@ -0,0 +1,59 @@
+/*
+ * 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.flink.connector.pulsar.sink.config;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.configuration.Configuration;
+
+import java.io.Serializable;
+
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_FAIL_ON_WRITE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TRANSACTION_TIMEOUT_MILLIS;
+
+/** The configure class for pulsar sink. */
+@PublicEvolving
+public class SinkConfiguration implements Serializable {

Review comment:
       Does it need to be serializable?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;

Review comment:
       You can get the metric group from the `Sink.InitContext` and you can pass it to the pulsar writer as a reference please have a look at the KafkaSink

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/config/PulsarSinkConfigUtils.java
##########
@@ -0,0 +1,134 @@
+/*
+ * 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.flink.connector.pulsar.sink.config;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.configuration.ConfigOption;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.util.Preconditions;
+
+import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList;
+import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableSet;
+
+import org.apache.pulsar.client.api.Consumer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClient;
+import org.apache.pulsar.client.api.Schema;
+
+import java.util.List;
+import java.util.Set;
+
+import static java.util.concurrent.TimeUnit.MICROSECONDS;
+import static java.util.concurrent.TimeUnit.MILLISECONDS;
+import static org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils.setOptionValue;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_ADMIN_URL;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_AUTH_PARAMS;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_AUTH_PARAM_MAP;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_SERVICE_URL;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_BATCHING_ENABLED;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_BATCHING_MAX_MESSAGES;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_BATCHING_MAX_PUBLISH_DELAY_MICROS;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_BLOCK_IF_QUEUE_FULL;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_COMPRESSION_TYPE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_CRYPTO_FAILURE_ACTION;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_ENABLE_CHUNKING;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_HASHING_SCHEME;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MAX_PENDING_MESSAGES;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MAX_PENDING_MESSAGES_ACROSS_PARTITIONS;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MESSAGE_ROUTING_MODE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_PRODUCER_NAME;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_SEND_TIMEOUT_MS;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TOPIC_NAME;
+
+/** Create source related {@link Consumer} and validate config. */
+@Internal
+public final class PulsarSinkConfigUtils {
+
+    private PulsarSinkConfigUtils() {
+        // No need to create instance.
+    }
+
+    private static final List<Set<ConfigOption<?>>> CONFLICT_SINK_OPTIONS =
+            ImmutableList.<Set<ConfigOption<?>>>builder()
+                    .add(ImmutableSet.of(PULSAR_AUTH_PARAMS, PULSAR_AUTH_PARAM_MAP))
+                    .build();
+
+    private static final Set<ConfigOption<?>> REQUIRED_SINK_OPTIONS =
+            ImmutableSet.<ConfigOption<?>>builder()
+                    .add(PULSAR_SERVICE_URL)
+                    .add(PULSAR_ADMIN_URL)
+                    .build();
+
+    /**
+     * Helper method for checking client related config options. We would validate:
+     *
+     * <ul>
+     *   <li>If user have provided the required client config options.
+     *   <li>If user have provided some conflict options.
+     * </ul>
+     */
+    public static void checkConfigurations(Configuration configuration) {
+        REQUIRED_SINK_OPTIONS.forEach(
+                option ->
+                        Preconditions.checkArgument(
+                                configuration.contains(option),
+                                "Config option %s is not provided for pulsar source.",
+                                option));
+
+        CONFLICT_SINK_OPTIONS.forEach(
+                options -> {
+                    long nums = options.stream().filter(configuration::contains).count();
+                    Preconditions.checkArgument(
+                            nums <= 1,
+                            "Conflict config options %s were provided, we only support one of them for creating pulsar source.",
+                            options);
+                });
+    }
+
+    /** Create a pulsar consumer builder by using the given Configuration. */
+    public static <T> ProducerBuilder<T> createProducerBuilder(
+            PulsarClient client, Schema<T> schema, Configuration configuration) {
+        ProducerBuilder<T> builder = client.newProducer(schema);
+
+        setOptionValue(configuration, PULSAR_TOPIC_NAME, builder::topic);
+        setOptionValue(configuration, PULSAR_PRODUCER_NAME, builder::producerName);
+        setOptionValue(
+                configuration,
+                PULSAR_SEND_TIMEOUT_MS,
+                v -> builder.sendTimeout(v.intValue(), MILLISECONDS));
+        setOptionValue(configuration, PULSAR_BLOCK_IF_QUEUE_FULL, builder::blockIfQueueFull);
+        setOptionValue(configuration, PULSAR_MAX_PENDING_MESSAGES, builder::maxPendingMessages);
+        setOptionValue(
+                configuration,
+                PULSAR_MAX_PENDING_MESSAGES_ACROSS_PARTITIONS,
+                builder::maxPendingMessagesAcrossPartitions);
+        setOptionValue(configuration, PULSAR_MESSAGE_ROUTING_MODE, builder::messageRoutingMode);
+        setOptionValue(configuration, PULSAR_HASHING_SCHEME, builder::hashingScheme);

Review comment:
       Can we maybe share the configurations between the source and the sink?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;
+                        }
+
+                        @Override
+                        public UserCodeClassLoader getUserCodeClassLoader() {
+                            return userCodeClassLoader;
+                        }
+                    });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        if (deliveryGuarantee == EXACTLY_ONCE) {
+            this.delivery = new ExactlyOnceDelivery(sinkConfiguration, this::getPulsarClient);
+        } else {
+            this.delivery = new AtLeastOnceDelivery();
+        }
+        closer.register(delivery);
+        this.sendCallback =
+                initializeSendCallback(sinkConfiguration, sinkInitContext.getMailboxExecutor());
+    }
+
+    @Override
+    public void write(IN value, Context context) throws IOException {
+        String topic = topicSelector.selector(value);
+        TypedMessageBuilder messageBuilder = delivery.newMessage(getProducer(topic));
+        serializationSchema.serialize(value, messageBuilder);
+
+        CompletableFuture<MessageId> messageIdFuture = messageBuilder.sendAsync();
+        pendingRecords.incrementAndGet();
+        futures.add(messageIdFuture);
+        messageIdFuture.whenComplete(sendCallback);
+    }
+
+    public void initializeState(List<PulsarWriterState> states) throws IOException {
+        checkNotNull(states, "The retrieved state was null.");
+        for (PulsarWriterState state : states) {
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Restoring: {}", state);
+            }
+        }
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> prepareCommit(boolean flush) throws IOException {
+        if (!flush) {
+            return Collections.emptyList();
+        }
+        producerFlush();
+        List<PulsarSinkCommittable> committables = delivery.prepareCommit(flush);
+        LOG.debug("Committing {} committables, final commit={}.", committables, flush);
+        return committables;
+    }
+
+    @Override
+    public List<PulsarWriterState> snapshotState(long checkpointId) throws IOException {
+        return delivery.snapshotState(checkpointId);
+    }
+
+    @Override
+    public void close() throws Exception {
+        producerFlush();
+        closer.close();
+    }
+
+    public void producerFlush() throws IOException {

Review comment:
       private?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;

Review comment:
       final

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;
+                        }
+
+                        @Override
+                        public UserCodeClassLoader getUserCodeClassLoader() {
+                            return userCodeClassLoader;
+                        }
+                    });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        if (deliveryGuarantee == EXACTLY_ONCE) {
+            this.delivery = new ExactlyOnceDelivery(sinkConfiguration, this::getPulsarClient);
+        } else {
+            this.delivery = new AtLeastOnceDelivery();
+        }
+        closer.register(delivery);
+        this.sendCallback =
+                initializeSendCallback(sinkConfiguration, sinkInitContext.getMailboxExecutor());
+    }
+
+    @Override
+    public void write(IN value, Context context) throws IOException {
+        String topic = topicSelector.selector(value);
+        TypedMessageBuilder messageBuilder = delivery.newMessage(getProducer(topic));
+        serializationSchema.serialize(value, messageBuilder);
+
+        CompletableFuture<MessageId> messageIdFuture = messageBuilder.sendAsync();
+        pendingRecords.incrementAndGet();
+        futures.add(messageIdFuture);
+        messageIdFuture.whenComplete(sendCallback);
+    }
+
+    public void initializeState(List<PulsarWriterState> states) throws IOException {
+        checkNotNull(states, "The retrieved state was null.");
+        for (PulsarWriterState state : states) {
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Restoring: {}", state);
+            }
+        }
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> prepareCommit(boolean flush) throws IOException {
+        if (!flush) {
+            return Collections.emptyList();
+        }
+        producerFlush();
+        List<PulsarSinkCommittable> committables = delivery.prepareCommit(flush);
+        LOG.debug("Committing {} committables, final commit={}.", committables, flush);
+        return committables;
+    }
+
+    @Override
+    public List<PulsarWriterState> snapshotState(long checkpointId) throws IOException {
+        return delivery.snapshotState(checkpointId);
+    }
+
+    @Override
+    public void close() throws Exception {
+        producerFlush();
+        closer.close();
+    }
+
+    public void producerFlush() throws IOException {
+        for (Producer<?> p : topic2Producer.values()) {
+            p.flush();
+        }
+
+        for (CompletableFuture<MessageId> completableFuture : futures) {
+            try {
+                completableFuture.get();
+            } catch (InterruptedException e) {
+                throw new RuntimeException(e);
+            } catch (ExecutionException e) {
+                throw new RuntimeException(e);
+            }
+        }
+        futures.clear();
+
+        if (pendingRecords.get() > 0) {
+            throw new RuntimeException("The message could not be sent");
+        }
+    }
+
+    // ------------------------------internal method------------------------------
+
+    private synchronized PulsarClientImpl getPulsarClient() {
+        if (pulsarClient != null) {
+            return pulsarClient;
+        }
+        pulsarClient = (PulsarClientImpl) PulsarConfigUtils.createClient(configuration);
+        closer.register(pulsarClient);
+        return pulsarClient;
+    }
+
+    protected Producer<?> getProducer(String topic) throws PulsarClientException {

Review comment:
       Why protected?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;
+                        }
+
+                        @Override
+                        public UserCodeClassLoader getUserCodeClassLoader() {
+                            return userCodeClassLoader;
+                        }
+                    });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        if (deliveryGuarantee == EXACTLY_ONCE) {
+            this.delivery = new ExactlyOnceDelivery(sinkConfiguration, this::getPulsarClient);
+        } else {
+            this.delivery = new AtLeastOnceDelivery();
+        }
+        closer.register(delivery);
+        this.sendCallback =
+                initializeSendCallback(sinkConfiguration, sinkInitContext.getMailboxExecutor());
+    }
+
+    @Override
+    public void write(IN value, Context context) throws IOException {
+        String topic = topicSelector.selector(value);
+        TypedMessageBuilder messageBuilder = delivery.newMessage(getProducer(topic));
+        serializationSchema.serialize(value, messageBuilder);
+
+        CompletableFuture<MessageId> messageIdFuture = messageBuilder.sendAsync();
+        pendingRecords.incrementAndGet();
+        futures.add(messageIdFuture);
+        messageIdFuture.whenComplete(sendCallback);
+    }
+
+    public void initializeState(List<PulsarWriterState> states) throws IOException {
+        checkNotNull(states, "The retrieved state was null.");
+        for (PulsarWriterState state : states) {
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Restoring: {}", state);

Review comment:
       This feels incomplete

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;
+                        }
+
+                        @Override
+                        public UserCodeClassLoader getUserCodeClassLoader() {
+                            return userCodeClassLoader;
+                        }
+                    });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        if (deliveryGuarantee == EXACTLY_ONCE) {
+            this.delivery = new ExactlyOnceDelivery(sinkConfiguration, this::getPulsarClient);
+        } else {
+            this.delivery = new AtLeastOnceDelivery();
+        }
+        closer.register(delivery);
+        this.sendCallback =
+                initializeSendCallback(sinkConfiguration, sinkInitContext.getMailboxExecutor());
+    }
+
+    @Override
+    public void write(IN value, Context context) throws IOException {
+        String topic = topicSelector.selector(value);
+        TypedMessageBuilder messageBuilder = delivery.newMessage(getProducer(topic));
+        serializationSchema.serialize(value, messageBuilder);
+
+        CompletableFuture<MessageId> messageIdFuture = messageBuilder.sendAsync();
+        pendingRecords.incrementAndGet();
+        futures.add(messageIdFuture);
+        messageIdFuture.whenComplete(sendCallback);

Review comment:
       Please take look at the `AsyncSinkWriter` how it uses the mailbox to enqueue asynchronous tasks. By using the mailbox you can get rid of all the manual synchronization because the mailbox executes the writer and you callbacks in the same thread.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/config/SinkConfiguration.java
##########
@@ -0,0 +1,59 @@
+/*
+ * 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.flink.connector.pulsar.sink.config;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.configuration.Configuration;
+
+import java.io.Serializable;
+
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_FAIL_ON_WRITE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TRANSACTION_TIMEOUT_MILLIS;
+
+/** The configure class for pulsar sink. */
+@PublicEvolving
+public class SinkConfiguration implements Serializable {

Review comment:
       You can probably also remote this class completely and only pass the `failOnWrite` and `transactionTimeout` to the downstream class.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;
+                        }
+
+                        @Override
+                        public UserCodeClassLoader getUserCodeClassLoader() {
+                            return userCodeClassLoader;
+                        }
+                    });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        if (deliveryGuarantee == EXACTLY_ONCE) {
+            this.delivery = new ExactlyOnceDelivery(sinkConfiguration, this::getPulsarClient);
+        } else {
+            this.delivery = new AtLeastOnceDelivery();
+        }
+        closer.register(delivery);
+        this.sendCallback =
+                initializeSendCallback(sinkConfiguration, sinkInitContext.getMailboxExecutor());
+    }
+
+    @Override
+    public void write(IN value, Context context) throws IOException {
+        String topic = topicSelector.selector(value);
+        TypedMessageBuilder messageBuilder = delivery.newMessage(getProducer(topic));
+        serializationSchema.serialize(value, messageBuilder);
+
+        CompletableFuture<MessageId> messageIdFuture = messageBuilder.sendAsync();
+        pendingRecords.incrementAndGet();
+        futures.add(messageIdFuture);
+        messageIdFuture.whenComplete(sendCallback);
+    }
+
+    public void initializeState(List<PulsarWriterState> states) throws IOException {
+        checkNotNull(states, "The retrieved state was null.");
+        for (PulsarWriterState state : states) {
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Restoring: {}", state);
+            }
+        }
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> prepareCommit(boolean flush) throws IOException {
+        if (!flush) {
+            return Collections.emptyList();
+        }
+        producerFlush();
+        List<PulsarSinkCommittable> committables = delivery.prepareCommit(flush);
+        LOG.debug("Committing {} committables, final commit={}.", committables, flush);
+        return committables;
+    }
+
+    @Override
+    public List<PulsarWriterState> snapshotState(long checkpointId) throws IOException {
+        return delivery.snapshotState(checkpointId);
+    }
+
+    @Override
+    public void close() throws Exception {
+        producerFlush();
+        closer.close();
+    }
+
+    public void producerFlush() throws IOException {
+        for (Producer<?> p : topic2Producer.values()) {
+            p.flush();
+        }
+
+        for (CompletableFuture<MessageId> completableFuture : futures) {
+            try {
+                completableFuture.get();
+            } catch (InterruptedException e) {
+                throw new RuntimeException(e);
+            } catch (ExecutionException e) {
+                throw new RuntimeException(e);
+            }
+        }
+        futures.clear();
+
+        if (pendingRecords.get() > 0) {
+            throw new RuntimeException("The message could not be sent");
+        }
+    }
+
+    // ------------------------------internal method------------------------------
+
+    private synchronized PulsarClientImpl getPulsarClient() {
+        if (pulsarClient != null) {
+            return pulsarClient;
+        }
+        pulsarClient = (PulsarClientImpl) PulsarConfigUtils.createClient(configuration);
+        closer.register(pulsarClient);
+        return pulsarClient;
+    }
+
+    protected Producer<?> getProducer(String topic) throws PulsarClientException {
+        Producer<?> producer = topic2Producer.get(topic);
+        if (producer != null && producer.isConnected()) {
+            return producer;
+        }
+
+        final ProducerBuilder<?> producerBuilder =
+                PulsarSinkConfigUtils.createProducerBuilder(
+                        getPulsarClient(), serializationSchema.getSchema(), configuration);
+        producerBuilder.topic(topic);
+
+        if (partitionSelector != null) {
+            producerBuilder.messageRouter(generateMessageRouter());
+        }
+        producer = producerBuilder.create();
+        closer.register(producer);
+        uploadSchema(topic);
+        topic2Producer.put(topic, producer);
+        return producer;
+    }
+
+    @SuppressWarnings("unchecked")
+    private MessageRouter generateMessageRouter() {
+        return new MessageRouter() {
+            @Override
+            public int choosePartition(Message<?> msg, TopicMetadata metadata) {
+                return partitionSelector.select(
+                        (Message<IN>) msg,
+                        new org.apache.flink.connector.pulsar.sink.writer.selector.TopicMetadata(
+                                metadata.numPartitions()));
+            }
+        };
+    }
+
+    protected BiConsumer<MessageId, Throwable> initializeSendCallback(

Review comment:
       protected?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSink.java
##########
@@ -0,0 +1,121 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.api.connector.sink.GlobalCommitter;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommitter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterState;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterStateSerializer;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.core.io.SimpleVersionedSerializer;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * a pulsar Sink implement.
+ *
+ * @param <IN> record data type.
+ */
+@PublicEvolving
+public class PulsarSink<IN> implements Sink<IN, PulsarSinkCommittable, PulsarWriterState, Void> {
+
+    private final DeliveryGuarantee deliveryGuarantee;
+
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+    private final PartitionSelector<IN> partitionSelector;
+
+    private final Configuration configuration;
+
+    public PulsarSink(

Review comment:
       The constructor can probably be package-private

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/common/schema/IncompatibleSchemaException.java
##########
@@ -0,0 +1,31 @@
+/*
+ * 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.flink.connector.pulsar.common.schema;
+
+/** Exception designates the incompatibility between pulsar and flink type. */
+public class IncompatibleSchemaException extends RuntimeException {
+
+    public IncompatibleSchemaException(String message, Throwable e) {
+        super(message, e);
+    }
+
+    public IncompatibleSchemaException(String message) {

Review comment:
       ctor is unused?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/committer/PulsarCommitter.java
##########
@@ -0,0 +1,96 @@
+/*
+ * 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.flink.connector.pulsar.sink.committer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.apache.pulsar.client.impl.transaction.TransactionCoordinatorClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/** Committer implementation for {@link org.apache.flink.connector.pulsar.sink.PulsarSink}. */
+@Internal
+public class PulsarCommitter implements Committer<PulsarSinkCommittable>, Closeable {
+
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarCommitter.class);
+
+    private final DeliveryGuarantee deliveryGuarantee;
+
+    private final Configuration configuration;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarCommitter(DeliveryGuarantee deliveryGuarantee, Configuration configuration) {
+        this.deliveryGuarantee = deliveryGuarantee;
+        this.configuration = configuration;
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> commit(List<PulsarSinkCommittable> committables)
+            throws IOException {
+        if (deliveryGuarantee != DeliveryGuarantee.EXACTLY_ONCE || committables.isEmpty()) {
+            return Collections.emptyList();
+        }
+        final TransactionCoordinatorClientImpl tcClient = getTcClient();
+        LOG.debug("commit committables, current tcClient state: {}", tcClient.getState());
+        List<PulsarSinkCommittable> recoveryCommittables = new ArrayList<>();
+        for (PulsarSinkCommittable committable : committables) {
+            LOG.debug("commit committables {}", committable.getTxnID());
+            try {
+                tcClient.commit(committable.getTxnID());
+            } catch (TransactionCoordinatorClientException e) {
+                LOG.error("commit committables failed " + committable.getTxnID(), e);
+                recoveryCommittables.add(committable);
+            }
+        }
+        return recoveryCommittables;
+    }
+
+    private synchronized TransactionCoordinatorClientImpl getTcClient()
+            throws TransactionCoordinatorClientException {

Review comment:
       The exception seems to be unnecessary

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {

Review comment:
       Can you double-check the fields of this class some of them can be final and some of them are probably not needed at all?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/committer/PulsarCommitter.java
##########
@@ -0,0 +1,96 @@
+/*
+ * 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.flink.connector.pulsar.sink.committer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.apache.pulsar.client.impl.transaction.TransactionCoordinatorClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/** Committer implementation for {@link org.apache.flink.connector.pulsar.sink.PulsarSink}. */
+@Internal
+public class PulsarCommitter implements Committer<PulsarSinkCommittable>, Closeable {
+
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarCommitter.class);
+
+    private final DeliveryGuarantee deliveryGuarantee;
+
+    private final Configuration configuration;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarCommitter(DeliveryGuarantee deliveryGuarantee, Configuration configuration) {
+        this.deliveryGuarantee = deliveryGuarantee;
+        this.configuration = configuration;
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> commit(List<PulsarSinkCommittable> committables)
+            throws IOException {
+        if (deliveryGuarantee != DeliveryGuarantee.EXACTLY_ONCE || committables.isEmpty()) {
+            return Collections.emptyList();
+        }
+        final TransactionCoordinatorClientImpl tcClient = getTcClient();
+        LOG.debug("commit committables, current tcClient state: {}", tcClient.getState());
+        List<PulsarSinkCommittable> recoveryCommittables = new ArrayList<>();
+        for (PulsarSinkCommittable committable : committables) {
+            LOG.debug("commit committables {}", committable.getTxnID());
+            try {
+                tcClient.commit(committable.getTxnID());
+            } catch (TransactionCoordinatorClientException e) {
+                LOG.error("commit committables failed " + committable.getTxnID(), e);
+                recoveryCommittables.add(committable);
+            }
+        }
+        return recoveryCommittables;
+    }
+
+    private synchronized TransactionCoordinatorClientImpl getTcClient()

Review comment:
       Why is this method synchronized? AFAIK commit is never called parallel

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;
+                        }
+
+                        @Override
+                        public UserCodeClassLoader getUserCodeClassLoader() {
+                            return userCodeClassLoader;
+                        }
+                    });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        if (deliveryGuarantee == EXACTLY_ONCE) {
+            this.delivery = new ExactlyOnceDelivery(sinkConfiguration, this::getPulsarClient);
+        } else {
+            this.delivery = new AtLeastOnceDelivery();
+        }
+        closer.register(delivery);
+        this.sendCallback =
+                initializeSendCallback(sinkConfiguration, sinkInitContext.getMailboxExecutor());
+    }
+
+    @Override
+    public void write(IN value, Context context) throws IOException {
+        String topic = topicSelector.selector(value);
+        TypedMessageBuilder messageBuilder = delivery.newMessage(getProducer(topic));
+        serializationSchema.serialize(value, messageBuilder);
+
+        CompletableFuture<MessageId> messageIdFuture = messageBuilder.sendAsync();
+        pendingRecords.incrementAndGet();
+        futures.add(messageIdFuture);
+        messageIdFuture.whenComplete(sendCallback);
+    }
+
+    public void initializeState(List<PulsarWriterState> states) throws IOException {
+        checkNotNull(states, "The retrieved state was null.");
+        for (PulsarWriterState state : states) {
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Restoring: {}", state);
+            }
+        }
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> prepareCommit(boolean flush) throws IOException {
+        if (!flush) {
+            return Collections.emptyList();
+        }
+        producerFlush();
+        List<PulsarSinkCommittable> committables = delivery.prepareCommit(flush);
+        LOG.debug("Committing {} committables, final commit={}.", committables, flush);
+        return committables;
+    }
+
+    @Override
+    public List<PulsarWriterState> snapshotState(long checkpointId) throws IOException {
+        return delivery.snapshotState(checkpointId);
+    }
+
+    @Override
+    public void close() throws Exception {
+        producerFlush();
+        closer.close();
+    }
+
+    public void producerFlush() throws IOException {
+        for (Producer<?> p : topic2Producer.values()) {
+            p.flush();
+        }
+
+        for (CompletableFuture<MessageId> completableFuture : futures) {
+            try {
+                completableFuture.get();
+            } catch (InterruptedException e) {
+                throw new RuntimeException(e);
+            } catch (ExecutionException e) {
+                throw new RuntimeException(e);
+            }
+        }
+        futures.clear();
+
+        if (pendingRecords.get() > 0) {
+            throw new RuntimeException("The message could not be sent");
+        }
+    }
+
+    // ------------------------------internal method------------------------------
+
+    private synchronized PulsarClientImpl getPulsarClient() {
+        if (pulsarClient != null) {
+            return pulsarClient;
+        }
+        pulsarClient = (PulsarClientImpl) PulsarConfigUtils.createClient(configuration);
+        closer.register(pulsarClient);
+        return pulsarClient;
+    }
+
+    protected Producer<?> getProducer(String topic) throws PulsarClientException {
+        Producer<?> producer = topic2Producer.get(topic);
+        if (producer != null && producer.isConnected()) {
+            return producer;
+        }
+
+        final ProducerBuilder<?> producerBuilder =
+                PulsarSinkConfigUtils.createProducerBuilder(
+                        getPulsarClient(), serializationSchema.getSchema(), configuration);
+        producerBuilder.topic(topic);
+
+        if (partitionSelector != null) {
+            producerBuilder.messageRouter(generateMessageRouter());
+        }
+        producer = producerBuilder.create();
+        closer.register(producer);
+        uploadSchema(topic);
+        topic2Producer.put(topic, producer);
+        return producer;
+    }
+
+    @SuppressWarnings("unchecked")
+    private MessageRouter generateMessageRouter() {
+        return new MessageRouter() {
+            @Override
+            public int choosePartition(Message<?> msg, TopicMetadata metadata) {
+                return partitionSelector.select(
+                        (Message<IN>) msg,
+                        new org.apache.flink.connector.pulsar.sink.writer.selector.TopicMetadata(
+                                metadata.numPartitions()));
+            }
+        };
+    }
+
+    protected BiConsumer<MessageId, Throwable> initializeSendCallback(
+            SinkConfiguration sinkConfiguration, MailboxExecutor mailboxExecutor) {
+        if (sinkConfiguration.isFailOnWrite()) {
+            return (t, u) -> {
+                if (u == null) {
+                    acknowledgeMessage();
+                    return;
+                }
+                mailboxExecutor.execute(
+                        () -> {
+                            throw new FlinkRuntimeException(u);
+                        },
+                        "Failed to send data to Pulsar");
+            };
+        } else {
+            return (t, u) -> {
+                if (u != null) {
+                    LOG.error(
+                            "Error while sending message to Pulsar: {}",
+                            ExceptionUtils.stringifyException(u));
+                }
+                acknowledgeMessage();
+            };
+        }
+    }
+
+    private void acknowledgeMessage() {
+        synchronized (pendingRecords) {
+            if (pendingRecords.decrementAndGet() == 0L) {
+                pendingRecords.notifyAll();
+            }
+        }
+    }

Review comment:
       Can you explain this block? In general, synchronization should not be necessary if everything is executed in the mailbox.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSink.java
##########
@@ -0,0 +1,121 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.api.connector.sink.GlobalCommitter;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommitter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterState;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterStateSerializer;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.core.io.SimpleVersionedSerializer;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * a pulsar Sink implement.

Review comment:
       Can you add more information about the capabilities of the sink? You can have a look at the KafkaSink for a reference :)

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSink.java
##########
@@ -0,0 +1,121 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.api.connector.sink.GlobalCommitter;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommitter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterState;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterStateSerializer;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.core.io.SimpleVersionedSerializer;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * a pulsar Sink implement.
+ *
+ * @param <IN> record data type.
+ */
+@PublicEvolving
+public class PulsarSink<IN> implements Sink<IN, PulsarSinkCommittable, PulsarWriterState, Void> {
+
+    private final DeliveryGuarantee deliveryGuarantee;
+
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+    private final PartitionSelector<IN> partitionSelector;
+
+    private final Configuration configuration;
+
+    public PulsarSink(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration) {
+        this.deliveryGuarantee = deliveryGuarantee;
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;

Review comment:
       We usually use `Preconditions.checkNotNull()` for to ensure ctor parameters are not null

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSinkOptions.java
##########
@@ -0,0 +1,261 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.annotation.docs.ConfigGroup;
+import org.apache.flink.annotation.docs.ConfigGroups;
+import org.apache.flink.configuration.ConfigOption;
+import org.apache.flink.configuration.ConfigOptions;
+import org.apache.flink.configuration.description.Description;
+
+import org.apache.pulsar.client.api.CompressionType;
+import org.apache.pulsar.client.api.HashingScheme;
+import org.apache.pulsar.client.api.MessageRoutingMode;
+import org.apache.pulsar.client.api.ProducerCryptoFailureAction;
+
+import java.time.Duration;
+import java.util.concurrent.TimeUnit;
+
+import static org.apache.flink.configuration.description.TextElement.code;
+import static org.apache.flink.configuration.description.TextElement.text;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PRODUCER_CONFIG_PREFIX;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.SINK_CONFIG_PREFIX;
+
+/** the options for Pulsar Sink. */
+@PublicEvolving
+@ConfigGroups(
+        groups = {
+            @ConfigGroup(name = "PulsarSink", keyPrefix = SINK_CONFIG_PREFIX),
+            @ConfigGroup(name = "PulsarProducer", keyPrefix = PRODUCER_CONFIG_PREFIX)
+        })
+public final class PulsarSinkOptions {
+
+    // Pulsar sink connector config prefix.
+    public static final String SINK_CONFIG_PREFIX = "pulsar.sink.";
+    // Pulsar producer API config prefix.
+    public static final String PRODUCER_CONFIG_PREFIX = "pulsar.producer.";

Review comment:
       Can both be private?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/common/schema/IncompatibleSchemaException.java
##########
@@ -0,0 +1,31 @@
+/*
+ * 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.flink.connector.pulsar.common.schema;
+
+/** Exception designates the incompatibility between pulsar and flink type. */
+public class IncompatibleSchemaException extends RuntimeException {

Review comment:
       Please mark as `@Internal`

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/committer/PulsarCommitter.java
##########
@@ -0,0 +1,96 @@
+/*
+ * 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.flink.connector.pulsar.sink.committer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.apache.pulsar.client.impl.transaction.TransactionCoordinatorClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/** Committer implementation for {@link org.apache.flink.connector.pulsar.sink.PulsarSink}. */
+@Internal
+public class PulsarCommitter implements Committer<PulsarSinkCommittable>, Closeable {
+
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarCommitter.class);
+
+    private final DeliveryGuarantee deliveryGuarantee;
+
+    private final Configuration configuration;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarCommitter(DeliveryGuarantee deliveryGuarantee, Configuration configuration) {
+        this.deliveryGuarantee = deliveryGuarantee;
+        this.configuration = configuration;
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> commit(List<PulsarSinkCommittable> committables)
+            throws IOException {
+        if (deliveryGuarantee != DeliveryGuarantee.EXACTLY_ONCE || committables.isEmpty()) {

Review comment:
       We should not forward any committables from the sink writer if `deliveryGuarantee != DeliveryGuarantee.EXACTLY_ONCE` currently they are always written to the committer state.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSinkBuilder.java
##########
@@ -0,0 +1,260 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.api.common.typeinfo.TypeInformation;
+import org.apache.flink.configuration.ConfigOption;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.configuration.UnmodifiableConfiguration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarOptions;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+
+import org.apache.pulsar.client.api.MessageRoutingMode;
+import org.apache.pulsar.client.api.Schema;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_ADMIN_URL;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_SERVICE_URL;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MESSAGE_ROUTING_MODE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TRANSACTION_TIMEOUT_MILLIS;
+import static org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils.checkConfigurations;
+import static org.apache.flink.util.Preconditions.checkArgument;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * PulsarSink's builder is used to simplify the creation of Sink.

Review comment:
       Can you add an example here how to use the builder to construct a pulsar sink?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSinkBuilder.java
##########
@@ -0,0 +1,260 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.api.common.typeinfo.TypeInformation;
+import org.apache.flink.configuration.ConfigOption;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.configuration.UnmodifiableConfiguration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarOptions;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+
+import org.apache.pulsar.client.api.MessageRoutingMode;
+import org.apache.pulsar.client.api.Schema;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_ADMIN_URL;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_SERVICE_URL;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MESSAGE_ROUTING_MODE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TRANSACTION_TIMEOUT_MILLIS;
+import static org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils.checkConfigurations;
+import static org.apache.flink.util.Preconditions.checkArgument;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * PulsarSink's builder is used to simplify the creation of Sink.
+ *
+ * @param <IN>
+ */
+public class PulsarSinkBuilder<IN> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarSinkBuilder.class);
+
+    private DeliveryGuarantee deliveryGuarantee;
+    private TopicSelector<IN> topicSelector;
+    private PulsarSerializationSchema<IN, ?> serializationSchema;
+    private PartitionSelector<IN> partitionSelector;
+    private final Configuration configuration;
+
+    // private builder constructor.
+    PulsarSinkBuilder() {
+        this.configuration = new Configuration();
+        this.deliveryGuarantee = DeliveryGuarantee.EXACTLY_ONCE;
+    }
+
+    /**
+     * Sets the admin endpoint for the PulsarAdmin of the PulsarSink.
+     *
+     * @param adminUrl the url for the PulsarAdmin.
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> setAdminUrl(String adminUrl) {
+        return setConfig(PULSAR_ADMIN_URL, adminUrl);
+    }
+
+    /**
+     * Sets the server's link for the PulsarProducer of the PulsarSink.
+     *
+     * @param serviceUrl the server url of the Pulsar cluster.
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> setServiceUrl(String serviceUrl) {
+        return setConfig(PULSAR_SERVICE_URL, serviceUrl);
+    }
+
+    /**
+     * Set the topic for the PulsarSink.
+     *
+     * @param topic pulsar topic
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> setTopic(String topic) {
+        this.topicSelector = e -> topic;
+        return this;
+    }
+
+    /**
+     * set a topic selector for the PulsarSink.
+     *
+     * @param topicSelector select a topic by record.
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> setTopic(TopicSelector<IN> topicSelector) {
+        this.topicSelector = topicSelector;
+        return this;
+    }
+
+    /**
+     * Set a DeliverGuarantees for the PulsarSink.
+     *
+     * @param deliveryGuarantee deliver guarantees.
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> setDeliveryGuarantee(DeliveryGuarantee deliveryGuarantee) {
+        this.deliveryGuarantee = deliveryGuarantee;
+        return this;
+    }
+
+    /**
+     * SerializationSchema is required for getting the {@link Schema} for serialize message from
+     * pulsar and getting the {@link TypeInformation} for message serialization in flink.
+     *
+     * <p>We have defined a set of implementations, using {@code
+     * PulsarSerializationSchema#pulsarSchema} or {@code PulsarSerializationSchema#flinkSchema} for
+     * creating the desired schema.
+     */
+    public <T extends IN> PulsarSinkBuilder<T> setSerializationSchema(
+            PulsarSerializationSchema<T, ?> serializationSchema) {
+        PulsarSinkBuilder<T> self = specialized();
+        self.serializationSchema = serializationSchema;
+        return self;
+    }
+
+    /**
+     * Write the message to a partition of the Pulsar topic using a random method.
+     *
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> singlePartition() {
+        return setConfig(PULSAR_MESSAGE_ROUTING_MODE, MessageRoutingMode.SinglePartition);
+    }
+
+    /**
+     * Write the message to a partition of the Pulsar topic using a round Robin method.
+     *
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> roundRobinPartition() {
+        return setConfig(PULSAR_MESSAGE_ROUTING_MODE, MessageRoutingMode.RoundRobinPartition);
+    }
+
+    /**
+     * Write the message to a partition of the Pulsar topic using user defined method.
+     *
+     * @return this PulsarSinkBuilder.
+     */
+    public <T extends IN> PulsarSinkBuilder<T> customPartition(
+            PartitionSelector<T> partitionSelector) {
+        setConfig(PULSAR_MESSAGE_ROUTING_MODE, MessageRoutingMode.CustomPartition);
+        PulsarSinkBuilder<T> self = specialized();
+        self.partitionSelector = partitionSelector;
+        return self;
+    }
+
+    /**
+     * Build the {@link PulsarSink}.
+     *
+     * @return a PulsarSink with the settings made for this builder.
+     */
+    @SuppressWarnings("java:S3776")
+    public PulsarSink<IN> build() {
+        // Check builder configuration.
+        checkConfigurations(configuration);
+
+        // Ensure the topic  for pulsar.
+        checkNotNull(topicSelector, "No topic names or topic pattern are provided.");
+
+        if (DeliveryGuarantee.EXACTLY_ONCE == deliveryGuarantee) {
+            configuration.set(PulsarOptions.PULSAR_ENABLE_TRANSACTION, true);
+            configuration.set(PulsarSinkOptions.PULSAR_SEND_TIMEOUT_MS, 0L);
+            if (!configuration.contains(PULSAR_TRANSACTION_TIMEOUT_MILLIS)) {
+                LOG.warn(
+                        "The default pulsar transaction timeout is 3 hours, "
+                                + "make sure it was greater than your checkpoint interval.");
+            } else {
+                Long timeout = configuration.get(PULSAR_TRANSACTION_TIMEOUT_MILLIS);
+                LOG.warn(
+                        "The configured transaction timeout is {} mille seconds, "

Review comment:
       ```suggestion
                           "The configured transaction timeout is {} milliseconds, "
   ```

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/config/SinkConfiguration.java
##########
@@ -0,0 +1,59 @@
+/*
+ * 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.flink.connector.pulsar.sink.config;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.configuration.Configuration;
+
+import java.io.Serializable;
+
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_FAIL_ON_WRITE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TRANSACTION_TIMEOUT_MILLIS;
+
+/** The configure class for pulsar sink. */
+@PublicEvolving

Review comment:
       Why is this class marked as `@PublicEvolving`?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;

Review comment:
       Remove

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;

Review comment:
       Why are these fields transient?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/config/SinkConfiguration.java
##########
@@ -0,0 +1,59 @@
+/*
+ * 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.flink.connector.pulsar.sink.config;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.configuration.Configuration;
+
+import java.io.Serializable;
+
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_FAIL_ON_WRITE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TRANSACTION_TIMEOUT_MILLIS;
+
+/** The configure class for pulsar sink. */
+@PublicEvolving
+public class SinkConfiguration implements Serializable {

Review comment:
       Does it need to be serializable?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;

Review comment:
       You can get the metric group from the `Sink.InitContext` and you can pass it to the pulsar writer as a reference please have a look at the KafkaSink

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/config/PulsarSinkConfigUtils.java
##########
@@ -0,0 +1,134 @@
+/*
+ * 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.flink.connector.pulsar.sink.config;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.configuration.ConfigOption;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.util.Preconditions;
+
+import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList;
+import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableSet;
+
+import org.apache.pulsar.client.api.Consumer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClient;
+import org.apache.pulsar.client.api.Schema;
+
+import java.util.List;
+import java.util.Set;
+
+import static java.util.concurrent.TimeUnit.MICROSECONDS;
+import static java.util.concurrent.TimeUnit.MILLISECONDS;
+import static org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils.setOptionValue;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_ADMIN_URL;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_AUTH_PARAMS;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_AUTH_PARAM_MAP;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_SERVICE_URL;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_BATCHING_ENABLED;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_BATCHING_MAX_MESSAGES;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_BATCHING_MAX_PUBLISH_DELAY_MICROS;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_BLOCK_IF_QUEUE_FULL;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_COMPRESSION_TYPE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_CRYPTO_FAILURE_ACTION;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_ENABLE_CHUNKING;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_HASHING_SCHEME;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MAX_PENDING_MESSAGES;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MAX_PENDING_MESSAGES_ACROSS_PARTITIONS;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MESSAGE_ROUTING_MODE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_PRODUCER_NAME;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_SEND_TIMEOUT_MS;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TOPIC_NAME;
+
+/** Create source related {@link Consumer} and validate config. */
+@Internal
+public final class PulsarSinkConfigUtils {
+
+    private PulsarSinkConfigUtils() {
+        // No need to create instance.
+    }
+
+    private static final List<Set<ConfigOption<?>>> CONFLICT_SINK_OPTIONS =
+            ImmutableList.<Set<ConfigOption<?>>>builder()
+                    .add(ImmutableSet.of(PULSAR_AUTH_PARAMS, PULSAR_AUTH_PARAM_MAP))
+                    .build();
+
+    private static final Set<ConfigOption<?>> REQUIRED_SINK_OPTIONS =
+            ImmutableSet.<ConfigOption<?>>builder()
+                    .add(PULSAR_SERVICE_URL)
+                    .add(PULSAR_ADMIN_URL)
+                    .build();
+
+    /**
+     * Helper method for checking client related config options. We would validate:
+     *
+     * <ul>
+     *   <li>If user have provided the required client config options.
+     *   <li>If user have provided some conflict options.
+     * </ul>
+     */
+    public static void checkConfigurations(Configuration configuration) {
+        REQUIRED_SINK_OPTIONS.forEach(
+                option ->
+                        Preconditions.checkArgument(
+                                configuration.contains(option),
+                                "Config option %s is not provided for pulsar source.",
+                                option));
+
+        CONFLICT_SINK_OPTIONS.forEach(
+                options -> {
+                    long nums = options.stream().filter(configuration::contains).count();
+                    Preconditions.checkArgument(
+                            nums <= 1,
+                            "Conflict config options %s were provided, we only support one of them for creating pulsar source.",
+                            options);
+                });
+    }
+
+    /** Create a pulsar consumer builder by using the given Configuration. */
+    public static <T> ProducerBuilder<T> createProducerBuilder(
+            PulsarClient client, Schema<T> schema, Configuration configuration) {
+        ProducerBuilder<T> builder = client.newProducer(schema);
+
+        setOptionValue(configuration, PULSAR_TOPIC_NAME, builder::topic);
+        setOptionValue(configuration, PULSAR_PRODUCER_NAME, builder::producerName);
+        setOptionValue(
+                configuration,
+                PULSAR_SEND_TIMEOUT_MS,
+                v -> builder.sendTimeout(v.intValue(), MILLISECONDS));
+        setOptionValue(configuration, PULSAR_BLOCK_IF_QUEUE_FULL, builder::blockIfQueueFull);
+        setOptionValue(configuration, PULSAR_MAX_PENDING_MESSAGES, builder::maxPendingMessages);
+        setOptionValue(
+                configuration,
+                PULSAR_MAX_PENDING_MESSAGES_ACROSS_PARTITIONS,
+                builder::maxPendingMessagesAcrossPartitions);
+        setOptionValue(configuration, PULSAR_MESSAGE_ROUTING_MODE, builder::messageRoutingMode);
+        setOptionValue(configuration, PULSAR_HASHING_SCHEME, builder::hashingScheme);

Review comment:
       Can we maybe share the configurations between the source and the sink?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;
+                        }
+
+                        @Override
+                        public UserCodeClassLoader getUserCodeClassLoader() {
+                            return userCodeClassLoader;
+                        }
+                    });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        if (deliveryGuarantee == EXACTLY_ONCE) {
+            this.delivery = new ExactlyOnceDelivery(sinkConfiguration, this::getPulsarClient);
+        } else {
+            this.delivery = new AtLeastOnceDelivery();
+        }
+        closer.register(delivery);
+        this.sendCallback =
+                initializeSendCallback(sinkConfiguration, sinkInitContext.getMailboxExecutor());
+    }
+
+    @Override
+    public void write(IN value, Context context) throws IOException {
+        String topic = topicSelector.selector(value);
+        TypedMessageBuilder messageBuilder = delivery.newMessage(getProducer(topic));
+        serializationSchema.serialize(value, messageBuilder);
+
+        CompletableFuture<MessageId> messageIdFuture = messageBuilder.sendAsync();
+        pendingRecords.incrementAndGet();
+        futures.add(messageIdFuture);
+        messageIdFuture.whenComplete(sendCallback);
+    }
+
+    public void initializeState(List<PulsarWriterState> states) throws IOException {
+        checkNotNull(states, "The retrieved state was null.");
+        for (PulsarWriterState state : states) {
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Restoring: {}", state);
+            }
+        }
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> prepareCommit(boolean flush) throws IOException {
+        if (!flush) {
+            return Collections.emptyList();
+        }
+        producerFlush();
+        List<PulsarSinkCommittable> committables = delivery.prepareCommit(flush);
+        LOG.debug("Committing {} committables, final commit={}.", committables, flush);
+        return committables;
+    }
+
+    @Override
+    public List<PulsarWriterState> snapshotState(long checkpointId) throws IOException {
+        return delivery.snapshotState(checkpointId);
+    }
+
+    @Override
+    public void close() throws Exception {
+        producerFlush();
+        closer.close();
+    }
+
+    public void producerFlush() throws IOException {

Review comment:
       private?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;

Review comment:
       final

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;
+                        }
+
+                        @Override
+                        public UserCodeClassLoader getUserCodeClassLoader() {
+                            return userCodeClassLoader;
+                        }
+                    });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        if (deliveryGuarantee == EXACTLY_ONCE) {
+            this.delivery = new ExactlyOnceDelivery(sinkConfiguration, this::getPulsarClient);
+        } else {
+            this.delivery = new AtLeastOnceDelivery();
+        }
+        closer.register(delivery);
+        this.sendCallback =
+                initializeSendCallback(sinkConfiguration, sinkInitContext.getMailboxExecutor());
+    }
+
+    @Override
+    public void write(IN value, Context context) throws IOException {
+        String topic = topicSelector.selector(value);
+        TypedMessageBuilder messageBuilder = delivery.newMessage(getProducer(topic));
+        serializationSchema.serialize(value, messageBuilder);
+
+        CompletableFuture<MessageId> messageIdFuture = messageBuilder.sendAsync();
+        pendingRecords.incrementAndGet();
+        futures.add(messageIdFuture);
+        messageIdFuture.whenComplete(sendCallback);
+    }
+
+    public void initializeState(List<PulsarWriterState> states) throws IOException {
+        checkNotNull(states, "The retrieved state was null.");
+        for (PulsarWriterState state : states) {
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Restoring: {}", state);
+            }
+        }
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> prepareCommit(boolean flush) throws IOException {
+        if (!flush) {
+            return Collections.emptyList();
+        }
+        producerFlush();
+        List<PulsarSinkCommittable> committables = delivery.prepareCommit(flush);
+        LOG.debug("Committing {} committables, final commit={}.", committables, flush);
+        return committables;
+    }
+
+    @Override
+    public List<PulsarWriterState> snapshotState(long checkpointId) throws IOException {
+        return delivery.snapshotState(checkpointId);
+    }
+
+    @Override
+    public void close() throws Exception {
+        producerFlush();
+        closer.close();
+    }
+
+    public void producerFlush() throws IOException {
+        for (Producer<?> p : topic2Producer.values()) {
+            p.flush();
+        }
+
+        for (CompletableFuture<MessageId> completableFuture : futures) {
+            try {
+                completableFuture.get();
+            } catch (InterruptedException e) {
+                throw new RuntimeException(e);
+            } catch (ExecutionException e) {
+                throw new RuntimeException(e);
+            }
+        }
+        futures.clear();
+
+        if (pendingRecords.get() > 0) {
+            throw new RuntimeException("The message could not be sent");
+        }
+    }
+
+    // ------------------------------internal method------------------------------
+
+    private synchronized PulsarClientImpl getPulsarClient() {
+        if (pulsarClient != null) {
+            return pulsarClient;
+        }
+        pulsarClient = (PulsarClientImpl) PulsarConfigUtils.createClient(configuration);
+        closer.register(pulsarClient);
+        return pulsarClient;
+    }
+
+    protected Producer<?> getProducer(String topic) throws PulsarClientException {

Review comment:
       Why protected?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;
+                        }
+
+                        @Override
+                        public UserCodeClassLoader getUserCodeClassLoader() {
+                            return userCodeClassLoader;
+                        }
+                    });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        if (deliveryGuarantee == EXACTLY_ONCE) {
+            this.delivery = new ExactlyOnceDelivery(sinkConfiguration, this::getPulsarClient);
+        } else {
+            this.delivery = new AtLeastOnceDelivery();
+        }
+        closer.register(delivery);
+        this.sendCallback =
+                initializeSendCallback(sinkConfiguration, sinkInitContext.getMailboxExecutor());
+    }
+
+    @Override
+    public void write(IN value, Context context) throws IOException {
+        String topic = topicSelector.selector(value);
+        TypedMessageBuilder messageBuilder = delivery.newMessage(getProducer(topic));
+        serializationSchema.serialize(value, messageBuilder);
+
+        CompletableFuture<MessageId> messageIdFuture = messageBuilder.sendAsync();
+        pendingRecords.incrementAndGet();
+        futures.add(messageIdFuture);
+        messageIdFuture.whenComplete(sendCallback);
+    }
+
+    public void initializeState(List<PulsarWriterState> states) throws IOException {
+        checkNotNull(states, "The retrieved state was null.");
+        for (PulsarWriterState state : states) {
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Restoring: {}", state);

Review comment:
       This feels incomplete

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;
+                        }
+
+                        @Override
+                        public UserCodeClassLoader getUserCodeClassLoader() {
+                            return userCodeClassLoader;
+                        }
+                    });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        if (deliveryGuarantee == EXACTLY_ONCE) {
+            this.delivery = new ExactlyOnceDelivery(sinkConfiguration, this::getPulsarClient);
+        } else {
+            this.delivery = new AtLeastOnceDelivery();
+        }
+        closer.register(delivery);
+        this.sendCallback =
+                initializeSendCallback(sinkConfiguration, sinkInitContext.getMailboxExecutor());
+    }
+
+    @Override
+    public void write(IN value, Context context) throws IOException {
+        String topic = topicSelector.selector(value);
+        TypedMessageBuilder messageBuilder = delivery.newMessage(getProducer(topic));
+        serializationSchema.serialize(value, messageBuilder);
+
+        CompletableFuture<MessageId> messageIdFuture = messageBuilder.sendAsync();
+        pendingRecords.incrementAndGet();
+        futures.add(messageIdFuture);
+        messageIdFuture.whenComplete(sendCallback);

Review comment:
       Please take look at the `AsyncSinkWriter` how it uses the mailbox to enqueue asynchronous tasks. By using the mailbox you can get rid of all the manual synchronization because the mailbox executes the writer and you callbacks in the same thread.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/config/SinkConfiguration.java
##########
@@ -0,0 +1,59 @@
+/*
+ * 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.flink.connector.pulsar.sink.config;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.configuration.Configuration;
+
+import java.io.Serializable;
+
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_FAIL_ON_WRITE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TRANSACTION_TIMEOUT_MILLIS;
+
+/** The configure class for pulsar sink. */
+@PublicEvolving
+public class SinkConfiguration implements Serializable {

Review comment:
       You can probably also remote this class completely and only pass the `failOnWrite` and `transactionTimeout` to the downstream class.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;
+                        }
+
+                        @Override
+                        public UserCodeClassLoader getUserCodeClassLoader() {
+                            return userCodeClassLoader;
+                        }
+                    });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        if (deliveryGuarantee == EXACTLY_ONCE) {
+            this.delivery = new ExactlyOnceDelivery(sinkConfiguration, this::getPulsarClient);
+        } else {
+            this.delivery = new AtLeastOnceDelivery();
+        }
+        closer.register(delivery);
+        this.sendCallback =
+                initializeSendCallback(sinkConfiguration, sinkInitContext.getMailboxExecutor());
+    }
+
+    @Override
+    public void write(IN value, Context context) throws IOException {
+        String topic = topicSelector.selector(value);
+        TypedMessageBuilder messageBuilder = delivery.newMessage(getProducer(topic));
+        serializationSchema.serialize(value, messageBuilder);
+
+        CompletableFuture<MessageId> messageIdFuture = messageBuilder.sendAsync();
+        pendingRecords.incrementAndGet();
+        futures.add(messageIdFuture);
+        messageIdFuture.whenComplete(sendCallback);
+    }
+
+    public void initializeState(List<PulsarWriterState> states) throws IOException {
+        checkNotNull(states, "The retrieved state was null.");
+        for (PulsarWriterState state : states) {
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Restoring: {}", state);
+            }
+        }
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> prepareCommit(boolean flush) throws IOException {
+        if (!flush) {
+            return Collections.emptyList();
+        }
+        producerFlush();
+        List<PulsarSinkCommittable> committables = delivery.prepareCommit(flush);
+        LOG.debug("Committing {} committables, final commit={}.", committables, flush);
+        return committables;
+    }
+
+    @Override
+    public List<PulsarWriterState> snapshotState(long checkpointId) throws IOException {
+        return delivery.snapshotState(checkpointId);
+    }
+
+    @Override
+    public void close() throws Exception {
+        producerFlush();
+        closer.close();
+    }
+
+    public void producerFlush() throws IOException {
+        for (Producer<?> p : topic2Producer.values()) {
+            p.flush();
+        }
+
+        for (CompletableFuture<MessageId> completableFuture : futures) {
+            try {
+                completableFuture.get();
+            } catch (InterruptedException e) {
+                throw new RuntimeException(e);
+            } catch (ExecutionException e) {
+                throw new RuntimeException(e);
+            }
+        }
+        futures.clear();
+
+        if (pendingRecords.get() > 0) {
+            throw new RuntimeException("The message could not be sent");
+        }
+    }
+
+    // ------------------------------internal method------------------------------
+
+    private synchronized PulsarClientImpl getPulsarClient() {
+        if (pulsarClient != null) {
+            return pulsarClient;
+        }
+        pulsarClient = (PulsarClientImpl) PulsarConfigUtils.createClient(configuration);
+        closer.register(pulsarClient);
+        return pulsarClient;
+    }
+
+    protected Producer<?> getProducer(String topic) throws PulsarClientException {
+        Producer<?> producer = topic2Producer.get(topic);
+        if (producer != null && producer.isConnected()) {
+            return producer;
+        }
+
+        final ProducerBuilder<?> producerBuilder =
+                PulsarSinkConfigUtils.createProducerBuilder(
+                        getPulsarClient(), serializationSchema.getSchema(), configuration);
+        producerBuilder.topic(topic);
+
+        if (partitionSelector != null) {
+            producerBuilder.messageRouter(generateMessageRouter());
+        }
+        producer = producerBuilder.create();
+        closer.register(producer);
+        uploadSchema(topic);
+        topic2Producer.put(topic, producer);
+        return producer;
+    }
+
+    @SuppressWarnings("unchecked")
+    private MessageRouter generateMessageRouter() {
+        return new MessageRouter() {
+            @Override
+            public int choosePartition(Message<?> msg, TopicMetadata metadata) {
+                return partitionSelector.select(
+                        (Message<IN>) msg,
+                        new org.apache.flink.connector.pulsar.sink.writer.selector.TopicMetadata(
+                                metadata.numPartitions()));
+            }
+        };
+    }
+
+    protected BiConsumer<MessageId, Throwable> initializeSendCallback(

Review comment:
       protected?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] fapaul commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
fapaul commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r741733756



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSink.java
##########
@@ -0,0 +1,121 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.api.connector.sink.GlobalCommitter;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommitter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterState;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterStateSerializer;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.core.io.SimpleVersionedSerializer;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * a pulsar Sink implement.
+ *
+ * @param <IN> record data type.
+ */
+@PublicEvolving
+public class PulsarSink<IN> implements Sink<IN, PulsarSinkCommittable, PulsarWriterState, Void> {
+
+    private final DeliveryGuarantee deliveryGuarantee;
+
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+    private final PartitionSelector<IN> partitionSelector;
+
+    private final Configuration configuration;
+
+    public PulsarSink(

Review comment:
       The constructor can probably be package-private

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/common/schema/IncompatibleSchemaException.java
##########
@@ -0,0 +1,31 @@
+/*
+ * 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.flink.connector.pulsar.common.schema;
+
+/** Exception designates the incompatibility between pulsar and flink type. */
+public class IncompatibleSchemaException extends RuntimeException {
+
+    public IncompatibleSchemaException(String message, Throwable e) {
+        super(message, e);
+    }
+
+    public IncompatibleSchemaException(String message) {

Review comment:
       ctor is unused?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/committer/PulsarCommitter.java
##########
@@ -0,0 +1,96 @@
+/*
+ * 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.flink.connector.pulsar.sink.committer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.apache.pulsar.client.impl.transaction.TransactionCoordinatorClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/** Committer implementation for {@link org.apache.flink.connector.pulsar.sink.PulsarSink}. */
+@Internal
+public class PulsarCommitter implements Committer<PulsarSinkCommittable>, Closeable {
+
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarCommitter.class);
+
+    private final DeliveryGuarantee deliveryGuarantee;
+
+    private final Configuration configuration;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarCommitter(DeliveryGuarantee deliveryGuarantee, Configuration configuration) {
+        this.deliveryGuarantee = deliveryGuarantee;
+        this.configuration = configuration;
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> commit(List<PulsarSinkCommittable> committables)
+            throws IOException {
+        if (deliveryGuarantee != DeliveryGuarantee.EXACTLY_ONCE || committables.isEmpty()) {
+            return Collections.emptyList();
+        }
+        final TransactionCoordinatorClientImpl tcClient = getTcClient();
+        LOG.debug("commit committables, current tcClient state: {}", tcClient.getState());
+        List<PulsarSinkCommittable> recoveryCommittables = new ArrayList<>();
+        for (PulsarSinkCommittable committable : committables) {
+            LOG.debug("commit committables {}", committable.getTxnID());
+            try {
+                tcClient.commit(committable.getTxnID());
+            } catch (TransactionCoordinatorClientException e) {
+                LOG.error("commit committables failed " + committable.getTxnID(), e);
+                recoveryCommittables.add(committable);
+            }
+        }
+        return recoveryCommittables;
+    }
+
+    private synchronized TransactionCoordinatorClientImpl getTcClient()
+            throws TransactionCoordinatorClientException {

Review comment:
       The exception seems to be unnecessary

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {

Review comment:
       Can you double-check the fields of this class some of them can be final and some of them are probably not needed at all?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/committer/PulsarCommitter.java
##########
@@ -0,0 +1,96 @@
+/*
+ * 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.flink.connector.pulsar.sink.committer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.apache.pulsar.client.impl.transaction.TransactionCoordinatorClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/** Committer implementation for {@link org.apache.flink.connector.pulsar.sink.PulsarSink}. */
+@Internal
+public class PulsarCommitter implements Committer<PulsarSinkCommittable>, Closeable {
+
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarCommitter.class);
+
+    private final DeliveryGuarantee deliveryGuarantee;
+
+    private final Configuration configuration;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarCommitter(DeliveryGuarantee deliveryGuarantee, Configuration configuration) {
+        this.deliveryGuarantee = deliveryGuarantee;
+        this.configuration = configuration;
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> commit(List<PulsarSinkCommittable> committables)
+            throws IOException {
+        if (deliveryGuarantee != DeliveryGuarantee.EXACTLY_ONCE || committables.isEmpty()) {
+            return Collections.emptyList();
+        }
+        final TransactionCoordinatorClientImpl tcClient = getTcClient();
+        LOG.debug("commit committables, current tcClient state: {}", tcClient.getState());
+        List<PulsarSinkCommittable> recoveryCommittables = new ArrayList<>();
+        for (PulsarSinkCommittable committable : committables) {
+            LOG.debug("commit committables {}", committable.getTxnID());
+            try {
+                tcClient.commit(committable.getTxnID());
+            } catch (TransactionCoordinatorClientException e) {
+                LOG.error("commit committables failed " + committable.getTxnID(), e);
+                recoveryCommittables.add(committable);
+            }
+        }
+        return recoveryCommittables;
+    }
+
+    private synchronized TransactionCoordinatorClientImpl getTcClient()

Review comment:
       Why is this method synchronized? AFAIK commit is never called parallel

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;
+                        }
+
+                        @Override
+                        public UserCodeClassLoader getUserCodeClassLoader() {
+                            return userCodeClassLoader;
+                        }
+                    });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        if (deliveryGuarantee == EXACTLY_ONCE) {
+            this.delivery = new ExactlyOnceDelivery(sinkConfiguration, this::getPulsarClient);
+        } else {
+            this.delivery = new AtLeastOnceDelivery();
+        }
+        closer.register(delivery);
+        this.sendCallback =
+                initializeSendCallback(sinkConfiguration, sinkInitContext.getMailboxExecutor());
+    }
+
+    @Override
+    public void write(IN value, Context context) throws IOException {
+        String topic = topicSelector.selector(value);
+        TypedMessageBuilder messageBuilder = delivery.newMessage(getProducer(topic));
+        serializationSchema.serialize(value, messageBuilder);
+
+        CompletableFuture<MessageId> messageIdFuture = messageBuilder.sendAsync();
+        pendingRecords.incrementAndGet();
+        futures.add(messageIdFuture);
+        messageIdFuture.whenComplete(sendCallback);
+    }
+
+    public void initializeState(List<PulsarWriterState> states) throws IOException {
+        checkNotNull(states, "The retrieved state was null.");
+        for (PulsarWriterState state : states) {
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Restoring: {}", state);
+            }
+        }
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> prepareCommit(boolean flush) throws IOException {
+        if (!flush) {
+            return Collections.emptyList();
+        }
+        producerFlush();
+        List<PulsarSinkCommittable> committables = delivery.prepareCommit(flush);
+        LOG.debug("Committing {} committables, final commit={}.", committables, flush);
+        return committables;
+    }
+
+    @Override
+    public List<PulsarWriterState> snapshotState(long checkpointId) throws IOException {
+        return delivery.snapshotState(checkpointId);
+    }
+
+    @Override
+    public void close() throws Exception {
+        producerFlush();
+        closer.close();
+    }
+
+    public void producerFlush() throws IOException {
+        for (Producer<?> p : topic2Producer.values()) {
+            p.flush();
+        }
+
+        for (CompletableFuture<MessageId> completableFuture : futures) {
+            try {
+                completableFuture.get();
+            } catch (InterruptedException e) {
+                throw new RuntimeException(e);
+            } catch (ExecutionException e) {
+                throw new RuntimeException(e);
+            }
+        }
+        futures.clear();
+
+        if (pendingRecords.get() > 0) {
+            throw new RuntimeException("The message could not be sent");
+        }
+    }
+
+    // ------------------------------internal method------------------------------
+
+    private synchronized PulsarClientImpl getPulsarClient() {
+        if (pulsarClient != null) {
+            return pulsarClient;
+        }
+        pulsarClient = (PulsarClientImpl) PulsarConfigUtils.createClient(configuration);
+        closer.register(pulsarClient);
+        return pulsarClient;
+    }
+
+    protected Producer<?> getProducer(String topic) throws PulsarClientException {
+        Producer<?> producer = topic2Producer.get(topic);
+        if (producer != null && producer.isConnected()) {
+            return producer;
+        }
+
+        final ProducerBuilder<?> producerBuilder =
+                PulsarSinkConfigUtils.createProducerBuilder(
+                        getPulsarClient(), serializationSchema.getSchema(), configuration);
+        producerBuilder.topic(topic);
+
+        if (partitionSelector != null) {
+            producerBuilder.messageRouter(generateMessageRouter());
+        }
+        producer = producerBuilder.create();
+        closer.register(producer);
+        uploadSchema(topic);
+        topic2Producer.put(topic, producer);
+        return producer;
+    }
+
+    @SuppressWarnings("unchecked")
+    private MessageRouter generateMessageRouter() {
+        return new MessageRouter() {
+            @Override
+            public int choosePartition(Message<?> msg, TopicMetadata metadata) {
+                return partitionSelector.select(
+                        (Message<IN>) msg,
+                        new org.apache.flink.connector.pulsar.sink.writer.selector.TopicMetadata(
+                                metadata.numPartitions()));
+            }
+        };
+    }
+
+    protected BiConsumer<MessageId, Throwable> initializeSendCallback(
+            SinkConfiguration sinkConfiguration, MailboxExecutor mailboxExecutor) {
+        if (sinkConfiguration.isFailOnWrite()) {
+            return (t, u) -> {
+                if (u == null) {
+                    acknowledgeMessage();
+                    return;
+                }
+                mailboxExecutor.execute(
+                        () -> {
+                            throw new FlinkRuntimeException(u);
+                        },
+                        "Failed to send data to Pulsar");
+            };
+        } else {
+            return (t, u) -> {
+                if (u != null) {
+                    LOG.error(
+                            "Error while sending message to Pulsar: {}",
+                            ExceptionUtils.stringifyException(u));
+                }
+                acknowledgeMessage();
+            };
+        }
+    }
+
+    private void acknowledgeMessage() {
+        synchronized (pendingRecords) {
+            if (pendingRecords.decrementAndGet() == 0L) {
+                pendingRecords.notifyAll();
+            }
+        }
+    }

Review comment:
       Can you explain this block? In general, synchronization should not be necessary if everything is executed in the mailbox.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSink.java
##########
@@ -0,0 +1,121 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.api.connector.sink.GlobalCommitter;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommitter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterState;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterStateSerializer;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.core.io.SimpleVersionedSerializer;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * a pulsar Sink implement.

Review comment:
       Can you add more information about the capabilities of the sink? You can have a look at the KafkaSink for a reference :)

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSink.java
##########
@@ -0,0 +1,121 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.api.connector.sink.GlobalCommitter;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommitter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterState;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterStateSerializer;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.core.io.SimpleVersionedSerializer;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * a pulsar Sink implement.
+ *
+ * @param <IN> record data type.
+ */
+@PublicEvolving
+public class PulsarSink<IN> implements Sink<IN, PulsarSinkCommittable, PulsarWriterState, Void> {
+
+    private final DeliveryGuarantee deliveryGuarantee;
+
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+    private final PartitionSelector<IN> partitionSelector;
+
+    private final Configuration configuration;
+
+    public PulsarSink(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration) {
+        this.deliveryGuarantee = deliveryGuarantee;
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;

Review comment:
       We usually use `Preconditions.checkNotNull()` for to ensure ctor parameters are not null

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSinkOptions.java
##########
@@ -0,0 +1,261 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.annotation.docs.ConfigGroup;
+import org.apache.flink.annotation.docs.ConfigGroups;
+import org.apache.flink.configuration.ConfigOption;
+import org.apache.flink.configuration.ConfigOptions;
+import org.apache.flink.configuration.description.Description;
+
+import org.apache.pulsar.client.api.CompressionType;
+import org.apache.pulsar.client.api.HashingScheme;
+import org.apache.pulsar.client.api.MessageRoutingMode;
+import org.apache.pulsar.client.api.ProducerCryptoFailureAction;
+
+import java.time.Duration;
+import java.util.concurrent.TimeUnit;
+
+import static org.apache.flink.configuration.description.TextElement.code;
+import static org.apache.flink.configuration.description.TextElement.text;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PRODUCER_CONFIG_PREFIX;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.SINK_CONFIG_PREFIX;
+
+/** the options for Pulsar Sink. */
+@PublicEvolving
+@ConfigGroups(
+        groups = {
+            @ConfigGroup(name = "PulsarSink", keyPrefix = SINK_CONFIG_PREFIX),
+            @ConfigGroup(name = "PulsarProducer", keyPrefix = PRODUCER_CONFIG_PREFIX)
+        })
+public final class PulsarSinkOptions {
+
+    // Pulsar sink connector config prefix.
+    public static final String SINK_CONFIG_PREFIX = "pulsar.sink.";
+    // Pulsar producer API config prefix.
+    public static final String PRODUCER_CONFIG_PREFIX = "pulsar.producer.";

Review comment:
       Can both be private?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/common/schema/IncompatibleSchemaException.java
##########
@@ -0,0 +1,31 @@
+/*
+ * 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.flink.connector.pulsar.common.schema;
+
+/** Exception designates the incompatibility between pulsar and flink type. */
+public class IncompatibleSchemaException extends RuntimeException {

Review comment:
       Please mark as `@Internal`

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/committer/PulsarCommitter.java
##########
@@ -0,0 +1,96 @@
+/*
+ * 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.flink.connector.pulsar.sink.committer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.apache.pulsar.client.impl.transaction.TransactionCoordinatorClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/** Committer implementation for {@link org.apache.flink.connector.pulsar.sink.PulsarSink}. */
+@Internal
+public class PulsarCommitter implements Committer<PulsarSinkCommittable>, Closeable {
+
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarCommitter.class);
+
+    private final DeliveryGuarantee deliveryGuarantee;
+
+    private final Configuration configuration;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarCommitter(DeliveryGuarantee deliveryGuarantee, Configuration configuration) {
+        this.deliveryGuarantee = deliveryGuarantee;
+        this.configuration = configuration;
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> commit(List<PulsarSinkCommittable> committables)
+            throws IOException {
+        if (deliveryGuarantee != DeliveryGuarantee.EXACTLY_ONCE || committables.isEmpty()) {

Review comment:
       We should not forward any committables from the sink writer if `deliveryGuarantee != DeliveryGuarantee.EXACTLY_ONCE` currently they are always written to the committer state.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSinkBuilder.java
##########
@@ -0,0 +1,260 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.api.common.typeinfo.TypeInformation;
+import org.apache.flink.configuration.ConfigOption;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.configuration.UnmodifiableConfiguration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarOptions;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+
+import org.apache.pulsar.client.api.MessageRoutingMode;
+import org.apache.pulsar.client.api.Schema;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_ADMIN_URL;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_SERVICE_URL;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MESSAGE_ROUTING_MODE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TRANSACTION_TIMEOUT_MILLIS;
+import static org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils.checkConfigurations;
+import static org.apache.flink.util.Preconditions.checkArgument;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * PulsarSink's builder is used to simplify the creation of Sink.

Review comment:
       Can you add an example here how to use the builder to construct a pulsar sink?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSinkBuilder.java
##########
@@ -0,0 +1,260 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.api.common.typeinfo.TypeInformation;
+import org.apache.flink.configuration.ConfigOption;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.configuration.UnmodifiableConfiguration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarOptions;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+
+import org.apache.pulsar.client.api.MessageRoutingMode;
+import org.apache.pulsar.client.api.Schema;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_ADMIN_URL;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_SERVICE_URL;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MESSAGE_ROUTING_MODE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TRANSACTION_TIMEOUT_MILLIS;
+import static org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils.checkConfigurations;
+import static org.apache.flink.util.Preconditions.checkArgument;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * PulsarSink's builder is used to simplify the creation of Sink.
+ *
+ * @param <IN>
+ */
+public class PulsarSinkBuilder<IN> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarSinkBuilder.class);
+
+    private DeliveryGuarantee deliveryGuarantee;
+    private TopicSelector<IN> topicSelector;
+    private PulsarSerializationSchema<IN, ?> serializationSchema;
+    private PartitionSelector<IN> partitionSelector;
+    private final Configuration configuration;
+
+    // private builder constructor.
+    PulsarSinkBuilder() {
+        this.configuration = new Configuration();
+        this.deliveryGuarantee = DeliveryGuarantee.EXACTLY_ONCE;
+    }
+
+    /**
+     * Sets the admin endpoint for the PulsarAdmin of the PulsarSink.
+     *
+     * @param adminUrl the url for the PulsarAdmin.
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> setAdminUrl(String adminUrl) {
+        return setConfig(PULSAR_ADMIN_URL, adminUrl);
+    }
+
+    /**
+     * Sets the server's link for the PulsarProducer of the PulsarSink.
+     *
+     * @param serviceUrl the server url of the Pulsar cluster.
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> setServiceUrl(String serviceUrl) {
+        return setConfig(PULSAR_SERVICE_URL, serviceUrl);
+    }
+
+    /**
+     * Set the topic for the PulsarSink.
+     *
+     * @param topic pulsar topic
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> setTopic(String topic) {
+        this.topicSelector = e -> topic;
+        return this;
+    }
+
+    /**
+     * set a topic selector for the PulsarSink.
+     *
+     * @param topicSelector select a topic by record.
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> setTopic(TopicSelector<IN> topicSelector) {
+        this.topicSelector = topicSelector;
+        return this;
+    }
+
+    /**
+     * Set a DeliverGuarantees for the PulsarSink.
+     *
+     * @param deliveryGuarantee deliver guarantees.
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> setDeliveryGuarantee(DeliveryGuarantee deliveryGuarantee) {
+        this.deliveryGuarantee = deliveryGuarantee;
+        return this;
+    }
+
+    /**
+     * SerializationSchema is required for getting the {@link Schema} for serialize message from
+     * pulsar and getting the {@link TypeInformation} for message serialization in flink.
+     *
+     * <p>We have defined a set of implementations, using {@code
+     * PulsarSerializationSchema#pulsarSchema} or {@code PulsarSerializationSchema#flinkSchema} for
+     * creating the desired schema.
+     */
+    public <T extends IN> PulsarSinkBuilder<T> setSerializationSchema(
+            PulsarSerializationSchema<T, ?> serializationSchema) {
+        PulsarSinkBuilder<T> self = specialized();
+        self.serializationSchema = serializationSchema;
+        return self;
+    }
+
+    /**
+     * Write the message to a partition of the Pulsar topic using a random method.
+     *
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> singlePartition() {
+        return setConfig(PULSAR_MESSAGE_ROUTING_MODE, MessageRoutingMode.SinglePartition);
+    }
+
+    /**
+     * Write the message to a partition of the Pulsar topic using a round Robin method.
+     *
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> roundRobinPartition() {
+        return setConfig(PULSAR_MESSAGE_ROUTING_MODE, MessageRoutingMode.RoundRobinPartition);
+    }
+
+    /**
+     * Write the message to a partition of the Pulsar topic using user defined method.
+     *
+     * @return this PulsarSinkBuilder.
+     */
+    public <T extends IN> PulsarSinkBuilder<T> customPartition(
+            PartitionSelector<T> partitionSelector) {
+        setConfig(PULSAR_MESSAGE_ROUTING_MODE, MessageRoutingMode.CustomPartition);
+        PulsarSinkBuilder<T> self = specialized();
+        self.partitionSelector = partitionSelector;
+        return self;
+    }
+
+    /**
+     * Build the {@link PulsarSink}.
+     *
+     * @return a PulsarSink with the settings made for this builder.
+     */
+    @SuppressWarnings("java:S3776")
+    public PulsarSink<IN> build() {
+        // Check builder configuration.
+        checkConfigurations(configuration);
+
+        // Ensure the topic  for pulsar.
+        checkNotNull(topicSelector, "No topic names or topic pattern are provided.");
+
+        if (DeliveryGuarantee.EXACTLY_ONCE == deliveryGuarantee) {
+            configuration.set(PulsarOptions.PULSAR_ENABLE_TRANSACTION, true);
+            configuration.set(PulsarSinkOptions.PULSAR_SEND_TIMEOUT_MS, 0L);
+            if (!configuration.contains(PULSAR_TRANSACTION_TIMEOUT_MILLIS)) {
+                LOG.warn(
+                        "The default pulsar transaction timeout is 3 hours, "
+                                + "make sure it was greater than your checkpoint interval.");
+            } else {
+                Long timeout = configuration.get(PULSAR_TRANSACTION_TIMEOUT_MILLIS);
+                LOG.warn(
+                        "The configured transaction timeout is {} mille seconds, "

Review comment:
       ```suggestion
                           "The configured transaction timeout is {} milliseconds, "
   ```

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/config/SinkConfiguration.java
##########
@@ -0,0 +1,59 @@
+/*
+ * 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.flink.connector.pulsar.sink.config;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.configuration.Configuration;
+
+import java.io.Serializable;
+
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_FAIL_ON_WRITE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TRANSACTION_TIMEOUT_MILLIS;
+
+/** The configure class for pulsar sink. */
+@PublicEvolving

Review comment:
       Why is this class marked as `@PublicEvolving`?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;

Review comment:
       Remove

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;

Review comment:
       Why are these fields transient?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/config/SinkConfiguration.java
##########
@@ -0,0 +1,59 @@
+/*
+ * 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.flink.connector.pulsar.sink.config;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.configuration.Configuration;
+
+import java.io.Serializable;
+
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_FAIL_ON_WRITE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TRANSACTION_TIMEOUT_MILLIS;
+
+/** The configure class for pulsar sink. */
+@PublicEvolving
+public class SinkConfiguration implements Serializable {

Review comment:
       Does it need to be serializable?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;

Review comment:
       You can get the metric group from the `Sink.InitContext` and you can pass it to the pulsar writer as a reference please have a look at the KafkaSink

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/config/PulsarSinkConfigUtils.java
##########
@@ -0,0 +1,134 @@
+/*
+ * 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.flink.connector.pulsar.sink.config;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.configuration.ConfigOption;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.util.Preconditions;
+
+import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList;
+import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableSet;
+
+import org.apache.pulsar.client.api.Consumer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClient;
+import org.apache.pulsar.client.api.Schema;
+
+import java.util.List;
+import java.util.Set;
+
+import static java.util.concurrent.TimeUnit.MICROSECONDS;
+import static java.util.concurrent.TimeUnit.MILLISECONDS;
+import static org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils.setOptionValue;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_ADMIN_URL;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_AUTH_PARAMS;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_AUTH_PARAM_MAP;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_SERVICE_URL;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_BATCHING_ENABLED;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_BATCHING_MAX_MESSAGES;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_BATCHING_MAX_PUBLISH_DELAY_MICROS;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_BLOCK_IF_QUEUE_FULL;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_COMPRESSION_TYPE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_CRYPTO_FAILURE_ACTION;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_ENABLE_CHUNKING;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_HASHING_SCHEME;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MAX_PENDING_MESSAGES;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MAX_PENDING_MESSAGES_ACROSS_PARTITIONS;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MESSAGE_ROUTING_MODE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_PRODUCER_NAME;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_SEND_TIMEOUT_MS;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TOPIC_NAME;
+
+/** Create source related {@link Consumer} and validate config. */
+@Internal
+public final class PulsarSinkConfigUtils {
+
+    private PulsarSinkConfigUtils() {
+        // No need to create instance.
+    }
+
+    private static final List<Set<ConfigOption<?>>> CONFLICT_SINK_OPTIONS =
+            ImmutableList.<Set<ConfigOption<?>>>builder()
+                    .add(ImmutableSet.of(PULSAR_AUTH_PARAMS, PULSAR_AUTH_PARAM_MAP))
+                    .build();
+
+    private static final Set<ConfigOption<?>> REQUIRED_SINK_OPTIONS =
+            ImmutableSet.<ConfigOption<?>>builder()
+                    .add(PULSAR_SERVICE_URL)
+                    .add(PULSAR_ADMIN_URL)
+                    .build();
+
+    /**
+     * Helper method for checking client related config options. We would validate:
+     *
+     * <ul>
+     *   <li>If user have provided the required client config options.
+     *   <li>If user have provided some conflict options.
+     * </ul>
+     */
+    public static void checkConfigurations(Configuration configuration) {
+        REQUIRED_SINK_OPTIONS.forEach(
+                option ->
+                        Preconditions.checkArgument(
+                                configuration.contains(option),
+                                "Config option %s is not provided for pulsar source.",
+                                option));
+
+        CONFLICT_SINK_OPTIONS.forEach(
+                options -> {
+                    long nums = options.stream().filter(configuration::contains).count();
+                    Preconditions.checkArgument(
+                            nums <= 1,
+                            "Conflict config options %s were provided, we only support one of them for creating pulsar source.",
+                            options);
+                });
+    }
+
+    /** Create a pulsar consumer builder by using the given Configuration. */
+    public static <T> ProducerBuilder<T> createProducerBuilder(
+            PulsarClient client, Schema<T> schema, Configuration configuration) {
+        ProducerBuilder<T> builder = client.newProducer(schema);
+
+        setOptionValue(configuration, PULSAR_TOPIC_NAME, builder::topic);
+        setOptionValue(configuration, PULSAR_PRODUCER_NAME, builder::producerName);
+        setOptionValue(
+                configuration,
+                PULSAR_SEND_TIMEOUT_MS,
+                v -> builder.sendTimeout(v.intValue(), MILLISECONDS));
+        setOptionValue(configuration, PULSAR_BLOCK_IF_QUEUE_FULL, builder::blockIfQueueFull);
+        setOptionValue(configuration, PULSAR_MAX_PENDING_MESSAGES, builder::maxPendingMessages);
+        setOptionValue(
+                configuration,
+                PULSAR_MAX_PENDING_MESSAGES_ACROSS_PARTITIONS,
+                builder::maxPendingMessagesAcrossPartitions);
+        setOptionValue(configuration, PULSAR_MESSAGE_ROUTING_MODE, builder::messageRoutingMode);
+        setOptionValue(configuration, PULSAR_HASHING_SCHEME, builder::hashingScheme);

Review comment:
       Can we maybe share the configurations between the source and the sink?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;
+                        }
+
+                        @Override
+                        public UserCodeClassLoader getUserCodeClassLoader() {
+                            return userCodeClassLoader;
+                        }
+                    });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        if (deliveryGuarantee == EXACTLY_ONCE) {
+            this.delivery = new ExactlyOnceDelivery(sinkConfiguration, this::getPulsarClient);
+        } else {
+            this.delivery = new AtLeastOnceDelivery();
+        }
+        closer.register(delivery);
+        this.sendCallback =
+                initializeSendCallback(sinkConfiguration, sinkInitContext.getMailboxExecutor());
+    }
+
+    @Override
+    public void write(IN value, Context context) throws IOException {
+        String topic = topicSelector.selector(value);
+        TypedMessageBuilder messageBuilder = delivery.newMessage(getProducer(topic));
+        serializationSchema.serialize(value, messageBuilder);
+
+        CompletableFuture<MessageId> messageIdFuture = messageBuilder.sendAsync();
+        pendingRecords.incrementAndGet();
+        futures.add(messageIdFuture);
+        messageIdFuture.whenComplete(sendCallback);
+    }
+
+    public void initializeState(List<PulsarWriterState> states) throws IOException {
+        checkNotNull(states, "The retrieved state was null.");
+        for (PulsarWriterState state : states) {
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Restoring: {}", state);
+            }
+        }
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> prepareCommit(boolean flush) throws IOException {
+        if (!flush) {
+            return Collections.emptyList();
+        }
+        producerFlush();
+        List<PulsarSinkCommittable> committables = delivery.prepareCommit(flush);
+        LOG.debug("Committing {} committables, final commit={}.", committables, flush);
+        return committables;
+    }
+
+    @Override
+    public List<PulsarWriterState> snapshotState(long checkpointId) throws IOException {
+        return delivery.snapshotState(checkpointId);
+    }
+
+    @Override
+    public void close() throws Exception {
+        producerFlush();
+        closer.close();
+    }
+
+    public void producerFlush() throws IOException {

Review comment:
       private?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;

Review comment:
       final

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;
+                        }
+
+                        @Override
+                        public UserCodeClassLoader getUserCodeClassLoader() {
+                            return userCodeClassLoader;
+                        }
+                    });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        if (deliveryGuarantee == EXACTLY_ONCE) {
+            this.delivery = new ExactlyOnceDelivery(sinkConfiguration, this::getPulsarClient);
+        } else {
+            this.delivery = new AtLeastOnceDelivery();
+        }
+        closer.register(delivery);
+        this.sendCallback =
+                initializeSendCallback(sinkConfiguration, sinkInitContext.getMailboxExecutor());
+    }
+
+    @Override
+    public void write(IN value, Context context) throws IOException {
+        String topic = topicSelector.selector(value);
+        TypedMessageBuilder messageBuilder = delivery.newMessage(getProducer(topic));
+        serializationSchema.serialize(value, messageBuilder);
+
+        CompletableFuture<MessageId> messageIdFuture = messageBuilder.sendAsync();
+        pendingRecords.incrementAndGet();
+        futures.add(messageIdFuture);
+        messageIdFuture.whenComplete(sendCallback);
+    }
+
+    public void initializeState(List<PulsarWriterState> states) throws IOException {
+        checkNotNull(states, "The retrieved state was null.");
+        for (PulsarWriterState state : states) {
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Restoring: {}", state);
+            }
+        }
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> prepareCommit(boolean flush) throws IOException {
+        if (!flush) {
+            return Collections.emptyList();
+        }
+        producerFlush();
+        List<PulsarSinkCommittable> committables = delivery.prepareCommit(flush);
+        LOG.debug("Committing {} committables, final commit={}.", committables, flush);
+        return committables;
+    }
+
+    @Override
+    public List<PulsarWriterState> snapshotState(long checkpointId) throws IOException {
+        return delivery.snapshotState(checkpointId);
+    }
+
+    @Override
+    public void close() throws Exception {
+        producerFlush();
+        closer.close();
+    }
+
+    public void producerFlush() throws IOException {
+        for (Producer<?> p : topic2Producer.values()) {
+            p.flush();
+        }
+
+        for (CompletableFuture<MessageId> completableFuture : futures) {
+            try {
+                completableFuture.get();
+            } catch (InterruptedException e) {
+                throw new RuntimeException(e);
+            } catch (ExecutionException e) {
+                throw new RuntimeException(e);
+            }
+        }
+        futures.clear();
+
+        if (pendingRecords.get() > 0) {
+            throw new RuntimeException("The message could not be sent");
+        }
+    }
+
+    // ------------------------------internal method------------------------------
+
+    private synchronized PulsarClientImpl getPulsarClient() {
+        if (pulsarClient != null) {
+            return pulsarClient;
+        }
+        pulsarClient = (PulsarClientImpl) PulsarConfigUtils.createClient(configuration);
+        closer.register(pulsarClient);
+        return pulsarClient;
+    }
+
+    protected Producer<?> getProducer(String topic) throws PulsarClientException {

Review comment:
       Why protected?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;
+                        }
+
+                        @Override
+                        public UserCodeClassLoader getUserCodeClassLoader() {
+                            return userCodeClassLoader;
+                        }
+                    });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        if (deliveryGuarantee == EXACTLY_ONCE) {
+            this.delivery = new ExactlyOnceDelivery(sinkConfiguration, this::getPulsarClient);
+        } else {
+            this.delivery = new AtLeastOnceDelivery();
+        }
+        closer.register(delivery);
+        this.sendCallback =
+                initializeSendCallback(sinkConfiguration, sinkInitContext.getMailboxExecutor());
+    }
+
+    @Override
+    public void write(IN value, Context context) throws IOException {
+        String topic = topicSelector.selector(value);
+        TypedMessageBuilder messageBuilder = delivery.newMessage(getProducer(topic));
+        serializationSchema.serialize(value, messageBuilder);
+
+        CompletableFuture<MessageId> messageIdFuture = messageBuilder.sendAsync();
+        pendingRecords.incrementAndGet();
+        futures.add(messageIdFuture);
+        messageIdFuture.whenComplete(sendCallback);
+    }
+
+    public void initializeState(List<PulsarWriterState> states) throws IOException {
+        checkNotNull(states, "The retrieved state was null.");
+        for (PulsarWriterState state : states) {
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Restoring: {}", state);

Review comment:
       This feels incomplete

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;
+                        }
+
+                        @Override
+                        public UserCodeClassLoader getUserCodeClassLoader() {
+                            return userCodeClassLoader;
+                        }
+                    });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        if (deliveryGuarantee == EXACTLY_ONCE) {
+            this.delivery = new ExactlyOnceDelivery(sinkConfiguration, this::getPulsarClient);
+        } else {
+            this.delivery = new AtLeastOnceDelivery();
+        }
+        closer.register(delivery);
+        this.sendCallback =
+                initializeSendCallback(sinkConfiguration, sinkInitContext.getMailboxExecutor());
+    }
+
+    @Override
+    public void write(IN value, Context context) throws IOException {
+        String topic = topicSelector.selector(value);
+        TypedMessageBuilder messageBuilder = delivery.newMessage(getProducer(topic));
+        serializationSchema.serialize(value, messageBuilder);
+
+        CompletableFuture<MessageId> messageIdFuture = messageBuilder.sendAsync();
+        pendingRecords.incrementAndGet();
+        futures.add(messageIdFuture);
+        messageIdFuture.whenComplete(sendCallback);

Review comment:
       Please take look at the `AsyncSinkWriter` how it uses the mailbox to enqueue asynchronous tasks. By using the mailbox you can get rid of all the manual synchronization because the mailbox executes the writer and you callbacks in the same thread.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/config/SinkConfiguration.java
##########
@@ -0,0 +1,59 @@
+/*
+ * 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.flink.connector.pulsar.sink.config;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.configuration.Configuration;
+
+import java.io.Serializable;
+
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_FAIL_ON_WRITE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TRANSACTION_TIMEOUT_MILLIS;
+
+/** The configure class for pulsar sink. */
+@PublicEvolving
+public class SinkConfiguration implements Serializable {

Review comment:
       You can probably also remote this class completely and only pass the `failOnWrite` and `transactionTimeout` to the downstream class.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;
+                        }
+
+                        @Override
+                        public UserCodeClassLoader getUserCodeClassLoader() {
+                            return userCodeClassLoader;
+                        }
+                    });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        if (deliveryGuarantee == EXACTLY_ONCE) {
+            this.delivery = new ExactlyOnceDelivery(sinkConfiguration, this::getPulsarClient);
+        } else {
+            this.delivery = new AtLeastOnceDelivery();
+        }
+        closer.register(delivery);
+        this.sendCallback =
+                initializeSendCallback(sinkConfiguration, sinkInitContext.getMailboxExecutor());
+    }
+
+    @Override
+    public void write(IN value, Context context) throws IOException {
+        String topic = topicSelector.selector(value);
+        TypedMessageBuilder messageBuilder = delivery.newMessage(getProducer(topic));
+        serializationSchema.serialize(value, messageBuilder);
+
+        CompletableFuture<MessageId> messageIdFuture = messageBuilder.sendAsync();
+        pendingRecords.incrementAndGet();
+        futures.add(messageIdFuture);
+        messageIdFuture.whenComplete(sendCallback);
+    }
+
+    public void initializeState(List<PulsarWriterState> states) throws IOException {
+        checkNotNull(states, "The retrieved state was null.");
+        for (PulsarWriterState state : states) {
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Restoring: {}", state);
+            }
+        }
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> prepareCommit(boolean flush) throws IOException {
+        if (!flush) {
+            return Collections.emptyList();
+        }
+        producerFlush();
+        List<PulsarSinkCommittable> committables = delivery.prepareCommit(flush);
+        LOG.debug("Committing {} committables, final commit={}.", committables, flush);
+        return committables;
+    }
+
+    @Override
+    public List<PulsarWriterState> snapshotState(long checkpointId) throws IOException {
+        return delivery.snapshotState(checkpointId);
+    }
+
+    @Override
+    public void close() throws Exception {
+        producerFlush();
+        closer.close();
+    }
+
+    public void producerFlush() throws IOException {
+        for (Producer<?> p : topic2Producer.values()) {
+            p.flush();
+        }
+
+        for (CompletableFuture<MessageId> completableFuture : futures) {
+            try {
+                completableFuture.get();
+            } catch (InterruptedException e) {
+                throw new RuntimeException(e);
+            } catch (ExecutionException e) {
+                throw new RuntimeException(e);
+            }
+        }
+        futures.clear();
+
+        if (pendingRecords.get() > 0) {
+            throw new RuntimeException("The message could not be sent");
+        }
+    }
+
+    // ------------------------------internal method------------------------------
+
+    private synchronized PulsarClientImpl getPulsarClient() {
+        if (pulsarClient != null) {
+            return pulsarClient;
+        }
+        pulsarClient = (PulsarClientImpl) PulsarConfigUtils.createClient(configuration);
+        closer.register(pulsarClient);
+        return pulsarClient;
+    }
+
+    protected Producer<?> getProducer(String topic) throws PulsarClientException {
+        Producer<?> producer = topic2Producer.get(topic);
+        if (producer != null && producer.isConnected()) {
+            return producer;
+        }
+
+        final ProducerBuilder<?> producerBuilder =
+                PulsarSinkConfigUtils.createProducerBuilder(
+                        getPulsarClient(), serializationSchema.getSchema(), configuration);
+        producerBuilder.topic(topic);
+
+        if (partitionSelector != null) {
+            producerBuilder.messageRouter(generateMessageRouter());
+        }
+        producer = producerBuilder.create();
+        closer.register(producer);
+        uploadSchema(topic);
+        topic2Producer.put(topic, producer);
+        return producer;
+    }
+
+    @SuppressWarnings("unchecked")
+    private MessageRouter generateMessageRouter() {
+        return new MessageRouter() {
+            @Override
+            public int choosePartition(Message<?> msg, TopicMetadata metadata) {
+                return partitionSelector.select(
+                        (Message<IN>) msg,
+                        new org.apache.flink.connector.pulsar.sink.writer.selector.TopicMetadata(
+                                metadata.numPartitions()));
+            }
+        };
+    }
+
+    protected BiConsumer<MessageId, Throwable> initializeSendCallback(

Review comment:
       protected?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 5b79cd362aaca74e6c40b6806b45583aebf71fd3 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861) 
   * ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r792515867



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSinkBuilder.java
##########
@@ -0,0 +1,335 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.configuration.ConfigOption;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigBuilder;
+import org.apache.flink.connector.pulsar.common.config.PulsarOptions;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.message.RawMessage;
+import org.apache.flink.connector.pulsar.sink.writer.router.TopicRouter;
+import org.apache.flink.connector.pulsar.sink.writer.router.TopicRoutingMode;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicMetadataListener;
+
+import org.apache.pulsar.client.api.Schema;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Properties;
+
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_ADMIN_URL;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_ENABLE_TRANSACTION;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_SERVICE_URL;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_PRODUCER_NAME;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_WRITE_SCHEMA_EVOLUTION;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_WRITE_TRANSACTION_TIMEOUT;
+import static org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils.SINK_CONFIG_VALIDATOR;
+import static org.apache.flink.connector.pulsar.source.enumerator.topic.TopicNameUtils.distinctTopics;
+import static org.apache.flink.util.Preconditions.checkArgument;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+import static org.apache.flink.util.Preconditions.checkState;
+
+/**
+ * The builder class for {@link PulsarSink} to make it easier for the users to construct a {@link
+ * PulsarSink}.
+ *
+ * <p>The following example shows the minimum setup to create a PulsarSink that reads the String
+ * values from a Pulsar topic.
+ *
+ * <pre>{@code
+ * PulsarSink<String> sink = PulsarSink.builder()
+ *     .setServiceUrl(operator().serviceUrl())
+ *     .setAdminUrl(operator().adminUrl())
+ *     .setTopics(topic)
+ *     .setSerializationSchema(PulsarSerializationSchema.pulsarSchema(Schema.STRING))
+ *     .build();
+ * }</pre>
+ *
+ * <p>The service url, admin url, and the record serializer are required fields that must be set. If
+ * you don't set the topics, make sure you have provided a custom {@link TopicRouter}. Otherwise,
+ * you must provide the topics to produce.
+ *
+ * <p>To specify the delivery guarantees of PulsarSink, one can call {@link
+ * #setDeliveryGuarantee(DeliveryGuarantee)}. The default value of the delivery guarantee is {@link
+ * DeliveryGuarantee#EXACTLY_ONCE}, and it requires the Pulsar broker to turn on transaction
+ * support.
+ *
+ * <pre>{@code
+ * PulsarSink<String> sink = PulsarSink.builder()
+ *     .setServiceUrl(operator().serviceUrl())
+ *     .setAdminUrl(operator().adminUrl())
+ *     .setTopics(topic)
+ *     .setSerializationSchema(PulsarSerializationSchema.pulsarSchema(Schema.STRING))
+ *     .setDeliveryGuarantee(deliveryGuarantee)
+ *     .build();
+ * }</pre>
+ *
+ * @see PulsarSink for a more detailed explanation of the different guarantees.
+ * @param <IN> The input type of the sink.
+ */
+@PublicEvolving
+public class PulsarSinkBuilder<IN> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarSinkBuilder.class);
+
+    private final PulsarConfigBuilder configBuilder;
+
+    private DeliveryGuarantee deliveryGuarantee;
+    private PulsarSerializationSchema<IN> serializationSchema;
+    private TopicMetadataListener metadataListener;
+    private TopicRoutingMode topicRoutingMode;
+    private TopicRouter<IN> topicRouter;
+
+    // private builder constructor.
+    PulsarSinkBuilder() {
+        this.configBuilder = new PulsarConfigBuilder();
+        this.deliveryGuarantee = DeliveryGuarantee.NONE;
+    }
+
+    /**
+     * Sets the admin endpoint for the PulsarAdmin of the PulsarSink.
+     *
+     * @param adminUrl the url for the PulsarAdmin.
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> setAdminUrl(String adminUrl) {
+        return setConfig(PULSAR_ADMIN_URL, adminUrl);
+    }
+
+    /**
+     * Sets the server's link for the PulsarProducer of the PulsarSink.
+     *
+     * @param serviceUrl the server url of the Pulsar cluster.
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> setServiceUrl(String serviceUrl) {
+        return setConfig(PULSAR_SERVICE_URL, serviceUrl);
+    }
+
+    public PulsarSinkBuilder<IN> setProducerName(String producerName) {
+        return setConfig(PULSAR_PRODUCER_NAME, producerName);
+    }
+
+    /**
+     * Set a pulsar topic list for flink source. Some topic may not exist currently, write to this
+     * non-existed topic wouldn't throw any exception.
+     *
+     * @param topics The topic list you would like to consume message.
+     * @return this PulsarSourceBuilder.
+     */
+    public PulsarSinkBuilder<IN> setTopics(String... topics) {
+        return setTopics(Arrays.asList(topics));
+    }
+
+    /**
+     * Set a pulsar topic list for flink source. Some topic may not exist currently, consuming this

Review comment:
       Yep. This is my mistake.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] imaffe commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
imaffe commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r792717796



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,215 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink.InitContext;
+import org.apache.flink.api.connector.sink.Sink.ProcessingTimeService;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommittable;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContextAdapter;
+import org.apache.flink.connector.pulsar.sink.writer.message.RawMessage;
+import org.apache.flink.connector.pulsar.sink.writer.router.TopicRouter;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchemaInitializationContext;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicMetadataListener;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicProducerRegister;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.function.SerializableFunction;
+
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.api.transaction.Transaction;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.Semaphore;
+
+import static java.util.Collections.emptyList;
+import static org.apache.flink.util.IOUtils.closeAll;
+
+/**
+ * This class is responsible to write records in a Pulsar topic and to handle the different delivery
+ * {@link DeliveryGuarantee}s.
+ *
+ * @param <IN> The type of the input elements.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarCommittable, Void> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private final SinkConfiguration sinkConfiguration;
+    private final DeliveryGuarantee deliveryGuarantee;
+    private final PulsarSerializationSchema<IN> serializationSchema;
+    private final TopicRouter<IN> topicRouter;
+    private final PulsarSinkContextAdapter sinkContextAdapter;
+    private final TopicMetadataListener metadataListener;
+    private final MailboxExecutor mailboxExecutor;
+    private final TopicProducerRegister producerRegister;
+    private final Semaphore pendingMessages;
+
+    /**
+     * Constructor creating a Pulsar writer.
+     *
+     * <p>It will throw a {@link RuntimeException} if {@link
+     * PulsarSerializationSchema#open(SerializationSchema.InitializationContext, PulsarSinkContext,
+     * SinkConfiguration)} fails.
+     *
+     * @param sinkConfiguration the configuration to configure the Pulsar producer.
+     * @param deliveryGuarantee the Sink's delivery guarantee.
+     * @param serializationSchema serialize to transform the incoming records to {@link RawMessage}.
+     * @param metadataListener the listener for querying topic metadata.
+     * @param topicRouterProvider create related topic router to choose topic by incoming records.
+     * @param initContext context to provide information about the runtime environment.
+     */
+    public PulsarWriter(
+            SinkConfiguration sinkConfiguration,
+            DeliveryGuarantee deliveryGuarantee,
+            PulsarSerializationSchema<IN> serializationSchema,
+            TopicMetadataListener metadataListener,
+            SerializableFunction<SinkConfiguration, TopicRouter<IN>> topicRouterProvider,
+            InitContext initContext) {
+        this.sinkConfiguration = sinkConfiguration;
+        this.deliveryGuarantee = deliveryGuarantee;
+        this.serializationSchema = serializationSchema;
+        this.topicRouter = topicRouterProvider.apply(sinkConfiguration);
+        this.sinkContextAdapter = new PulsarSinkContextAdapter(initContext, sinkConfiguration);
+        this.metadataListener = metadataListener;
+        this.mailboxExecutor = initContext.getMailboxExecutor();
+
+        // Initialize topic metadata listener.
+        LOG.debug("Initialize topic metadata after creating Pulsar writer.");
+        ProcessingTimeService timeService = initContext.getProcessingTimeService();
+        metadataListener.open(sinkConfiguration, timeService);
+
+        // Initialize topic router.
+        topicRouter.open(sinkConfiguration);
+
+        // Initialize the serialization schema.
+        PulsarSerializationSchemaInitializationContext initializationContext =
+                new PulsarSerializationSchemaInitializationContext(initContext);
+        try {
+            serializationSchema.open(initializationContext, sinkContextAdapter, sinkConfiguration);
+        } catch (Exception e) {
+            throw new FlinkRuntimeException("Cannot initialize schema.", e);
+        }
+
+        // Create this producer register after opening serialization schema!
+        this.producerRegister = new TopicProducerRegister(sinkConfiguration, serializationSchema);
+        this.pendingMessages = new Semaphore(sinkConfiguration.getMaxPendingMessages());
+    }
+
+    @Override
+    @SuppressWarnings("unchecked")
+    public void write(IN element, Context context) throws IOException, InterruptedException {
+        // Serialize the incoming element.
+        sinkContextAdapter.updateTimestamp(context);
+        RawMessage<byte[]> message = serializationSchema.serialize(element, sinkContextAdapter);
+
+        // Choose the right topic to send.
+        List<String> availableTopics = metadataListener.availableTopics();
+        String topic = topicRouter.route(element, message, availableTopics, sinkContextAdapter);
+
+        // Create message builder for sending message.
+        TypedMessageBuilder<?> builder = createMessageBuilder(topic, deliveryGuarantee);
+        if (sinkConfiguration.isEnableSchemaEvolution()) {
+            ((TypedMessageBuilder<IN>) builder).value(element);
+        } else {
+            ((TypedMessageBuilder<byte[]>) builder).value(message.getValue());
+        }
+        message.supplement(builder);
+
+        // Perform message sending.
+        if (deliveryGuarantee == DeliveryGuarantee.NONE) {
+            // We would just ignore the sending exception. This may cause data loss.
+            builder.sendAsync();
+        } else if (deliveryGuarantee == DeliveryGuarantee.AT_LEAST_ONCE) {
+            // Waiting for permits to write message.
+            pendingMessages.acquire();
+            CompletableFuture<MessageId> sender = builder.sendAsync();
+            sender.whenComplete(
+                    (id, ex) -> {
+                        pendingMessages.release();
+                        if (ex != null) {
+                            mailboxExecutor.execute(
+                                    () -> {
+                                        throw new FlinkRuntimeException(

Review comment:
       So it means that if the mailbox executor throws a FlinkRuntimeException, the writer will not exit and continues , is that correct ? 




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r791421347



##########
File path: flink-connectors/flink-connector-pulsar/pom.xml
##########
@@ -163,13 +202,22 @@ under the License.
 		</dependency>
 	</dependencies>
 
-	<!-- gRPC use version range which don't support by flink ci. -->
 	<dependencyManagement>
 		<dependencies>
+			<!-- Pulsar use higher gRPC version. -->
 			<dependency>
 				<groupId>io.grpc</groupId>
 				<artifactId>grpc-bom</artifactId>
-				<version>${grpc.version}</version>
+				<version>${pulsar-grpc.version}</version>
+				<type>pom</type>
+				<scope>import</scope>
+			</dependency>
+
+			<!-- Pulsar use higher netty version. -->
+			<dependency>
+				<groupId>io.netty</groupId>
+				<artifactId>netty-bom</artifactId>
+				<version>${pulsar-netty.version}</version>

Review comment:
       I have checked the dependencies in `flink-connector-pulsar`, we only use netty in tests. There is no compiled dependency for netty.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] imaffe commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
imaffe commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r793300636



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/source/PulsarSource.java
##########
@@ -97,16 +94,14 @@
      * PulsarSourceBuilder}.
      */
     PulsarSource(
-            Configuration configuration,
+            SourceConfiguration sourceConfiguration,

Review comment:
       For source related changes, I guess the changes to the source is related to sink because we want to align the naming conventions and hierarchy , but maybe consider putting in a separate commit ? 




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r791011231



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/config/PulsarSinkConfigUtils.java
##########
@@ -0,0 +1,134 @@
+/*
+ * 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.flink.connector.pulsar.sink.config;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.configuration.ConfigOption;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.util.Preconditions;
+
+import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList;
+import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableSet;
+
+import org.apache.pulsar.client.api.Consumer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClient;
+import org.apache.pulsar.client.api.Schema;
+
+import java.util.List;
+import java.util.Set;
+
+import static java.util.concurrent.TimeUnit.MICROSECONDS;
+import static java.util.concurrent.TimeUnit.MILLISECONDS;
+import static org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils.setOptionValue;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_ADMIN_URL;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_AUTH_PARAMS;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_AUTH_PARAM_MAP;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_SERVICE_URL;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_BATCHING_ENABLED;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_BATCHING_MAX_MESSAGES;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_BATCHING_MAX_PUBLISH_DELAY_MICROS;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_BLOCK_IF_QUEUE_FULL;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_COMPRESSION_TYPE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_CRYPTO_FAILURE_ACTION;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_ENABLE_CHUNKING;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_HASHING_SCHEME;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MAX_PENDING_MESSAGES;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MAX_PENDING_MESSAGES_ACROSS_PARTITIONS;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MESSAGE_ROUTING_MODE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_PRODUCER_NAME;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_SEND_TIMEOUT_MS;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TOPIC_NAME;
+
+/** Create source related {@link Consumer} and validate config. */
+@Internal
+public final class PulsarSinkConfigUtils {
+
+    private PulsarSinkConfigUtils() {
+        // No need to create instance.
+    }
+
+    private static final List<Set<ConfigOption<?>>> CONFLICT_SINK_OPTIONS =
+            ImmutableList.<Set<ConfigOption<?>>>builder()
+                    .add(ImmutableSet.of(PULSAR_AUTH_PARAMS, PULSAR_AUTH_PARAM_MAP))
+                    .build();
+
+    private static final Set<ConfigOption<?>> REQUIRED_SINK_OPTIONS =
+            ImmutableSet.<ConfigOption<?>>builder()
+                    .add(PULSAR_SERVICE_URL)
+                    .add(PULSAR_ADMIN_URL)
+                    .build();
+
+    /**
+     * Helper method for checking client related config options. We would validate:
+     *
+     * <ul>
+     *   <li>If user have provided the required client config options.
+     *   <li>If user have provided some conflict options.
+     * </ul>
+     */
+    public static void checkConfigurations(Configuration configuration) {
+        REQUIRED_SINK_OPTIONS.forEach(
+                option ->
+                        Preconditions.checkArgument(
+                                configuration.contains(option),
+                                "Config option %s is not provided for pulsar source.",
+                                option));
+
+        CONFLICT_SINK_OPTIONS.forEach(
+                options -> {
+                    long nums = options.stream().filter(configuration::contains).count();
+                    Preconditions.checkArgument(
+                            nums <= 1,
+                            "Conflict config options %s were provided, we only support one of them for creating pulsar source.",
+                            options);
+                });
+    }
+
+    /** Create a pulsar consumer builder by using the given Configuration. */
+    public static <T> ProducerBuilder<T> createProducerBuilder(
+            PulsarClient client, Schema<T> schema, Configuration configuration) {
+        ProducerBuilder<T> builder = client.newProducer(schema);
+
+        setOptionValue(configuration, PULSAR_TOPIC_NAME, builder::topic);
+        setOptionValue(configuration, PULSAR_PRODUCER_NAME, builder::producerName);
+        setOptionValue(
+                configuration,
+                PULSAR_SEND_TIMEOUT_MS,
+                v -> builder.sendTimeout(v.intValue(), MILLISECONDS));
+        setOptionValue(configuration, PULSAR_BLOCK_IF_QUEUE_FULL, builder::blockIfQueueFull);
+        setOptionValue(configuration, PULSAR_MAX_PENDING_MESSAGES, builder::maxPendingMessages);
+        setOptionValue(
+                configuration,
+                PULSAR_MAX_PENDING_MESSAGES_ACROSS_PARTITIONS,
+                builder::maxPendingMessagesAcrossPartitions);
+        setOptionValue(configuration, PULSAR_MESSAGE_ROUTING_MODE, builder::messageRoutingMode);
+        setOptionValue(configuration, PULSAR_HASHING_SCHEME, builder::hashingScheme);

Review comment:
       Yeah the shared configurations are defined in class `PulsarOptions`




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590) 
   * 3bdbb660a027c49a1fed5c8b77ccf5174c16c85d Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599) 
   * 6854b5ae7209cd2edc56ac525f462292f85efd9c Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590) 
   * 3bdbb660a027c49a1fed5c8b77ccf5174c16c85d UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590) 
   * 3bdbb660a027c49a1fed5c8b77ccf5174c16c85d Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599) 
   * 6854b5ae7209cd2edc56ac525f462292f85efd9c UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590) 
   * 3bdbb660a027c49a1fed5c8b77ccf5174c16c85d Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 40b7b444a0d0492677db15f5a841340e810ce0ff Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649) 
   * 73c9d94b434c6084f7307019ed55759ade49d738 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-1028443462


   @flinkbot run azure


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463) 
   * 067d456df50b5cd5889cfa299b6b81b4da172626 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r794637804



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/committer/PulsarCommitter.java
##########
@@ -0,0 +1,112 @@
+/*
+ * 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.flink.connector.pulsar.sink.committer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.PulsarSink;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+
+import org.apache.pulsar.client.api.PulsarClient;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClient;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException.CoordinatorNotFoundException;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException.TransactionNotFoundException;
+import org.apache.pulsar.client.api.transaction.TxnID;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import static java.util.Collections.emptyList;
+import static org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils.createClient;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * Committer implementation for {@link PulsarSink}.
+ *
+ * <p>The committer is responsible to finalize the Pulsar transactions by committing them.
+ */
+@Internal
+public class PulsarCommitter implements Committer<PulsarCommittable>, Closeable {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarCommitter.class);
+
+    private final SinkConfiguration sinkConfiguration;
+
+    private PulsarClient pulsarClient;
+    private TransactionCoordinatorClient coordinatorClient;
+
+    public PulsarCommitter(SinkConfiguration sinkConfiguration) {
+        this.sinkConfiguration = sinkConfiguration;
+    }
+
+    @Override
+    public List<PulsarCommittable> commit(List<PulsarCommittable> committables)
+            throws IOException, InterruptedException {
+        if (committables == null || committables.isEmpty()) {
+            return emptyList();
+        }
+
+        List<PulsarCommittable> retryableCommittables = new ArrayList<>();
+        for (PulsarCommittable committable : committables) {
+            TxnID txnID = committable.getTxnID();
+            String topic = committable.getTopic();
+
+            LOG.debug("Start committing the transaction {} for topic {}", txnID, topic);
+            try {
+                coordinatorClient.commit(txnID);
+            } catch (TransactionNotFoundException | CoordinatorNotFoundException e) {
+                throw e;
+            } catch (TransactionCoordinatorClientException e) {
+                LOG.error("Unable to commit transaction {} for topic {}", txnID, topic);
+                retryableCommittables.add(committable);
+            }
+        }
+        return retryableCommittables;
+    }
+
+    /**
+     * Lazy initialize this backend Pulsar client. This committer may not be used in {@link
+     * DeliveryGuarantee#NONE} and {@link DeliveryGuarantee#AT_LEAST_ONCE}. So we couldn't create
+     * the Pulsar client immediately.
+     */
+    private TransactionCoordinatorClient transactionCoordinatorClient() {

Review comment:
       This is a mistake from my side. This method should be used in the `commit` method.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 054ffb84a4dab1330d23e1a3309b2ca324b26e3d Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r794652565



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/serializer/PulsarSchemaWrapper.java
##########
@@ -0,0 +1,65 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.serializer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.connector.pulsar.common.schema.PulsarSchema;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+import org.apache.flink.connector.pulsar.sink.writer.message.RawMessage;
+
+import org.apache.pulsar.client.api.Schema;
+
+/** Wrap the Pulsar's Schema into PulsarSerializationSchema. */
+@Internal
+public class PulsarSchemaWrapper<IN> implements PulsarSerializationSchema<IN> {
+    private static final long serialVersionUID = -2567052498398184194L;
+
+    private static final byte[] EMPTY_BYTES = new byte[0];
+    private final PulsarSchema<IN> pulsarSchema;
+
+    public PulsarSchemaWrapper(PulsarSchema<IN> pulsarSchema) {
+        this.pulsarSchema = pulsarSchema;
+    }
+
+    @Override
+    public RawMessage<byte[]> serialize(IN element, PulsarSinkContext sinkContext) {
+        RawMessage<byte[]> message;
+
+        if (sinkContext.isEnableSchemaEvolution()) {
+            // We don't need to serialize incoming records in schema evolution.
+            message = new RawMessage<>(EMPTY_BYTES);
+        } else {
+            Schema<IN> schema = this.pulsarSchema.getPulsarSchema();
+            byte[] bytes = schema.encode(element);
+            message = new RawMessage<>(bytes);
+        }
+
+        Long eventTime = sinkContext.timestamp();

Review comment:
       We should give connector users the ability to set the event time. This is just a default implementation that can be overridden.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a1c55eac2e9c33d36db08d65a9d90df55abfc450 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462) 
   * 0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] fapaul commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
fapaul commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r805915506



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/serializer/PulsarSerializationSchema.java
##########
@@ -0,0 +1,184 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.serializer;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext;
+import org.apache.flink.connector.pulsar.common.schema.PulsarSchema;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+
+import org.apache.pulsar.client.api.Schema;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.common.schema.KeyValue;
+
+import java.io.Serializable;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * The serialization schema for how to serialize record into Pulsar.
+ *
+ * @param <IN> The message type send to Pulsar.
+ */
+@PublicEvolving
+public interface PulsarSerializationSchema<IN> extends Serializable {
+
+    /**
+     * Initialization method for the schema. It is called before the actual working methods {@link
+     * #serialize(Object)} and thus suitable for one time setup work.
+     *
+     * <p>The provided {@link InitializationContext} can be used to access additional features such
+     * as e.g. registering user metrics.
+     *
+     * @param initializationContext Contextual information that can be used during initialization.
+     * @param sinkContext runtime information i.e. partitions, subtaskId
+     * @param sinkConfiguration All the configure options for Pulsar sink. You can add custom
+     *     options.
+     */
+    default void open(
+            InitializationContext initializationContext,
+            PulsarSinkContext sinkContext,
+            SinkConfiguration sinkConfiguration)
+            throws Exception {}
+
+    /**
+     * Serializes given element into bytes. Property {@link TypedMessageBuilder#value(Object)}.
+     *
+     * @param element element to be serialized
+     */
+    byte[] serialize(IN element);

Review comment:
       Ok I got your point. I still do not like having all these default implementation and handle them in the writer. When ever a default implementation changes we also have to change the writer logic.
   
   Unfortunately, the only alternative I see is offering for every extension method as a different interface i.e.
   
   ```java
   public interface WithKey() {
       String key(IN element, PulsarSinkContext sinkContext)
   }
   ...
   public interface WithOrderingKey() {
       byte[] key(IN element, PulsarSinkContext sinkContext)
   }
   ...
   As part of the writer it is then only required to check instance of. WDYT?
   
   ```




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a49364d47478c98f43f95d9b58b699da6da6d433 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349) 
   * 0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r805885196



##########
File path: flink-connectors/flink-connector-pulsar/src/test/java/org/apache/flink/connector/pulsar/testutils/runtime/embedded/PulsarEmbeddedRuntime.java
##########
@@ -0,0 +1,284 @@
+/*
+ * 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.flink.connector.pulsar.testutils.runtime.embedded;
+
+import org.apache.flink.connector.pulsar.testutils.runtime.PulsarRuntime;
+import org.apache.flink.connector.pulsar.testutils.runtime.PulsarRuntimeOperator;
+import org.apache.flink.util.FileUtils;
+
+import org.apache.bookkeeper.conf.ServerConfiguration;
+import org.apache.logging.log4j.LogManager;
+import org.apache.pulsar.broker.PulsarService;
+import org.apache.pulsar.broker.ServiceConfiguration;
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.common.configuration.PulsarConfigurationLoader;
+import org.apache.pulsar.common.naming.TopicName;
+import org.apache.pulsar.common.policies.data.ClusterData;
+import org.apache.pulsar.common.policies.data.TenantInfo;
+import org.apache.pulsar.common.policies.data.TenantInfoImpl;
+import org.apache.pulsar.functions.worker.WorkerConfig;
+import org.apache.pulsar.zookeeper.LocalBookkeeperEnsemble;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.net.URL;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
+
+import static org.apache.flink.util.Preconditions.checkNotNull;
+import static org.apache.pulsar.broker.ServiceConfigurationUtils.brokerUrl;
+import static org.apache.pulsar.broker.ServiceConfigurationUtils.webServiceUrl;
+import static org.apache.pulsar.common.naming.NamespaceName.SYSTEM_NAMESPACE;
+import static org.apache.pulsar.common.naming.TopicName.TRANSACTION_COORDINATOR_ASSIGN;
+
+/** Providing a embedded pulsar server. We use this runtime for transaction related tests. */
+public class PulsarEmbeddedRuntime implements PulsarRuntime {

Review comment:
       This Pulsar embedded runtime is written on top of the public Pulsar entry point class `PulsarStandalone`. We only modify the logic for running it in a randomly generated port.
   
   That means we don't rely on any internal server API which would frequently change. The class `PulsarStandalone` would support randomly port in 2.10.0 release. We would migrate this embedded server to it in the future.
   
   The TestContainer for Pulsar may be too heavy to use. Because Pulsar bundles a lot of things in this image. Such as the `function mesh`, streaming storage, etc. We only need a lightweight test environment for making unit tests more faster and efficient. I think we need such an embedded runtime.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a49364d47478c98f43f95d9b58b699da6da6d433 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349) 
   * 0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a49364d47478c98f43f95d9b58b699da6da6d433 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349) 
   * 0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484) 
   * b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 73c9d94b434c6084f7307019ed55759ade49d738 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663) 
   * c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-1030376275


   > The only concern is my limited knowledge of Pulsar transactions. Maybe you can clarify the following scenarios.
   >
   > The job opens a transaction and sends records, now suddenly fails before the first checkpoint. The pipeline would restart and try to use the same transaction again. Do we generate duplicates in this case because the records are replayed?
   > The job did a successful checkpoint and the transaction is moved to the [committer](). Before the committer can commit we write new records in the same transaction (I understood that we reuse the transaction for a topic). Does the committer now also commit the records that were received after the checkpoint?
   
   The questions you ask couldn't happen on the Pulsar sink. Allow me to explain them in detail.
   
   1. PulsarWriter only implements `PrecommittingSinkWriter` which doesn't have any writer state. If the pipeline restarts without the first checkpoint. All the transactions would be omitted and we would create new transactions instead. The previous transactions are kept on Pulsar until they meet the timeout. The transaction is just a changelog-based system. Creating a lot of unused transactions is accepted.
   
   2. If the transactions are passed to Committer after successfully checkpoint on PulsarWriter. It can't be touched by PulsarWriter anymore. PulsarWriter clears its internal transaction register when calling `PulsarWriter#prepareCommit`.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 73c9d94b434c6084f7307019ed55759ade49d738 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663) 
   * c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] imaffe edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
imaffe edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-1033486400


   > > The only concern is my limited knowledge of Pulsar transactions. Maybe you can clarify the following scenarios.
   > > The job opens a transaction and sends records, now suddenly fails before the first checkpoint. The pipeline would restart and try to use the same transaction again. Do we generate duplicates in this case because the records are replayed?
   > > The job did a successful checkpoint and the transaction is moved to the committer. Before the committer can commit we write new records in the same transaction (I understood that we reuse the transaction for a topic). Does the committer now also commit the records that were received after the checkpoint?
   > 
   > The questions you ask couldn't happen on the Pulsar sink. Allow me to explain them in detail.
   > 
   > 1. PulsarWriter only implements `PrecommittingSinkWriter` which doesn't have any writer state. If the pipeline restarts without the first checkpoint. All the transactions would be omitted and we would create new transactions instead. The previous transactions are kept on Pulsar until they meet the timeout. The transaction is just a changelog-based system. Creating a lot of unused transactions is accepted.
   > 2. If the transactions are passed to Committer after successfully checkpoint on PulsarWriter. They can't be touched by PulsarWriter anymore. PulsarWriter clears its internal transaction register when calling `PulsarWriter#prepareCommit`.
   
   EDIT: I took another look, my original understanding was wrong.  Seems commit is not tight to checkpoints, it's controlled by the Flink.
   
   EDIT2: I'm in some confusion.  Will re-look the transaction code to see if my description make sense.
   
   original post: 
   I have another question regarding the latency. If the transactions are committed on checkpoints only, let's say the checkpoint interval is 1min. And let's say the data volume is small, does that mean pulsar consumer won't be able to consume data produced by Pulsar Sink until the 1 minute interval passes (so the data sent within the 1 min is visible to consumers) ?
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507",
       "triggerID" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "triggerType" : "PUSH"
     }, {
       "hash" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532",
       "triggerID" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "triggerType" : "PUSH"
     }, {
       "hash" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31539",
       "triggerID" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a4bb0c45b5b8278391087ecfea66790bd08293af",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31548",
       "triggerID" : "a4bb0c45b5b8278391087ecfea66790bd08293af",
       "triggerType" : "PUSH"
     }, {
       "hash" : "26013d5b1c83f686757bb46a2dd3fe126044612a",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31557",
       "triggerID" : "26013d5b1c83f686757bb46a2dd3fe126044612a",
       "triggerType" : "PUSH"
     }, {
       "hash" : "38e9475b405df3004c00b216fe2edf552cb8c029",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "38e9475b405df3004c00b216fe2edf552cb8c029",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a4bb0c45b5b8278391087ecfea66790bd08293af Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31548) 
   * 26013d5b1c83f686757bb46a2dd3fe126044612a Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31557) 
   * 38e9475b405df3004c00b216fe2edf552cb8c029 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] fapaul commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
fapaul commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r741733756



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSink.java
##########
@@ -0,0 +1,121 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.api.connector.sink.GlobalCommitter;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommitter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterState;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterStateSerializer;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.core.io.SimpleVersionedSerializer;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * a pulsar Sink implement.
+ *
+ * @param <IN> record data type.
+ */
+@PublicEvolving
+public class PulsarSink<IN> implements Sink<IN, PulsarSinkCommittable, PulsarWriterState, Void> {
+
+    private final DeliveryGuarantee deliveryGuarantee;
+
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+    private final PartitionSelector<IN> partitionSelector;
+
+    private final Configuration configuration;
+
+    public PulsarSink(

Review comment:
       The constructor can probably be package-private

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/common/schema/IncompatibleSchemaException.java
##########
@@ -0,0 +1,31 @@
+/*
+ * 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.flink.connector.pulsar.common.schema;
+
+/** Exception designates the incompatibility between pulsar and flink type. */
+public class IncompatibleSchemaException extends RuntimeException {
+
+    public IncompatibleSchemaException(String message, Throwable e) {
+        super(message, e);
+    }
+
+    public IncompatibleSchemaException(String message) {

Review comment:
       ctor is unused?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/committer/PulsarCommitter.java
##########
@@ -0,0 +1,96 @@
+/*
+ * 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.flink.connector.pulsar.sink.committer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.apache.pulsar.client.impl.transaction.TransactionCoordinatorClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/** Committer implementation for {@link org.apache.flink.connector.pulsar.sink.PulsarSink}. */
+@Internal
+public class PulsarCommitter implements Committer<PulsarSinkCommittable>, Closeable {
+
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarCommitter.class);
+
+    private final DeliveryGuarantee deliveryGuarantee;
+
+    private final Configuration configuration;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarCommitter(DeliveryGuarantee deliveryGuarantee, Configuration configuration) {
+        this.deliveryGuarantee = deliveryGuarantee;
+        this.configuration = configuration;
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> commit(List<PulsarSinkCommittable> committables)
+            throws IOException {
+        if (deliveryGuarantee != DeliveryGuarantee.EXACTLY_ONCE || committables.isEmpty()) {
+            return Collections.emptyList();
+        }
+        final TransactionCoordinatorClientImpl tcClient = getTcClient();
+        LOG.debug("commit committables, current tcClient state: {}", tcClient.getState());
+        List<PulsarSinkCommittable> recoveryCommittables = new ArrayList<>();
+        for (PulsarSinkCommittable committable : committables) {
+            LOG.debug("commit committables {}", committable.getTxnID());
+            try {
+                tcClient.commit(committable.getTxnID());
+            } catch (TransactionCoordinatorClientException e) {
+                LOG.error("commit committables failed " + committable.getTxnID(), e);
+                recoveryCommittables.add(committable);
+            }
+        }
+        return recoveryCommittables;
+    }
+
+    private synchronized TransactionCoordinatorClientImpl getTcClient()
+            throws TransactionCoordinatorClientException {

Review comment:
       The exception seems to be unnecessary

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {

Review comment:
       Can you double-check the fields of this class some of them can be final and some of them are probably not needed at all?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/committer/PulsarCommitter.java
##########
@@ -0,0 +1,96 @@
+/*
+ * 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.flink.connector.pulsar.sink.committer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.apache.pulsar.client.impl.transaction.TransactionCoordinatorClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/** Committer implementation for {@link org.apache.flink.connector.pulsar.sink.PulsarSink}. */
+@Internal
+public class PulsarCommitter implements Committer<PulsarSinkCommittable>, Closeable {
+
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarCommitter.class);
+
+    private final DeliveryGuarantee deliveryGuarantee;
+
+    private final Configuration configuration;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarCommitter(DeliveryGuarantee deliveryGuarantee, Configuration configuration) {
+        this.deliveryGuarantee = deliveryGuarantee;
+        this.configuration = configuration;
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> commit(List<PulsarSinkCommittable> committables)
+            throws IOException {
+        if (deliveryGuarantee != DeliveryGuarantee.EXACTLY_ONCE || committables.isEmpty()) {
+            return Collections.emptyList();
+        }
+        final TransactionCoordinatorClientImpl tcClient = getTcClient();
+        LOG.debug("commit committables, current tcClient state: {}", tcClient.getState());
+        List<PulsarSinkCommittable> recoveryCommittables = new ArrayList<>();
+        for (PulsarSinkCommittable committable : committables) {
+            LOG.debug("commit committables {}", committable.getTxnID());
+            try {
+                tcClient.commit(committable.getTxnID());
+            } catch (TransactionCoordinatorClientException e) {
+                LOG.error("commit committables failed " + committable.getTxnID(), e);
+                recoveryCommittables.add(committable);
+            }
+        }
+        return recoveryCommittables;
+    }
+
+    private synchronized TransactionCoordinatorClientImpl getTcClient()

Review comment:
       Why is this method synchronized? AFAIK commit is never called parallel

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;
+                        }
+
+                        @Override
+                        public UserCodeClassLoader getUserCodeClassLoader() {
+                            return userCodeClassLoader;
+                        }
+                    });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        if (deliveryGuarantee == EXACTLY_ONCE) {
+            this.delivery = new ExactlyOnceDelivery(sinkConfiguration, this::getPulsarClient);
+        } else {
+            this.delivery = new AtLeastOnceDelivery();
+        }
+        closer.register(delivery);
+        this.sendCallback =
+                initializeSendCallback(sinkConfiguration, sinkInitContext.getMailboxExecutor());
+    }
+
+    @Override
+    public void write(IN value, Context context) throws IOException {
+        String topic = topicSelector.selector(value);
+        TypedMessageBuilder messageBuilder = delivery.newMessage(getProducer(topic));
+        serializationSchema.serialize(value, messageBuilder);
+
+        CompletableFuture<MessageId> messageIdFuture = messageBuilder.sendAsync();
+        pendingRecords.incrementAndGet();
+        futures.add(messageIdFuture);
+        messageIdFuture.whenComplete(sendCallback);
+    }
+
+    public void initializeState(List<PulsarWriterState> states) throws IOException {
+        checkNotNull(states, "The retrieved state was null.");
+        for (PulsarWriterState state : states) {
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Restoring: {}", state);
+            }
+        }
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> prepareCommit(boolean flush) throws IOException {
+        if (!flush) {
+            return Collections.emptyList();
+        }
+        producerFlush();
+        List<PulsarSinkCommittable> committables = delivery.prepareCommit(flush);
+        LOG.debug("Committing {} committables, final commit={}.", committables, flush);
+        return committables;
+    }
+
+    @Override
+    public List<PulsarWriterState> snapshotState(long checkpointId) throws IOException {
+        return delivery.snapshotState(checkpointId);
+    }
+
+    @Override
+    public void close() throws Exception {
+        producerFlush();
+        closer.close();
+    }
+
+    public void producerFlush() throws IOException {
+        for (Producer<?> p : topic2Producer.values()) {
+            p.flush();
+        }
+
+        for (CompletableFuture<MessageId> completableFuture : futures) {
+            try {
+                completableFuture.get();
+            } catch (InterruptedException e) {
+                throw new RuntimeException(e);
+            } catch (ExecutionException e) {
+                throw new RuntimeException(e);
+            }
+        }
+        futures.clear();
+
+        if (pendingRecords.get() > 0) {
+            throw new RuntimeException("The message could not be sent");
+        }
+    }
+
+    // ------------------------------internal method------------------------------
+
+    private synchronized PulsarClientImpl getPulsarClient() {
+        if (pulsarClient != null) {
+            return pulsarClient;
+        }
+        pulsarClient = (PulsarClientImpl) PulsarConfigUtils.createClient(configuration);
+        closer.register(pulsarClient);
+        return pulsarClient;
+    }
+
+    protected Producer<?> getProducer(String topic) throws PulsarClientException {
+        Producer<?> producer = topic2Producer.get(topic);
+        if (producer != null && producer.isConnected()) {
+            return producer;
+        }
+
+        final ProducerBuilder<?> producerBuilder =
+                PulsarSinkConfigUtils.createProducerBuilder(
+                        getPulsarClient(), serializationSchema.getSchema(), configuration);
+        producerBuilder.topic(topic);
+
+        if (partitionSelector != null) {
+            producerBuilder.messageRouter(generateMessageRouter());
+        }
+        producer = producerBuilder.create();
+        closer.register(producer);
+        uploadSchema(topic);
+        topic2Producer.put(topic, producer);
+        return producer;
+    }
+
+    @SuppressWarnings("unchecked")
+    private MessageRouter generateMessageRouter() {
+        return new MessageRouter() {
+            @Override
+            public int choosePartition(Message<?> msg, TopicMetadata metadata) {
+                return partitionSelector.select(
+                        (Message<IN>) msg,
+                        new org.apache.flink.connector.pulsar.sink.writer.selector.TopicMetadata(
+                                metadata.numPartitions()));
+            }
+        };
+    }
+
+    protected BiConsumer<MessageId, Throwable> initializeSendCallback(
+            SinkConfiguration sinkConfiguration, MailboxExecutor mailboxExecutor) {
+        if (sinkConfiguration.isFailOnWrite()) {
+            return (t, u) -> {
+                if (u == null) {
+                    acknowledgeMessage();
+                    return;
+                }
+                mailboxExecutor.execute(
+                        () -> {
+                            throw new FlinkRuntimeException(u);
+                        },
+                        "Failed to send data to Pulsar");
+            };
+        } else {
+            return (t, u) -> {
+                if (u != null) {
+                    LOG.error(
+                            "Error while sending message to Pulsar: {}",
+                            ExceptionUtils.stringifyException(u));
+                }
+                acknowledgeMessage();
+            };
+        }
+    }
+
+    private void acknowledgeMessage() {
+        synchronized (pendingRecords) {
+            if (pendingRecords.decrementAndGet() == 0L) {
+                pendingRecords.notifyAll();
+            }
+        }
+    }

Review comment:
       Can you explain this block? In general, synchronization should not be necessary if everything is executed in the mailbox.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSink.java
##########
@@ -0,0 +1,121 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.api.connector.sink.GlobalCommitter;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommitter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterState;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterStateSerializer;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.core.io.SimpleVersionedSerializer;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * a pulsar Sink implement.

Review comment:
       Can you add more information about the capabilities of the sink? You can have a look at the KafkaSink for a reference :)

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSink.java
##########
@@ -0,0 +1,121 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.api.connector.sink.GlobalCommitter;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommitter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterState;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterStateSerializer;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.core.io.SimpleVersionedSerializer;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * a pulsar Sink implement.
+ *
+ * @param <IN> record data type.
+ */
+@PublicEvolving
+public class PulsarSink<IN> implements Sink<IN, PulsarSinkCommittable, PulsarWriterState, Void> {
+
+    private final DeliveryGuarantee deliveryGuarantee;
+
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+    private final PartitionSelector<IN> partitionSelector;
+
+    private final Configuration configuration;
+
+    public PulsarSink(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration) {
+        this.deliveryGuarantee = deliveryGuarantee;
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;

Review comment:
       We usually use `Preconditions.checkNotNull()` for to ensure ctor parameters are not null

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSinkOptions.java
##########
@@ -0,0 +1,261 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.annotation.docs.ConfigGroup;
+import org.apache.flink.annotation.docs.ConfigGroups;
+import org.apache.flink.configuration.ConfigOption;
+import org.apache.flink.configuration.ConfigOptions;
+import org.apache.flink.configuration.description.Description;
+
+import org.apache.pulsar.client.api.CompressionType;
+import org.apache.pulsar.client.api.HashingScheme;
+import org.apache.pulsar.client.api.MessageRoutingMode;
+import org.apache.pulsar.client.api.ProducerCryptoFailureAction;
+
+import java.time.Duration;
+import java.util.concurrent.TimeUnit;
+
+import static org.apache.flink.configuration.description.TextElement.code;
+import static org.apache.flink.configuration.description.TextElement.text;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PRODUCER_CONFIG_PREFIX;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.SINK_CONFIG_PREFIX;
+
+/** the options for Pulsar Sink. */
+@PublicEvolving
+@ConfigGroups(
+        groups = {
+            @ConfigGroup(name = "PulsarSink", keyPrefix = SINK_CONFIG_PREFIX),
+            @ConfigGroup(name = "PulsarProducer", keyPrefix = PRODUCER_CONFIG_PREFIX)
+        })
+public final class PulsarSinkOptions {
+
+    // Pulsar sink connector config prefix.
+    public static final String SINK_CONFIG_PREFIX = "pulsar.sink.";
+    // Pulsar producer API config prefix.
+    public static final String PRODUCER_CONFIG_PREFIX = "pulsar.producer.";

Review comment:
       Can both be private?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/common/schema/IncompatibleSchemaException.java
##########
@@ -0,0 +1,31 @@
+/*
+ * 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.flink.connector.pulsar.common.schema;
+
+/** Exception designates the incompatibility between pulsar and flink type. */
+public class IncompatibleSchemaException extends RuntimeException {

Review comment:
       Please mark as `@Internal`

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/committer/PulsarCommitter.java
##########
@@ -0,0 +1,96 @@
+/*
+ * 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.flink.connector.pulsar.sink.committer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.apache.pulsar.client.impl.transaction.TransactionCoordinatorClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/** Committer implementation for {@link org.apache.flink.connector.pulsar.sink.PulsarSink}. */
+@Internal
+public class PulsarCommitter implements Committer<PulsarSinkCommittable>, Closeable {
+
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarCommitter.class);
+
+    private final DeliveryGuarantee deliveryGuarantee;
+
+    private final Configuration configuration;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarCommitter(DeliveryGuarantee deliveryGuarantee, Configuration configuration) {
+        this.deliveryGuarantee = deliveryGuarantee;
+        this.configuration = configuration;
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> commit(List<PulsarSinkCommittable> committables)
+            throws IOException {
+        if (deliveryGuarantee != DeliveryGuarantee.EXACTLY_ONCE || committables.isEmpty()) {

Review comment:
       We should not forward any committables from the sink writer if `deliveryGuarantee != DeliveryGuarantee.EXACTLY_ONCE` currently they are always written to the committer state.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSinkBuilder.java
##########
@@ -0,0 +1,260 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.api.common.typeinfo.TypeInformation;
+import org.apache.flink.configuration.ConfigOption;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.configuration.UnmodifiableConfiguration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarOptions;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+
+import org.apache.pulsar.client.api.MessageRoutingMode;
+import org.apache.pulsar.client.api.Schema;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_ADMIN_URL;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_SERVICE_URL;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MESSAGE_ROUTING_MODE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TRANSACTION_TIMEOUT_MILLIS;
+import static org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils.checkConfigurations;
+import static org.apache.flink.util.Preconditions.checkArgument;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * PulsarSink's builder is used to simplify the creation of Sink.

Review comment:
       Can you add an example here how to use the builder to construct a pulsar sink?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSinkBuilder.java
##########
@@ -0,0 +1,260 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.api.common.typeinfo.TypeInformation;
+import org.apache.flink.configuration.ConfigOption;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.configuration.UnmodifiableConfiguration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarOptions;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+
+import org.apache.pulsar.client.api.MessageRoutingMode;
+import org.apache.pulsar.client.api.Schema;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_ADMIN_URL;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_SERVICE_URL;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MESSAGE_ROUTING_MODE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TRANSACTION_TIMEOUT_MILLIS;
+import static org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils.checkConfigurations;
+import static org.apache.flink.util.Preconditions.checkArgument;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * PulsarSink's builder is used to simplify the creation of Sink.
+ *
+ * @param <IN>
+ */
+public class PulsarSinkBuilder<IN> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarSinkBuilder.class);
+
+    private DeliveryGuarantee deliveryGuarantee;
+    private TopicSelector<IN> topicSelector;
+    private PulsarSerializationSchema<IN, ?> serializationSchema;
+    private PartitionSelector<IN> partitionSelector;
+    private final Configuration configuration;
+
+    // private builder constructor.
+    PulsarSinkBuilder() {
+        this.configuration = new Configuration();
+        this.deliveryGuarantee = DeliveryGuarantee.EXACTLY_ONCE;
+    }
+
+    /**
+     * Sets the admin endpoint for the PulsarAdmin of the PulsarSink.
+     *
+     * @param adminUrl the url for the PulsarAdmin.
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> setAdminUrl(String adminUrl) {
+        return setConfig(PULSAR_ADMIN_URL, adminUrl);
+    }
+
+    /**
+     * Sets the server's link for the PulsarProducer of the PulsarSink.
+     *
+     * @param serviceUrl the server url of the Pulsar cluster.
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> setServiceUrl(String serviceUrl) {
+        return setConfig(PULSAR_SERVICE_URL, serviceUrl);
+    }
+
+    /**
+     * Set the topic for the PulsarSink.
+     *
+     * @param topic pulsar topic
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> setTopic(String topic) {
+        this.topicSelector = e -> topic;
+        return this;
+    }
+
+    /**
+     * set a topic selector for the PulsarSink.
+     *
+     * @param topicSelector select a topic by record.
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> setTopic(TopicSelector<IN> topicSelector) {
+        this.topicSelector = topicSelector;
+        return this;
+    }
+
+    /**
+     * Set a DeliverGuarantees for the PulsarSink.
+     *
+     * @param deliveryGuarantee deliver guarantees.
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> setDeliveryGuarantee(DeliveryGuarantee deliveryGuarantee) {
+        this.deliveryGuarantee = deliveryGuarantee;
+        return this;
+    }
+
+    /**
+     * SerializationSchema is required for getting the {@link Schema} for serialize message from
+     * pulsar and getting the {@link TypeInformation} for message serialization in flink.
+     *
+     * <p>We have defined a set of implementations, using {@code
+     * PulsarSerializationSchema#pulsarSchema} or {@code PulsarSerializationSchema#flinkSchema} for
+     * creating the desired schema.
+     */
+    public <T extends IN> PulsarSinkBuilder<T> setSerializationSchema(
+            PulsarSerializationSchema<T, ?> serializationSchema) {
+        PulsarSinkBuilder<T> self = specialized();
+        self.serializationSchema = serializationSchema;
+        return self;
+    }
+
+    /**
+     * Write the message to a partition of the Pulsar topic using a random method.
+     *
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> singlePartition() {
+        return setConfig(PULSAR_MESSAGE_ROUTING_MODE, MessageRoutingMode.SinglePartition);
+    }
+
+    /**
+     * Write the message to a partition of the Pulsar topic using a round Robin method.
+     *
+     * @return this PulsarSinkBuilder.
+     */
+    public PulsarSinkBuilder<IN> roundRobinPartition() {
+        return setConfig(PULSAR_MESSAGE_ROUTING_MODE, MessageRoutingMode.RoundRobinPartition);
+    }
+
+    /**
+     * Write the message to a partition of the Pulsar topic using user defined method.
+     *
+     * @return this PulsarSinkBuilder.
+     */
+    public <T extends IN> PulsarSinkBuilder<T> customPartition(
+            PartitionSelector<T> partitionSelector) {
+        setConfig(PULSAR_MESSAGE_ROUTING_MODE, MessageRoutingMode.CustomPartition);
+        PulsarSinkBuilder<T> self = specialized();
+        self.partitionSelector = partitionSelector;
+        return self;
+    }
+
+    /**
+     * Build the {@link PulsarSink}.
+     *
+     * @return a PulsarSink with the settings made for this builder.
+     */
+    @SuppressWarnings("java:S3776")
+    public PulsarSink<IN> build() {
+        // Check builder configuration.
+        checkConfigurations(configuration);
+
+        // Ensure the topic  for pulsar.
+        checkNotNull(topicSelector, "No topic names or topic pattern are provided.");
+
+        if (DeliveryGuarantee.EXACTLY_ONCE == deliveryGuarantee) {
+            configuration.set(PulsarOptions.PULSAR_ENABLE_TRANSACTION, true);
+            configuration.set(PulsarSinkOptions.PULSAR_SEND_TIMEOUT_MS, 0L);
+            if (!configuration.contains(PULSAR_TRANSACTION_TIMEOUT_MILLIS)) {
+                LOG.warn(
+                        "The default pulsar transaction timeout is 3 hours, "
+                                + "make sure it was greater than your checkpoint interval.");
+            } else {
+                Long timeout = configuration.get(PULSAR_TRANSACTION_TIMEOUT_MILLIS);
+                LOG.warn(
+                        "The configured transaction timeout is {} mille seconds, "

Review comment:
       ```suggestion
                           "The configured transaction timeout is {} milliseconds, "
   ```

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/config/SinkConfiguration.java
##########
@@ -0,0 +1,59 @@
+/*
+ * 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.flink.connector.pulsar.sink.config;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.configuration.Configuration;
+
+import java.io.Serializable;
+
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_FAIL_ON_WRITE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TRANSACTION_TIMEOUT_MILLIS;
+
+/** The configure class for pulsar sink. */
+@PublicEvolving

Review comment:
       Why is this class marked as `@PublicEvolving`?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;

Review comment:
       Remove

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;

Review comment:
       Why are these fields transient?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/config/SinkConfiguration.java
##########
@@ -0,0 +1,59 @@
+/*
+ * 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.flink.connector.pulsar.sink.config;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.configuration.Configuration;
+
+import java.io.Serializable;
+
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_FAIL_ON_WRITE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TRANSACTION_TIMEOUT_MILLIS;
+
+/** The configure class for pulsar sink. */
+@PublicEvolving
+public class SinkConfiguration implements Serializable {

Review comment:
       Does it need to be serializable?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;

Review comment:
       You can get the metric group from the `Sink.InitContext` and you can pass it to the pulsar writer as a reference please have a look at the KafkaSink

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/config/PulsarSinkConfigUtils.java
##########
@@ -0,0 +1,134 @@
+/*
+ * 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.flink.connector.pulsar.sink.config;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.configuration.ConfigOption;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.util.Preconditions;
+
+import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList;
+import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableSet;
+
+import org.apache.pulsar.client.api.Consumer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClient;
+import org.apache.pulsar.client.api.Schema;
+
+import java.util.List;
+import java.util.Set;
+
+import static java.util.concurrent.TimeUnit.MICROSECONDS;
+import static java.util.concurrent.TimeUnit.MILLISECONDS;
+import static org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils.setOptionValue;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_ADMIN_URL;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_AUTH_PARAMS;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_AUTH_PARAM_MAP;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_SERVICE_URL;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_BATCHING_ENABLED;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_BATCHING_MAX_MESSAGES;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_BATCHING_MAX_PUBLISH_DELAY_MICROS;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_BLOCK_IF_QUEUE_FULL;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_COMPRESSION_TYPE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_CRYPTO_FAILURE_ACTION;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_ENABLE_CHUNKING;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_HASHING_SCHEME;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MAX_PENDING_MESSAGES;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MAX_PENDING_MESSAGES_ACROSS_PARTITIONS;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MESSAGE_ROUTING_MODE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_PRODUCER_NAME;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_SEND_TIMEOUT_MS;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TOPIC_NAME;
+
+/** Create source related {@link Consumer} and validate config. */
+@Internal
+public final class PulsarSinkConfigUtils {
+
+    private PulsarSinkConfigUtils() {
+        // No need to create instance.
+    }
+
+    private static final List<Set<ConfigOption<?>>> CONFLICT_SINK_OPTIONS =
+            ImmutableList.<Set<ConfigOption<?>>>builder()
+                    .add(ImmutableSet.of(PULSAR_AUTH_PARAMS, PULSAR_AUTH_PARAM_MAP))
+                    .build();
+
+    private static final Set<ConfigOption<?>> REQUIRED_SINK_OPTIONS =
+            ImmutableSet.<ConfigOption<?>>builder()
+                    .add(PULSAR_SERVICE_URL)
+                    .add(PULSAR_ADMIN_URL)
+                    .build();
+
+    /**
+     * Helper method for checking client related config options. We would validate:
+     *
+     * <ul>
+     *   <li>If user have provided the required client config options.
+     *   <li>If user have provided some conflict options.
+     * </ul>
+     */
+    public static void checkConfigurations(Configuration configuration) {
+        REQUIRED_SINK_OPTIONS.forEach(
+                option ->
+                        Preconditions.checkArgument(
+                                configuration.contains(option),
+                                "Config option %s is not provided for pulsar source.",
+                                option));
+
+        CONFLICT_SINK_OPTIONS.forEach(
+                options -> {
+                    long nums = options.stream().filter(configuration::contains).count();
+                    Preconditions.checkArgument(
+                            nums <= 1,
+                            "Conflict config options %s were provided, we only support one of them for creating pulsar source.",
+                            options);
+                });
+    }
+
+    /** Create a pulsar consumer builder by using the given Configuration. */
+    public static <T> ProducerBuilder<T> createProducerBuilder(
+            PulsarClient client, Schema<T> schema, Configuration configuration) {
+        ProducerBuilder<T> builder = client.newProducer(schema);
+
+        setOptionValue(configuration, PULSAR_TOPIC_NAME, builder::topic);
+        setOptionValue(configuration, PULSAR_PRODUCER_NAME, builder::producerName);
+        setOptionValue(
+                configuration,
+                PULSAR_SEND_TIMEOUT_MS,
+                v -> builder.sendTimeout(v.intValue(), MILLISECONDS));
+        setOptionValue(configuration, PULSAR_BLOCK_IF_QUEUE_FULL, builder::blockIfQueueFull);
+        setOptionValue(configuration, PULSAR_MAX_PENDING_MESSAGES, builder::maxPendingMessages);
+        setOptionValue(
+                configuration,
+                PULSAR_MAX_PENDING_MESSAGES_ACROSS_PARTITIONS,
+                builder::maxPendingMessagesAcrossPartitions);
+        setOptionValue(configuration, PULSAR_MESSAGE_ROUTING_MODE, builder::messageRoutingMode);
+        setOptionValue(configuration, PULSAR_HASHING_SCHEME, builder::hashingScheme);

Review comment:
       Can we maybe share the configurations between the source and the sink?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;
+                        }
+
+                        @Override
+                        public UserCodeClassLoader getUserCodeClassLoader() {
+                            return userCodeClassLoader;
+                        }
+                    });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        if (deliveryGuarantee == EXACTLY_ONCE) {
+            this.delivery = new ExactlyOnceDelivery(sinkConfiguration, this::getPulsarClient);
+        } else {
+            this.delivery = new AtLeastOnceDelivery();
+        }
+        closer.register(delivery);
+        this.sendCallback =
+                initializeSendCallback(sinkConfiguration, sinkInitContext.getMailboxExecutor());
+    }
+
+    @Override
+    public void write(IN value, Context context) throws IOException {
+        String topic = topicSelector.selector(value);
+        TypedMessageBuilder messageBuilder = delivery.newMessage(getProducer(topic));
+        serializationSchema.serialize(value, messageBuilder);
+
+        CompletableFuture<MessageId> messageIdFuture = messageBuilder.sendAsync();
+        pendingRecords.incrementAndGet();
+        futures.add(messageIdFuture);
+        messageIdFuture.whenComplete(sendCallback);
+    }
+
+    public void initializeState(List<PulsarWriterState> states) throws IOException {
+        checkNotNull(states, "The retrieved state was null.");
+        for (PulsarWriterState state : states) {
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Restoring: {}", state);
+            }
+        }
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> prepareCommit(boolean flush) throws IOException {
+        if (!flush) {
+            return Collections.emptyList();
+        }
+        producerFlush();
+        List<PulsarSinkCommittable> committables = delivery.prepareCommit(flush);
+        LOG.debug("Committing {} committables, final commit={}.", committables, flush);
+        return committables;
+    }
+
+    @Override
+    public List<PulsarWriterState> snapshotState(long checkpointId) throws IOException {
+        return delivery.snapshotState(checkpointId);
+    }
+
+    @Override
+    public void close() throws Exception {
+        producerFlush();
+        closer.close();
+    }
+
+    public void producerFlush() throws IOException {

Review comment:
       private?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;

Review comment:
       final

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;
+                        }
+
+                        @Override
+                        public UserCodeClassLoader getUserCodeClassLoader() {
+                            return userCodeClassLoader;
+                        }
+                    });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        if (deliveryGuarantee == EXACTLY_ONCE) {
+            this.delivery = new ExactlyOnceDelivery(sinkConfiguration, this::getPulsarClient);
+        } else {
+            this.delivery = new AtLeastOnceDelivery();
+        }
+        closer.register(delivery);
+        this.sendCallback =
+                initializeSendCallback(sinkConfiguration, sinkInitContext.getMailboxExecutor());
+    }
+
+    @Override
+    public void write(IN value, Context context) throws IOException {
+        String topic = topicSelector.selector(value);
+        TypedMessageBuilder messageBuilder = delivery.newMessage(getProducer(topic));
+        serializationSchema.serialize(value, messageBuilder);
+
+        CompletableFuture<MessageId> messageIdFuture = messageBuilder.sendAsync();
+        pendingRecords.incrementAndGet();
+        futures.add(messageIdFuture);
+        messageIdFuture.whenComplete(sendCallback);
+    }
+
+    public void initializeState(List<PulsarWriterState> states) throws IOException {
+        checkNotNull(states, "The retrieved state was null.");
+        for (PulsarWriterState state : states) {
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Restoring: {}", state);
+            }
+        }
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> prepareCommit(boolean flush) throws IOException {
+        if (!flush) {
+            return Collections.emptyList();
+        }
+        producerFlush();
+        List<PulsarSinkCommittable> committables = delivery.prepareCommit(flush);
+        LOG.debug("Committing {} committables, final commit={}.", committables, flush);
+        return committables;
+    }
+
+    @Override
+    public List<PulsarWriterState> snapshotState(long checkpointId) throws IOException {
+        return delivery.snapshotState(checkpointId);
+    }
+
+    @Override
+    public void close() throws Exception {
+        producerFlush();
+        closer.close();
+    }
+
+    public void producerFlush() throws IOException {
+        for (Producer<?> p : topic2Producer.values()) {
+            p.flush();
+        }
+
+        for (CompletableFuture<MessageId> completableFuture : futures) {
+            try {
+                completableFuture.get();
+            } catch (InterruptedException e) {
+                throw new RuntimeException(e);
+            } catch (ExecutionException e) {
+                throw new RuntimeException(e);
+            }
+        }
+        futures.clear();
+
+        if (pendingRecords.get() > 0) {
+            throw new RuntimeException("The message could not be sent");
+        }
+    }
+
+    // ------------------------------internal method------------------------------
+
+    private synchronized PulsarClientImpl getPulsarClient() {
+        if (pulsarClient != null) {
+            return pulsarClient;
+        }
+        pulsarClient = (PulsarClientImpl) PulsarConfigUtils.createClient(configuration);
+        closer.register(pulsarClient);
+        return pulsarClient;
+    }
+
+    protected Producer<?> getProducer(String topic) throws PulsarClientException {

Review comment:
       Why protected?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;
+                        }
+
+                        @Override
+                        public UserCodeClassLoader getUserCodeClassLoader() {
+                            return userCodeClassLoader;
+                        }
+                    });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        if (deliveryGuarantee == EXACTLY_ONCE) {
+            this.delivery = new ExactlyOnceDelivery(sinkConfiguration, this::getPulsarClient);
+        } else {
+            this.delivery = new AtLeastOnceDelivery();
+        }
+        closer.register(delivery);
+        this.sendCallback =
+                initializeSendCallback(sinkConfiguration, sinkInitContext.getMailboxExecutor());
+    }
+
+    @Override
+    public void write(IN value, Context context) throws IOException {
+        String topic = topicSelector.selector(value);
+        TypedMessageBuilder messageBuilder = delivery.newMessage(getProducer(topic));
+        serializationSchema.serialize(value, messageBuilder);
+
+        CompletableFuture<MessageId> messageIdFuture = messageBuilder.sendAsync();
+        pendingRecords.incrementAndGet();
+        futures.add(messageIdFuture);
+        messageIdFuture.whenComplete(sendCallback);
+    }
+
+    public void initializeState(List<PulsarWriterState> states) throws IOException {
+        checkNotNull(states, "The retrieved state was null.");
+        for (PulsarWriterState state : states) {
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Restoring: {}", state);

Review comment:
       This feels incomplete

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;
+                        }
+
+                        @Override
+                        public UserCodeClassLoader getUserCodeClassLoader() {
+                            return userCodeClassLoader;
+                        }
+                    });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        if (deliveryGuarantee == EXACTLY_ONCE) {
+            this.delivery = new ExactlyOnceDelivery(sinkConfiguration, this::getPulsarClient);
+        } else {
+            this.delivery = new AtLeastOnceDelivery();
+        }
+        closer.register(delivery);
+        this.sendCallback =
+                initializeSendCallback(sinkConfiguration, sinkInitContext.getMailboxExecutor());
+    }
+
+    @Override
+    public void write(IN value, Context context) throws IOException {
+        String topic = topicSelector.selector(value);
+        TypedMessageBuilder messageBuilder = delivery.newMessage(getProducer(topic));
+        serializationSchema.serialize(value, messageBuilder);
+
+        CompletableFuture<MessageId> messageIdFuture = messageBuilder.sendAsync();
+        pendingRecords.incrementAndGet();
+        futures.add(messageIdFuture);
+        messageIdFuture.whenComplete(sendCallback);

Review comment:
       Please take look at the `AsyncSinkWriter` how it uses the mailbox to enqueue asynchronous tasks. By using the mailbox you can get rid of all the manual synchronization because the mailbox executes the writer and you callbacks in the same thread.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/config/SinkConfiguration.java
##########
@@ -0,0 +1,59 @@
+/*
+ * 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.flink.connector.pulsar.sink.config;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.configuration.Configuration;
+
+import java.io.Serializable;
+
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_FAIL_ON_WRITE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TRANSACTION_TIMEOUT_MILLIS;
+
+/** The configure class for pulsar sink. */
+@PublicEvolving
+public class SinkConfiguration implements Serializable {

Review comment:
       You can probably also remote this class completely and only pass the `failOnWrite` and `transactionTimeout` to the downstream class.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,311 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils;
+import org.apache.flink.connector.pulsar.common.schema.IncompatibleSchemaException;
+import org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSinkCommittable;
+import org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.AtLeastOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.Delivery;
+import org.apache.flink.connector.pulsar.sink.writer.delivery.ExactlyOnceDelivery;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.metrics.MetricGroup;
+import org.apache.flink.util.ExceptionUtils;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.UserCodeClassLoader;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.client.api.Message;
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.MessageRouter;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClientException;
+import org.apache.pulsar.client.api.TopicMetadata;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiConsumer;
+
+import static org.apache.flink.connector.base.DeliveryGuarantee.EXACTLY_ONCE;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * a pulsar SinkWriter implement.
+ *
+ * @param <IN> record data type.
+ */
+@Internal
+public class PulsarWriter<IN> implements SinkWriter<IN, PulsarSinkCommittable, PulsarWriterState> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private transient Map<String, Producer<?>> topic2Producer;
+
+    private transient PulsarAdmin admin;
+
+    private transient BiConsumer<MessageId, Throwable> sendCallback;
+    private final AtomicLong pendingRecords = new AtomicLong();
+    //    private ConcurrentHashMap<TxnID, List<MessageId>> tid2MessagesMap;
+    //
+    //    private ConcurrentHashMap<TxnID, List<CompletableFuture<MessageId>>> tid2FuturesMap;
+
+    //    private Transaction currentTransaction;
+
+    private List<CompletableFuture<MessageId>> futures;
+    //    private ConcurrentHashMap<PulsarWriterState, List<CompletableFuture<MessageId>>>
+    // tid2FuturesMap;
+    // ---------------- //
+    private final Configuration configuration;
+    private final SinkConfiguration sinkConfiguration;
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+
+    private final PartitionSelector<IN> partitionSelector;
+    private final UserCodeClassLoader userCodeClassLoader;
+
+    private final Delivery delivery;
+
+    private transient PulsarClientImpl pulsarClient;
+
+    private final Closer closer = Closer.create();
+
+    public PulsarWriter(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration,
+            Sink.InitContext sinkInitContext) {
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.sinkConfiguration = new SinkConfiguration(configuration);
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+        this.userCodeClassLoader = sinkInitContext.getUserCodeClassLoader();
+        this.topic2Producer = new HashMap<>();
+
+        this.futures = Collections.synchronizedList(new ArrayList<>());
+        try {
+            admin = PulsarConfigUtils.createAdmin(configuration);
+            closer.register(admin);
+            serializationSchema.open(
+                    new SerializationSchema.InitializationContext() {
+                        @Override
+                        public MetricGroup getMetricGroup() {
+                            return null;
+                        }
+
+                        @Override
+                        public UserCodeClassLoader getUserCodeClassLoader() {
+                            return userCodeClassLoader;
+                        }
+                    });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        if (deliveryGuarantee == EXACTLY_ONCE) {
+            this.delivery = new ExactlyOnceDelivery(sinkConfiguration, this::getPulsarClient);
+        } else {
+            this.delivery = new AtLeastOnceDelivery();
+        }
+        closer.register(delivery);
+        this.sendCallback =
+                initializeSendCallback(sinkConfiguration, sinkInitContext.getMailboxExecutor());
+    }
+
+    @Override
+    public void write(IN value, Context context) throws IOException {
+        String topic = topicSelector.selector(value);
+        TypedMessageBuilder messageBuilder = delivery.newMessage(getProducer(topic));
+        serializationSchema.serialize(value, messageBuilder);
+
+        CompletableFuture<MessageId> messageIdFuture = messageBuilder.sendAsync();
+        pendingRecords.incrementAndGet();
+        futures.add(messageIdFuture);
+        messageIdFuture.whenComplete(sendCallback);
+    }
+
+    public void initializeState(List<PulsarWriterState> states) throws IOException {
+        checkNotNull(states, "The retrieved state was null.");
+        for (PulsarWriterState state : states) {
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Restoring: {}", state);
+            }
+        }
+    }
+
+    @Override
+    public List<PulsarSinkCommittable> prepareCommit(boolean flush) throws IOException {
+        if (!flush) {
+            return Collections.emptyList();
+        }
+        producerFlush();
+        List<PulsarSinkCommittable> committables = delivery.prepareCommit(flush);
+        LOG.debug("Committing {} committables, final commit={}.", committables, flush);
+        return committables;
+    }
+
+    @Override
+    public List<PulsarWriterState> snapshotState(long checkpointId) throws IOException {
+        return delivery.snapshotState(checkpointId);
+    }
+
+    @Override
+    public void close() throws Exception {
+        producerFlush();
+        closer.close();
+    }
+
+    public void producerFlush() throws IOException {
+        for (Producer<?> p : topic2Producer.values()) {
+            p.flush();
+        }
+
+        for (CompletableFuture<MessageId> completableFuture : futures) {
+            try {
+                completableFuture.get();
+            } catch (InterruptedException e) {
+                throw new RuntimeException(e);
+            } catch (ExecutionException e) {
+                throw new RuntimeException(e);
+            }
+        }
+        futures.clear();
+
+        if (pendingRecords.get() > 0) {
+            throw new RuntimeException("The message could not be sent");
+        }
+    }
+
+    // ------------------------------internal method------------------------------
+
+    private synchronized PulsarClientImpl getPulsarClient() {
+        if (pulsarClient != null) {
+            return pulsarClient;
+        }
+        pulsarClient = (PulsarClientImpl) PulsarConfigUtils.createClient(configuration);
+        closer.register(pulsarClient);
+        return pulsarClient;
+    }
+
+    protected Producer<?> getProducer(String topic) throws PulsarClientException {
+        Producer<?> producer = topic2Producer.get(topic);
+        if (producer != null && producer.isConnected()) {
+            return producer;
+        }
+
+        final ProducerBuilder<?> producerBuilder =
+                PulsarSinkConfigUtils.createProducerBuilder(
+                        getPulsarClient(), serializationSchema.getSchema(), configuration);
+        producerBuilder.topic(topic);
+
+        if (partitionSelector != null) {
+            producerBuilder.messageRouter(generateMessageRouter());
+        }
+        producer = producerBuilder.create();
+        closer.register(producer);
+        uploadSchema(topic);
+        topic2Producer.put(topic, producer);
+        return producer;
+    }
+
+    @SuppressWarnings("unchecked")
+    private MessageRouter generateMessageRouter() {
+        return new MessageRouter() {
+            @Override
+            public int choosePartition(Message<?> msg, TopicMetadata metadata) {
+                return partitionSelector.select(
+                        (Message<IN>) msg,
+                        new org.apache.flink.connector.pulsar.sink.writer.selector.TopicMetadata(
+                                metadata.numPartitions()));
+            }
+        };
+    }
+
+    protected BiConsumer<MessageId, Throwable> initializeSendCallback(

Review comment:
       protected?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] nlu90 commented on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
nlu90 commented on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-959841631






-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a9c278120fed2705c20d511b70f291a4bc47295f Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110) 
   * fbf3e131f0105301f78348e732856692b5c7827c Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192) 
   * e9d840492248bc5dfd549a01c5d7b3ef6ef54618 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * b84065861ec8af6e9f35ffdc548ce3203a21534e Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 73c9d94b434c6084f7307019ed55759ade49d738 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663) 
   * c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794) 
   * 68b185ec99cc4db97323f2b5b09b4d17e09ac80d UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r805870452



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/serializer/PulsarSerializationSchema.java
##########
@@ -0,0 +1,184 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.serializer;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext;
+import org.apache.flink.connector.pulsar.common.schema.PulsarSchema;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+
+import org.apache.pulsar.client.api.Schema;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.common.schema.KeyValue;
+
+import java.io.Serializable;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * The serialization schema for how to serialize record into Pulsar.
+ *
+ * @param <IN> The message type send to Pulsar.
+ */
+@PublicEvolving
+public interface PulsarSerializationSchema<IN> extends Serializable {
+
+    /**
+     * Initialization method for the schema. It is called before the actual working methods {@link
+     * #serialize(Object)} and thus suitable for one time setup work.
+     *
+     * <p>The provided {@link InitializationContext} can be used to access additional features such
+     * as e.g. registering user metrics.
+     *
+     * @param initializationContext Contextual information that can be used during initialization.
+     * @param sinkContext runtime information i.e. partitions, subtaskId
+     * @param sinkConfiguration All the configure options for Pulsar sink. You can add custom
+     *     options.
+     */
+    default void open(
+            InitializationContext initializationContext,
+            PulsarSinkContext sinkContext,
+            SinkConfiguration sinkConfiguration)
+            throws Exception {}
+
+    /**
+     * Serializes given element into bytes. Property {@link TypedMessageBuilder#value(Object)}.
+     *
+     * @param element element to be serialized
+     */
+    byte[] serialize(IN element);
+
+    /**
+     * Property {@link TypedMessageBuilder#orderingKey(byte[])}.
+     *
+     * @param element element to be serialized
+     * @param sinkContext context to provide extra information.
+     */
+    default byte[] orderingKey(IN element, PulsarSinkContext sinkContext) {
+        return new byte[0];
+    }
+
+    /**
+     * Property {@link TypedMessageBuilder#key(String)}.
+     *
+     * @param element element to be serialized
+     * @param sinkContext context to provide extra information.
+     */
+    default String key(IN element, PulsarSinkContext sinkContext) {
+        return null;
+    }
+
+    /**
+     * Property {@link TypedMessageBuilder#properties(Map)}.
+     *
+     * @param element element to be serialized
+     * @param sinkContext context to provide extra information.
+     */
+    default Map<String, String> properties(IN element, PulsarSinkContext sinkContext) {
+        return Collections.emptyMap();
+    }
+
+    /**
+     * Property {@link TypedMessageBuilder#eventTime(long)}. This value could be nullable if the
+     * element don't have a timestamp.
+     *
+     * @param element element to be serialized
+     * @param sinkContext context to provide extra information.
+     */
+    default Long eventTime(IN element, PulsarSinkContext sinkContext) {
+        return sinkContext.timestamp();
+    }
+
+    /**
+     * Property {@link TypedMessageBuilder#replicationClusters(List)}.
+     *
+     * @param element element to be serialized
+     * @param sinkContext context to provide extra information.
+     */
+    default List<String> replicationClusters(IN element, PulsarSinkContext sinkContext) {
+        return Collections.emptyList();
+    }
+
+    /**
+     * Property {@link TypedMessageBuilder#disableReplication()}.
+     *
+     * @param element element to be serialized
+     * @param sinkContext context to provide extra information.
+     */
+    default boolean disableReplication(IN element, PulsarSinkContext sinkContext) {
+        return false;
+    }
+
+    /** @return The related Pulsar Schema for this serializer. */
+    default Schema<IN> schema() {
+        throw new UnsupportedOperationException(
+                "Implement this method if you need Pulsar schema evolution.");
+    }
+
+    /**
+     * Create a PulsarSerializationSchema by using the flink's {@link SerializationSchema}. It would
+     * consume the pulsar message as byte array and decode the message by using flink's logic.
+     */
+    static <T> PulsarSerializationSchema<T> flinkSchema(

Review comment:
       We just use this naming for keeping it consistent with the naming in `PulsarDeserializationSchema`. Users who are familiar with the Pulsar source can easily find what they need.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217






-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a49364d47478c98f43f95d9b58b699da6da6d433 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349) 
   * 0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484) 
   * b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507",
       "triggerID" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "triggerType" : "PUSH"
     }, {
       "hash" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532",
       "triggerID" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "triggerType" : "PUSH"
     }, {
       "hash" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31539",
       "triggerID" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a4bb0c45b5b8278391087ecfea66790bd08293af",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31548",
       "triggerID" : "a4bb0c45b5b8278391087ecfea66790bd08293af",
       "triggerType" : "PUSH"
     }, {
       "hash" : "26013d5b1c83f686757bb46a2dd3fe126044612a",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31557",
       "triggerID" : "26013d5b1c83f686757bb46a2dd3fe126044612a",
       "triggerType" : "PUSH"
     }, {
       "hash" : "38e9475b405df3004c00b216fe2edf552cb8c029",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31569",
       "triggerID" : "38e9475b405df3004c00b216fe2edf552cb8c029",
       "triggerType" : "PUSH"
     }, {
       "hash" : "05023f3a4797bc482c773722fab5d90b4fc4d102",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31597",
       "triggerID" : "05023f3a4797bc482c773722fab5d90b4fc4d102",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a24b9c4537e17aac170568bbbc4f8dc5b2c794df",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "a24b9c4537e17aac170568bbbc4f8dc5b2c794df",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 38e9475b405df3004c00b216fe2edf552cb8c029 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31569) 
   * 05023f3a4797bc482c773722fab5d90b4fc4d102 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31597) 
   * a24b9c4537e17aac170568bbbc4f8dc5b2c794df UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a49364d47478c98f43f95d9b58b699da6da6d433 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349) 
   * 0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484) 
   * b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495) 
   * 8cc9d45130f50e1af9040850a825a092e728dece UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507",
       "triggerID" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "triggerType" : "PUSH"
     }, {
       "hash" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532",
       "triggerID" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "triggerType" : "PUSH"
     }, {
       "hash" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495) 
   * 8cc9d45130f50e1af9040850a825a092e728dece Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507) 
   * cb193056896ffd7823d5155acb8dfa271b7656db Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532) 
   * eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507",
       "triggerID" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "triggerType" : "PUSH"
     }, {
       "hash" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532",
       "triggerID" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495) 
   * 8cc9d45130f50e1af9040850a825a092e728dece Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507) 
   * cb193056896ffd7823d5155acb8dfa271b7656db Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507",
       "triggerID" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "triggerType" : "PUSH"
     }, {
       "hash" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532",
       "triggerID" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "triggerType" : "PUSH"
     }, {
       "hash" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31539",
       "triggerID" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a4bb0c45b5b8278391087ecfea66790bd08293af",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31548",
       "triggerID" : "a4bb0c45b5b8278391087ecfea66790bd08293af",
       "triggerType" : "PUSH"
     }, {
       "hash" : "26013d5b1c83f686757bb46a2dd3fe126044612a",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31557",
       "triggerID" : "26013d5b1c83f686757bb46a2dd3fe126044612a",
       "triggerType" : "PUSH"
     }, {
       "hash" : "38e9475b405df3004c00b216fe2edf552cb8c029",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31569",
       "triggerID" : "38e9475b405df3004c00b216fe2edf552cb8c029",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 38e9475b405df3004c00b216fe2edf552cb8c029 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31569) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "cbe30d48f2df59f78de1b9adfd166a77f57c92c6",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "cbe30d48f2df59f78de1b9adfd166a77f57c92c6",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463) 
   * 067d456df50b5cd5889cfa299b6b81b4da172626 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485) 
   * cbe30d48f2df59f78de1b9adfd166a77f57c92c6 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463) 
   * 067d456df50b5cd5889cfa299b6b81b4da172626 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0e55b5a359ccfa668aa9c783be63962c61ad0d13 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488) 
   * 7b0ea669fc400027e3ec31c28f5c8d93af9e5795 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571) 
   * 0c8c26e1f9b39c058f39ae6d0caa23f04518e835 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584) 
   * f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "cbe30d48f2df59f78de1b9adfd166a77f57c92c6",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "cbe30d48f2df59f78de1b9adfd166a77f57c92c6",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463) 
   * 067d456df50b5cd5889cfa299b6b81b4da172626 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485) 
   * cbe30d48f2df59f78de1b9adfd166a77f57c92c6 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590) 
   * 3bdbb660a027c49a1fed5c8b77ccf5174c16c85d Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599) 
   * 6854b5ae7209cd2edc56ac525f462292f85efd9c UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 5b79cd362aaca74e6c40b6806b45583aebf71fd3 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861) 
   * ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * c8820e335d23677ffb548b0d1fa8771fa7c1bce1 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965) 
   * bf9ffe09e2eec6f03c9c1c5f18cf95b323088549 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075) 
   * bbf72ae73592bd646c44296a59ef70d3eb614701 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217






-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r791013062



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/config/SinkConfiguration.java
##########
@@ -0,0 +1,59 @@
+/*
+ * 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.flink.connector.pulsar.sink.config;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.configuration.Configuration;
+
+import java.io.Serializable;
+
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_FAIL_ON_WRITE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TRANSACTION_TIMEOUT_MILLIS;
+
+/** The configure class for pulsar sink. */
+@PublicEvolving
+public class SinkConfiguration implements Serializable {

Review comment:
       I merged this class with `Configuration`. I think we can still keep this class.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * c8820e335d23677ffb548b0d1fa8771fa7c1bce1 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965) 
   * bf9ffe09e2eec6f03c9c1c5f18cf95b323088549 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075) 
   * bbf72ae73592bd646c44296a59ef70d3eb614701 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086) 
   * 59f46a383a5cca968faf82f8c260217649a6f825 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     } ]
   }-->
   ## CI report:
   
   * f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     } ]
   }-->
   ## CI report:
   
   * 43ffad7e2cbbb990ea6c1008a804986b844aa639 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "",
       "status" : "CANCELED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 43ffad7e2cbbb990ea6c1008a804986b844aa639 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961) 
   *  Unknown: [CANCELED](TBD) 
   * 7a74987d989f699bc68c2da8e0cd9bf3fa8065a6 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a49364d47478c98f43f95d9b58b699da6da6d433 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349) 
   * 0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507",
       "triggerID" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "triggerType" : "PUSH"
     }, {
       "hash" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532",
       "triggerID" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "triggerType" : "PUSH"
     }, {
       "hash" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31539",
       "triggerID" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a4bb0c45b5b8278391087ecfea66790bd08293af",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31548",
       "triggerID" : "a4bb0c45b5b8278391087ecfea66790bd08293af",
       "triggerType" : "PUSH"
     }, {
       "hash" : "26013d5b1c83f686757bb46a2dd3fe126044612a",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31557",
       "triggerID" : "26013d5b1c83f686757bb46a2dd3fe126044612a",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 8cc9d45130f50e1af9040850a825a092e728dece Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507) 
   * cb193056896ffd7823d5155acb8dfa271b7656db Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532) 
   * eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31539) 
   * a4bb0c45b5b8278391087ecfea66790bd08293af Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31548) 
   * 26013d5b1c83f686757bb46a2dd3fe126044612a Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31557) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r805879925



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,237 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.operators.ProcessingTimeService;
+import org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext;
+import org.apache.flink.api.connector.sink2.Sink.InitContext;
+import org.apache.flink.api.connector.sink2.TwoPhaseCommittingSink.PrecommittingSinkWriter;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommittable;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContextAdapter;
+import org.apache.flink.connector.pulsar.sink.writer.router.TopicRouter;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.BytesSchema;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicMetadataListener;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicProducerRegister;
+import org.apache.flink.util.FlinkRuntimeException;
+
+import org.apache.flink.shaded.guava30.com.google.common.base.Strings;
+
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.Schema;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.Semaphore;
+
+import static java.util.Collections.emptyList;
+import static org.apache.flink.util.IOUtils.closeAll;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * This class is responsible to write records in a Pulsar topic and to handle the different delivery
+ * {@link DeliveryGuarantee}s.
+ *
+ * @param <IN> The type of the input elements.
+ */
+@Internal
+public class PulsarWriter<IN> implements PrecommittingSinkWriter<IN, PulsarCommittable> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private final SinkConfiguration sinkConfiguration;
+    private final PulsarSerializationSchema<IN> serializationSchema;
+    private final TopicMetadataListener metadataListener;
+    private final TopicRouter<IN> topicRouter;
+    private final Schema<IN> schema;
+    private final DeliveryGuarantee deliveryGuarantee;
+    private final PulsarSinkContextAdapter sinkContextAdapter;
+    private final MailboxExecutor mailboxExecutor;
+    private final TopicProducerRegister<IN> producerRegister;
+    private final Semaphore pendingMessages;
+
+    /**
+     * Constructor creating a Pulsar writer.
+     *
+     * <p>It will throw a {@link RuntimeException} if {@link
+     * PulsarSerializationSchema#open(InitializationContext, PulsarSinkContext, SinkConfiguration)}
+     * fails.
+     *
+     * @param sinkConfiguration the configuration to configure the Pulsar producer.
+     * @param serializationSchema transform the incoming records into different message properties.
+     * @param metadataListener the listener for querying topic metadata.
+     * @param topicRouter topic router to choose topic by incoming records.
+     * @param initContext context to provide information about the runtime environment.
+     */
+    public PulsarWriter(
+            SinkConfiguration sinkConfiguration,
+            PulsarSerializationSchema<IN> serializationSchema,
+            TopicMetadataListener metadataListener,
+            TopicRouter<IN> topicRouter,
+            InitContext initContext) {
+        this.sinkConfiguration = checkNotNull(sinkConfiguration);
+        this.serializationSchema = checkNotNull(serializationSchema);
+        this.metadataListener = checkNotNull(metadataListener);
+        this.topicRouter = checkNotNull(topicRouter);
+        checkNotNull(initContext);
+
+        if (sinkConfiguration.isEnableSchemaEvolution()) {
+            this.schema = serializationSchema.schema();
+        } else {
+            this.schema = new BytesSchema<>(serializationSchema);
+        }
+
+        this.deliveryGuarantee = sinkConfiguration.getDeliveryGuarantee();
+        this.sinkContextAdapter = new PulsarSinkContextAdapter(initContext, sinkConfiguration);
+        this.mailboxExecutor = initContext.getMailboxExecutor();
+
+        // Initialize topic metadata listener.
+        LOG.debug("Initialize topic metadata after creating Pulsar writer.");
+        ProcessingTimeService timeService = initContext.getProcessingTimeService();
+        this.metadataListener.open(sinkConfiguration, timeService);
+
+        // Initialize topic router.
+        this.topicRouter.open(sinkConfiguration);
+
+        // Initialize the serialization schema.
+        try {
+            InitializationContext initializationContext =
+                    initContext.asSerializationSchemaInitializationContext();
+            this.serializationSchema.open(
+                    initializationContext, sinkContextAdapter, sinkConfiguration);
+        } catch (Exception e) {
+            throw new FlinkRuntimeException("Cannot initialize schema.", e);
+        }
+
+        // Create this producer register after opening serialization schema!
+        this.producerRegister = new TopicProducerRegister<>(sinkConfiguration);
+        this.pendingMessages = new Semaphore(sinkConfiguration.getMaxPendingMessages());
+    }
+
+    @Override
+    public void write(IN element, Context context) throws IOException, InterruptedException {
+        // Serialize the incoming element.
+        sinkContextAdapter.updateTimestamp(context);
+
+        // Choose the right topic to send.
+        List<String> availableTopics = metadataListener.availableTopics();
+        String topic = topicRouter.route(element, availableTopics, sinkContextAdapter);
+
+        // Create message builder for sending message.
+        TypedMessageBuilder<IN> builder = createMessageBuilder(topic, element, sinkContextAdapter);
+
+        // Perform message sending.
+        if (deliveryGuarantee == DeliveryGuarantee.NONE) {
+            // We would just ignore the sending exception. This may cause data loss.
+            builder.sendAsync();
+        } else {
+            // Waiting for permits to write message.
+            pendingMessages.acquire();
+            CompletableFuture<MessageId> sender = builder.sendAsync();
+            sender.whenComplete(
+                    (id, ex) -> {
+                        pendingMessages.release();
+                        if (ex != null) {
+                            mailboxExecutor.execute(
+                                    () -> {
+                                        throw new FlinkRuntimeException(
+                                                "Failed to send data to Pulsar " + topic, ex);
+                                    },
+                                    "Failed to send message to Pulsar");
+                        } else {
+                            LOG.debug("Sent message to Pulsar {} with message id {}", topic, id);
+                        }
+                    });
+        }
+    }
+
+    private TypedMessageBuilder<IN> createMessageBuilder(
+            String topic, IN element, PulsarSinkContextAdapter context) {
+        TypedMessageBuilder<IN> builder =
+                producerRegister.createMessageBuilder(topic, element, schema);
+
+        byte[] orderingKey = serializationSchema.orderingKey(element, context);
+        if (orderingKey != null) {
+            builder.orderingKey(orderingKey);
+        }
+
+        String key = serializationSchema.key(element, context);
+        if (!Strings.isNullOrEmpty(key)) {
+            builder.key(key);
+        }
+
+        Map<String, String> properties = serializationSchema.properties(element, context);
+        if (properties != null) {
+            builder.properties(properties);
+        }
+
+        Long timestamp = serializationSchema.eventTime(element, context);
+        if (timestamp != null) {
+            builder.eventTime(timestamp);
+        }
+
+        List<String> clusters = serializationSchema.replicationClusters(element, context);
+        if (clusters != null) {
+            builder.replicationClusters(clusters);
+        }
+
+        if (serializationSchema.disableReplication(element, context)) {
+            builder.disableReplication();
+        }
+
+        return builder;
+    }
+
+    @Override
+    public void flush(boolean endOfInput) throws IOException {
+        if (endOfInput) {
+            // Try flush only once when we meet the end of the input.
+            producerRegister.flush();
+        } else {
+            while (pendingMessages.availablePermits() < sinkConfiguration.getMaxPendingMessages()) {

Review comment:
       Let me explain this in detail.
   
   `pendingMessages` is created by using `new Semaphore(sinkConfiguration.getMaxPendingMessages())`, the available permits would only be equal to or less than the maximum. We would block the message writing by `pendingMessages.acquire()` until we finally have a permit to write a message.
   
   We would trigger `flush(false)` before doing the checkpoint. The `pendingMessages.availablePermits() == sinkConfiguration.getMaxPendingMessages()` means that there is on pending message. Because we would return permits when the message writing is complete in the mailbox thread by `pendingMessages.release()`.
   
   I think the confusion for you is just that the `Semaphore` is not commonly used in Java. XD
   




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507",
       "triggerID" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484) 
   * b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495) 
   * 8cc9d45130f50e1af9040850a825a092e728dece Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] fapaul commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
fapaul commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r805944930



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/serializer/PulsarSerializationSchema.java
##########
@@ -0,0 +1,184 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.serializer;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext;
+import org.apache.flink.connector.pulsar.common.schema.PulsarSchema;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+
+import org.apache.pulsar.client.api.Schema;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.common.schema.KeyValue;
+
+import java.io.Serializable;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * The serialization schema for how to serialize record into Pulsar.
+ *
+ * @param <IN> The message type send to Pulsar.
+ */
+@PublicEvolving
+public interface PulsarSerializationSchema<IN> extends Serializable {
+
+    /**
+     * Initialization method for the schema. It is called before the actual working methods {@link
+     * #serialize(Object)} and thus suitable for one time setup work.
+     *
+     * <p>The provided {@link InitializationContext} can be used to access additional features such
+     * as e.g. registering user metrics.
+     *
+     * @param initializationContext Contextual information that can be used during initialization.
+     * @param sinkContext runtime information i.e. partitions, subtaskId
+     * @param sinkConfiguration All the configure options for Pulsar sink. You can add custom
+     *     options.
+     */
+    default void open(
+            InitializationContext initializationContext,
+            PulsarSinkContext sinkContext,
+            SinkConfiguration sinkConfiguration)
+            throws Exception {}
+
+    /**
+     * Serializes given element into bytes. Property {@link TypedMessageBuilder#value(Object)}.
+     *
+     * @param element element to be serialized
+     */
+    byte[] serialize(IN element);

Review comment:
       Wrapping sounds also like a good idea.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a49364d47478c98f43f95d9b58b699da6da6d433 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349) 
   * 0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484) 
   * b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495) 
   * 8cc9d45130f50e1af9040850a825a092e728dece UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * fbf3e131f0105301f78348e732856692b5c7827c Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192) 
   * e9d840492248bc5dfd549a01c5d7b3ef6ef54618 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * e9d840492248bc5dfd549a01c5d7b3ef6ef54618 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207) 
   * a49364d47478c98f43f95d9b58b699da6da6d433 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * e9d840492248bc5dfd549a01c5d7b3ef6ef54618 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 68b185ec99cc4db97323f2b5b09b4d17e09ac80d Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796) 
   * 50c4d3ae81692fd5d7fb1d07758da8cc0aca0234 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r799675166



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSink.java
##########
@@ -0,0 +1,134 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.connector.sink2.Committer;
+import org.apache.flink.api.connector.sink2.TwoPhaseCommittingSink;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommittable;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommittableSerializer;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommitter;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriter;
+import org.apache.flink.connector.pulsar.sink.writer.router.KeyHashTopicRouter;
+import org.apache.flink.connector.pulsar.sink.writer.router.RoundRobinTopicRouter;
+import org.apache.flink.connector.pulsar.sink.writer.router.TopicRouter;
+import org.apache.flink.connector.pulsar.sink.writer.router.TopicRoutingMode;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicMetadataListener;
+import org.apache.flink.core.io.SimpleVersionedSerializer;
+import org.apache.flink.util.function.SerializableFunction;
+
+/**
+ * The Sink implementation of Pulsar. Please use a {@link PulsarSinkBuilder} to construct a {@link
+ * PulsarSink}. The following example shows how to create a PulsarSink receiving records of {@code
+ * String} type.
+ *
+ * <pre>{@code
+ * PulsarSink<String> sink = PulsarSink.builder()
+ *      .setServiceUrl(operator().serviceUrl())
+ *      .setAdminUrl(operator().adminUrl())
+ *      .setTopic(topic)
+ *      .setSerializationSchema(PulsarSerializationSchema.pulsarSchema(Schema.STRING))
+ *      .build();
+ * }</pre>
+ *
+ * <p>The sink supports all delivery guarantees described by {@link DeliveryGuarantee}.
+ *
+ * <ul>
+ *   <li>{@link DeliveryGuarantee#NONE} does not provide any guarantees: messages may be lost in
+ *       case of issues on the Pulsar broker and messages may be duplicated in case of a Flink
+ *       failure.
+ *   <li>{@link DeliveryGuarantee#AT_LEAST_ONCE} the sink will wait for all outstanding records in
+ *       the Pulsar buffers to be acknowledged by the Pulsar producer on a checkpoint. No messages
+ *       will be lost in case of any issue with the Pulsar brokers but messages may be duplicated
+ *       when Flink restarts.
+ *   <li>{@link DeliveryGuarantee#EXACTLY_ONCE}: In this mode the PulsarSink will write all messages
+ *       in a Pulsar transaction that will be committed to Pulsar on a checkpoint. Thus, no
+ *       duplicates will be seen in case of a Flink restart. However, this delays record writing
+ *       effectively until a checkpoint is written, so adjust the checkpoint duration accordingly.
+ *       Additionally, it is highly recommended to tweak Pulsar transaction timeout (link) >>
+ *       maximum checkpoint duration + maximum restart duration or data loss may happen when Pulsar
+ *       expires an uncommitted transaction.
+ * </ul>
+ *
+ * <p>See {@link PulsarSinkBuilder} for more details.
+ *
+ * @param <IN> The input type of the sink.
+ */
+@PublicEvolving
+public class PulsarSink<IN> implements TwoPhaseCommittingSink<IN, PulsarCommittable> {
+    private static final long serialVersionUID = 4416714587951282119L;
+
+    private final SinkConfiguration sinkConfiguration;
+    private final PulsarSerializationSchema<IN> serializationSchema;
+    private final TopicMetadataListener metadataListener;
+    private final SerializableFunction<SinkConfiguration, TopicRouter<IN>> topicRouterProvider;
+
+    PulsarSink(
+            SinkConfiguration sinkConfiguration,
+            PulsarSerializationSchema<IN> serializationSchema,
+            TopicMetadataListener metadataListener,
+            TopicRoutingMode topicRoutingMode,
+            TopicRouter<IN> topicRouter) {
+        this.sinkConfiguration = sinkConfiguration;
+        this.serializationSchema = serializationSchema;
+        this.metadataListener = metadataListener;

Review comment:
       This is a package-private constructor and all the null check has been done in `PulsarSinkBuilder`. I don't think it really needs to add null check twice.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r799721320



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/topic/TopicProducerRegister.java
##########
@@ -0,0 +1,176 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.topic;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommittable;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.util.FlinkRuntimeException;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClient;
+import org.apache.pulsar.client.api.Schema;
+import org.apache.pulsar.client.api.transaction.Transaction;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClient;
+import org.apache.pulsar.client.api.transaction.TxnID;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.ConcurrentHashMap;
+
+import static org.apache.flink.connector.pulsar.common.config.PulsarClientFactory.createClient;
+import static org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils.sneakyClient;
+import static org.apache.flink.connector.pulsar.common.utils.PulsarTransactionUtils.createTransaction;
+import static org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils.createProducerBuilder;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * All the Pulsar Producer share the same Client, but self hold the queue for specified topic. So we
+ * have to create different instance for different topic.
+ */
+@Internal
+public class TopicProducerRegister implements Closeable {
+
+    private final PulsarClient pulsarClient;
+    private final SinkConfiguration sinkConfiguration;
+    private final Schema<?> schema;
+    private final ConcurrentHashMap<String, Producer<?>> producerRegister;
+    private final ConcurrentHashMap<String, Transaction> transactionRegister;
+
+    public TopicProducerRegister(
+            SinkConfiguration sinkConfiguration, PulsarSerializationSchema<?> serializationSchema) {
+        this.pulsarClient = createClient(sinkConfiguration);
+        this.sinkConfiguration = sinkConfiguration;
+        if (sinkConfiguration.isEnableSchemaEvolution()) {
+            // Use this schema would send it to Pulsar and perform validation.
+            this.schema = serializationSchema.schema();
+        } else {
+            // We would serialize message by flink's policy and send byte array to Pulsar.
+            this.schema = Schema.BYTES;
+        }
+        this.producerRegister = new ConcurrentHashMap<>();
+        this.transactionRegister = new ConcurrentHashMap<>();
+    }
+
+    /** Create or return the cached topic related producer. */
+    public Producer<?> getOrCreateProducer(String topic) {
+        return producerRegister.computeIfAbsent(
+                topic,
+                t -> {
+                    ProducerBuilder<?> builder =
+                            createProducerBuilder(pulsarClient, schema, sinkConfiguration);
+                    // Set the required topic name.
+                    builder.topic(t);
+                    return sneakyClient(builder::create);
+                });
+    }
+
+    /**
+     * Get the cached topic related transaction. Or create a new transaction after checkpointing.
+     */
+    public Transaction getOrCreateTransaction(String topic) {
+        return transactionRegister.computeIfAbsent(
+                topic,
+                t -> {
+                    long timeoutMillis = sinkConfiguration.getTransactionTimeoutMillis();
+                    return createTransaction(pulsarClient, timeoutMillis);
+                });
+    }
+
+    /** Abort the existed transactions. This method would be used when close PulsarWriter. */
+    private void abortTransactions() {
+        if (transactionRegister.isEmpty()) {
+            return;
+        }
+
+        TransactionCoordinatorClient coordinatorClient =
+                ((PulsarClientImpl) pulsarClient).getTcClient();
+        // This null check is used for making sure transaction is enabled in client.
+        checkNotNull(coordinatorClient);
+
+        try (Closer closer = Closer.create()) {
+            for (Transaction transaction : transactionRegister.values()) {
+                TxnID txnID = transaction.getTxnID();
+                closer.register(() -> coordinatorClient.abort(txnID));
+            }
+
+            clearTransactions();
+        } catch (IOException e) {
+            throw new FlinkRuntimeException(e);
+        }
+    }
+
+    /** Clean these transactions. All transactions should be passed to Pulsar committer. */
+    private void clearTransactions() {
+        // Clear the transactions, we would create new transaction when new message comes.
+        transactionRegister.clear();
+    }
+
+    /**
+     * Convert the transactions into committable list for Pulsar Committer. The transactions would
+     * be removed until flink triggering a checkpoint.
+     */
+    public List<PulsarCommittable> prepareCommit() {
+        List<PulsarCommittable> committables = new ArrayList<>(transactionRegister.size());
+        transactionRegister.forEach(
+                (topic, transaction) -> {
+                    TxnID txnID = transaction.getTxnID();
+                    PulsarCommittable committable = new PulsarCommittable(txnID, topic);
+                    committables.add(committable);
+                });
+
+        clearTransactions();
+        return committables;
+    }
+
+    /**
+     * Flush all the messages buffered in the client and wait until all messages have been
+     * successfully persisted.
+     */
+    public void flush() throws IOException {
+        for (Producer<?> producer : producerRegister.values()) {
+            producer.flush();
+        }
+    }
+
+    @Override
+    public void close() throws IOException {
+        try (Closer closer = Closer.create()) {
+            // Flush all the pending messages to Pulsar. This wouldn't cause exception.
+            closer.register(this::flush);
+
+            // Abort all the existed transactions.
+            closer.register(this::abortTransactions);

Review comment:
       They are totally not the same transactions. We would return all the pending transactions and clear them in `TopicProducerRegister` when executing `PulsarWriter#prepareCommit`. So the pending transactions in `TopicProducerRegister` only live if PulsarWriter and never be passed to `PulsarCommitter`.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r799689973



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/committer/PulsarCommitter.java
##########
@@ -0,0 +1,167 @@
+/*
+ * 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.flink.connector.pulsar.sink.committer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.connector.sink2.Committer;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.utils.PulsarTransactionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSink;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.util.FlinkRuntimeException;
+
+import org.apache.pulsar.client.api.PulsarClient;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClient;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException.CoordinatorNotFoundException;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException.InvalidTxnStatusException;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException.MetaStoreHandlerNotExistsException;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException.TransactionNotFoundException;
+import org.apache.pulsar.client.api.transaction.TxnID;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.Collection;
+
+import static org.apache.flink.connector.pulsar.common.config.PulsarClientFactory.createClient;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+import static org.apache.pulsar.common.naming.TopicName.TRANSACTION_COORDINATOR_ASSIGN;
+
+/**
+ * Committer implementation for {@link PulsarSink}.
+ *
+ * <p>The committer is responsible to finalize the Pulsar transactions by committing them.
+ */
+@Internal
+public class PulsarCommitter implements Committer<PulsarCommittable>, Closeable {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarCommitter.class);
+
+    private final SinkConfiguration sinkConfiguration;
+
+    private PulsarClient pulsarClient;
+    private TransactionCoordinatorClient coordinatorClient;
+
+    public PulsarCommitter(SinkConfiguration sinkConfiguration) {
+        this.sinkConfiguration = sinkConfiguration;
+    }
+
+    @Override
+    public void commit(Collection<CommitRequest<PulsarCommittable>> requests)
+            throws IOException, InterruptedException {
+        TransactionCoordinatorClient client = transactionCoordinatorClient();
+
+        for (CommitRequest<PulsarCommittable> request : requests) {
+            PulsarCommittable committable = request.getCommittable();
+            TxnID txnID = committable.getTxnID();
+            String topic = committable.getTopic();
+
+            LOG.debug("Start committing the Pulsar transaction {} for topic {}", txnID, topic);
+            try {
+                client.commit(txnID);
+            } catch (TransactionCoordinatorClientException e) {
+                // This is a known bug for Pulsar Transaction. We have to use instance of.
+                TransactionCoordinatorClientException ex = PulsarTransactionUtils.unwrap(e);
+                if (ex instanceof CoordinatorNotFoundException) {
+                    LOG.error(
+                            "We couldn't find the Transaction Coordinator from Pulsar broker {}. "
+                                    + "Check your broker configuration.",
+                            committable,
+                            ex);
+                    request.signalFailedWithKnownReason(ex);
+                } else if (ex instanceof InvalidTxnStatusException) {
+                    LOG.error(
+                            "Unable to commit transaction ({}) because it's in an invalid state. "
+                                    + "Most likely the transaction has been aborted for some reason. "
+                                    + "Please check the Pulsar broker logs for more details.",
+                            committable,
+                            ex);
+                    request.signalAlreadyCommitted();
+                } else if (ex instanceof TransactionNotFoundException) {
+                    if (request.getNumberOfRetries() == 0) {
+                        LOG.error(
+                                "Unable to commit transaction ({}) because it's not found on Pulsar broker. "
+                                        + "Most likely the checkpoint interval exceed the transaction timeout.",
+                                committable,
+                                ex);
+                        request.signalFailedWithKnownReason(ex);
+                    } else {
+                        request.signalAlreadyCommitted();

Review comment:
       This could happen when the network connecting issue occurs. Pulsar puts the request into a modified protobuf protocol and sends it through netty-based client async.
   
   The connection could timeout but the transaction has been submitted. Pulsar couldn't tell you this situation but returned a transaction not found error instead due to its simplified design. We have to think the transaction has been committed because this isn't the first submission.
   
   The only shortage for this handle is that Pulsar also returns transaction not found exception when the transaction is timeout, which is likely to lead to ambiguity. I have started a discussion with my teammates to see if we can better process this exception.
   
   I would add a warning log to this condition. We can just put this aside in a while.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] imaffe edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
imaffe edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-1033486400


   > > The only concern is my limited knowledge of Pulsar transactions. Maybe you can clarify the following scenarios.
   > > The job opens a transaction and sends records, now suddenly fails before the first checkpoint. The pipeline would restart and try to use the same transaction again. Do we generate duplicates in this case because the records are replayed?
   > > The job did a successful checkpoint and the transaction is moved to the committer. Before the committer can commit we write new records in the same transaction (I understood that we reuse the transaction for a topic). Does the committer now also commit the records that were received after the checkpoint?
   > 
   > The questions you ask couldn't happen on the Pulsar sink. Allow me to explain them in detail.
   > 
   > 1. PulsarWriter only implements `PrecommittingSinkWriter` which doesn't have any writer state. If the pipeline restarts without the first checkpoint. All the transactions would be omitted and we would create new transactions instead. The previous transactions are kept on Pulsar until they meet the timeout. The transaction is just a changelog-based system. Creating a lot of unused transactions is accepted.
   > 2. If the transactions are passed to Committer after successfully checkpoint on PulsarWriter. They can't be touched by PulsarWriter anymore. PulsarWriter clears its internal transaction register when calling `PulsarWriter#prepareCommit`.
   
   EDIT: I took another look, my original understanding was wrong.  Seems commit is not tight to checkpoints, it's controlled by the Flink.
   
   I have another question regarding the latency. If the transactions are committed on checkpoints only, let's say the checkpoint interval is 1min. And let's say the data volume is small, does that mean pulsar consumer won't be able to consume data produced by Pulsar Sink until the 1 minute interval passes (so the data sent within the 1 min is visible to consumers) ?
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 7b0ea669fc400027e3ec31c28f5c8d93af9e5795 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571) 
   * 0c8c26e1f9b39c058f39ae6d0caa23f04518e835 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 7b0ea669fc400027e3ec31c28f5c8d93af9e5795 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571) 
   * 0c8c26e1f9b39c058f39ae6d0caa23f04518e835 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584) 
   * f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463) 
   * 067d456df50b5cd5889cfa299b6b81b4da172626 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463) 
   * 067d456df50b5cd5889cfa299b6b81b4da172626 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590) 
   * 3bdbb660a027c49a1fed5c8b77ccf5174c16c85d Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 3bdbb660a027c49a1fed5c8b77ccf5174c16c85d Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599) 
   * 6854b5ae7209cd2edc56ac525f462292f85efd9c Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "48357d9d1cfb071f7c4c387594f284100b48e104",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "48357d9d1cfb071f7c4c387594f284100b48e104",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463) 
   * 067d456df50b5cd5889cfa299b6b81b4da172626 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485) 
   * 48357d9d1cfb071f7c4c387594f284100b48e104 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463) 
   * 067d456df50b5cd5889cfa299b6b81b4da172626 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590) 
   * 3bdbb660a027c49a1fed5c8b77ccf5174c16c85d Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 2b8ddde74cdbdff873706d34b993e808ef0ea6c5 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620) 
   * 40b7b444a0d0492677db15f5a841340e810ce0ff UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 40b7b444a0d0492677db15f5a841340e810ce0ff Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649) 
   * 73c9d94b434c6084f7307019ed55759ade49d738 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 73c9d94b434c6084f7307019ed55759ade49d738 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r791419782



##########
File path: flink-connectors/flink-connector-pulsar/pom.xml
##########
@@ -36,12 +36,14 @@ under the License.
 	<packaging>jar</packaging>
 
 	<properties>
-		<pulsar.version>2.8.0</pulsar.version>
+		<pulsar.version>2.9.1</pulsar.version>
 
 		<!-- Test Libraries -->
 		<protobuf-maven-plugin.version>0.6.1</protobuf-maven-plugin.version>
-		<commons-lang3.version>3.11</commons-lang3.version>
-		<grpc.version>1.33.0</grpc.version>
+		<pulsar-commons-lang3.version>3.11</pulsar-commons-lang3.version>
+		<pulsar-zookeeper.version>3.6.3</pulsar-zookeeper.version>

Review comment:
       Yep. They are required only for Pulsar Broker.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * bf9ffe09e2eec6f03c9c1c5f18cf95b323088549 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075) 
   * bbf72ae73592bd646c44296a59ef70d3eb614701 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086) 
   * 59f46a383a5cca968faf82f8c260217649a6f825 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r791421706



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/common/config/PulsarConfigUtils.java
##########
@@ -94,6 +100,11 @@ private PulsarConfigUtils() {
     public static PulsarClient createClient(Configuration configuration) {
         ClientBuilder builder = PulsarClient.builder();
 
+        // requestTimeoutMs don't have a setter method on ClientBuilder. We have to use low level
+        // setter method instead. So we put this at the beginning of the builder.
+        Integer requestTimeoutMs = configuration.get(PULSAR_REQUEST_TIMEOUT_MS);
+        builder.loadConf(singletonMap("requestTimeoutMs", requestTimeoutMs));

Review comment:
       This has been added to the document. It was generated by `flink-docs`.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r791011231



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/config/PulsarSinkConfigUtils.java
##########
@@ -0,0 +1,134 @@
+/*
+ * 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.flink.connector.pulsar.sink.config;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.configuration.ConfigOption;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.util.Preconditions;
+
+import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList;
+import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableSet;
+
+import org.apache.pulsar.client.api.Consumer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClient;
+import org.apache.pulsar.client.api.Schema;
+
+import java.util.List;
+import java.util.Set;
+
+import static java.util.concurrent.TimeUnit.MICROSECONDS;
+import static java.util.concurrent.TimeUnit.MILLISECONDS;
+import static org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils.setOptionValue;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_ADMIN_URL;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_AUTH_PARAMS;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_AUTH_PARAM_MAP;
+import static org.apache.flink.connector.pulsar.common.config.PulsarOptions.PULSAR_SERVICE_URL;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_BATCHING_ENABLED;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_BATCHING_MAX_MESSAGES;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_BATCHING_MAX_PUBLISH_DELAY_MICROS;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_BLOCK_IF_QUEUE_FULL;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_COMPRESSION_TYPE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_CRYPTO_FAILURE_ACTION;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_ENABLE_CHUNKING;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_HASHING_SCHEME;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MAX_PENDING_MESSAGES;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MAX_PENDING_MESSAGES_ACROSS_PARTITIONS;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_MESSAGE_ROUTING_MODE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_PRODUCER_NAME;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_SEND_TIMEOUT_MS;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TOPIC_NAME;
+
+/** Create source related {@link Consumer} and validate config. */
+@Internal
+public final class PulsarSinkConfigUtils {
+
+    private PulsarSinkConfigUtils() {
+        // No need to create instance.
+    }
+
+    private static final List<Set<ConfigOption<?>>> CONFLICT_SINK_OPTIONS =
+            ImmutableList.<Set<ConfigOption<?>>>builder()
+                    .add(ImmutableSet.of(PULSAR_AUTH_PARAMS, PULSAR_AUTH_PARAM_MAP))
+                    .build();
+
+    private static final Set<ConfigOption<?>> REQUIRED_SINK_OPTIONS =
+            ImmutableSet.<ConfigOption<?>>builder()
+                    .add(PULSAR_SERVICE_URL)
+                    .add(PULSAR_ADMIN_URL)
+                    .build();
+
+    /**
+     * Helper method for checking client related config options. We would validate:
+     *
+     * <ul>
+     *   <li>If user have provided the required client config options.
+     *   <li>If user have provided some conflict options.
+     * </ul>
+     */
+    public static void checkConfigurations(Configuration configuration) {
+        REQUIRED_SINK_OPTIONS.forEach(
+                option ->
+                        Preconditions.checkArgument(
+                                configuration.contains(option),
+                                "Config option %s is not provided for pulsar source.",
+                                option));
+
+        CONFLICT_SINK_OPTIONS.forEach(
+                options -> {
+                    long nums = options.stream().filter(configuration::contains).count();
+                    Preconditions.checkArgument(
+                            nums <= 1,
+                            "Conflict config options %s were provided, we only support one of them for creating pulsar source.",
+                            options);
+                });
+    }
+
+    /** Create a pulsar consumer builder by using the given Configuration. */
+    public static <T> ProducerBuilder<T> createProducerBuilder(
+            PulsarClient client, Schema<T> schema, Configuration configuration) {
+        ProducerBuilder<T> builder = client.newProducer(schema);
+
+        setOptionValue(configuration, PULSAR_TOPIC_NAME, builder::topic);
+        setOptionValue(configuration, PULSAR_PRODUCER_NAME, builder::producerName);
+        setOptionValue(
+                configuration,
+                PULSAR_SEND_TIMEOUT_MS,
+                v -> builder.sendTimeout(v.intValue(), MILLISECONDS));
+        setOptionValue(configuration, PULSAR_BLOCK_IF_QUEUE_FULL, builder::blockIfQueueFull);
+        setOptionValue(configuration, PULSAR_MAX_PENDING_MESSAGES, builder::maxPendingMessages);
+        setOptionValue(
+                configuration,
+                PULSAR_MAX_PENDING_MESSAGES_ACROSS_PARTITIONS,
+                builder::maxPendingMessagesAcrossPartitions);
+        setOptionValue(configuration, PULSAR_MESSAGE_ROUTING_MODE, builder::messageRoutingMode);
+        setOptionValue(configuration, PULSAR_HASHING_SCHEME, builder::hashingScheme);

Review comment:
       Yeah the shared configurations are defined in class `PulsarOptions`

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/config/SinkConfiguration.java
##########
@@ -0,0 +1,59 @@
+/*
+ * 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.flink.connector.pulsar.sink.config;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.configuration.Configuration;
+
+import java.io.Serializable;
+
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_FAIL_ON_WRITE;
+import static org.apache.flink.connector.pulsar.sink.PulsarSinkOptions.PULSAR_TRANSACTION_TIMEOUT_MILLIS;
+
+/** The configure class for pulsar sink. */
+@PublicEvolving
+public class SinkConfiguration implements Serializable {

Review comment:
       I merged this class with `Configuration`. I think we can still keep this class.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSink.java
##########
@@ -0,0 +1,121 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.api.connector.sink.GlobalCommitter;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommitter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterState;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterStateSerializer;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.core.io.SimpleVersionedSerializer;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * a pulsar Sink implement.
+ *
+ * @param <IN> record data type.
+ */
+@PublicEvolving
+public class PulsarSink<IN> implements Sink<IN, PulsarSinkCommittable, PulsarWriterState, Void> {
+
+    private final DeliveryGuarantee deliveryGuarantee;
+
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+    private final PartitionSelector<IN> partitionSelector;
+
+    private final Configuration configuration;
+
+    public PulsarSink(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration) {
+        this.deliveryGuarantee = deliveryGuarantee;
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+    }
+
+    /**
+     * Get a PulsarSinkBuilder to builder a {@link PulsarSink}.
+     *
+     * @return a Pulsar sink builder.
+     */
+    @SuppressWarnings("java:S4977")

Review comment:
       This is used to pass the `SonarLint`. Sonar thought this method shouldn't cover other type annotation. https://jira.sonarsource.com/browse/SONARJAVA-2961

##########
File path: flink-connectors/flink-connector-pulsar/pom.xml
##########
@@ -36,12 +36,14 @@ under the License.
 	<packaging>jar</packaging>
 
 	<properties>
-		<pulsar.version>2.8.0</pulsar.version>
+		<pulsar.version>2.9.1</pulsar.version>
 
 		<!-- Test Libraries -->
 		<protobuf-maven-plugin.version>0.6.1</protobuf-maven-plugin.version>
-		<commons-lang3.version>3.11</commons-lang3.version>
-		<grpc.version>1.33.0</grpc.version>
+		<pulsar-commons-lang3.version>3.11</pulsar-commons-lang3.version>
+		<pulsar-zookeeper.version>3.6.3</pulsar-zookeeper.version>

Review comment:
       Yep. They are required only for Pulsar Broker.

##########
File path: flink-connectors/flink-connector-pulsar/pom.xml
##########
@@ -138,23 +140,60 @@ under the License.
 			<version>${pulsar.version}</version>
 			<scope>test</scope>
 		</dependency>
+
 		<!-- Pulsar use a newer commons-lang3 in broker. -->
 		<!-- Bump the version only for testing. -->
 		<dependency>
 			<groupId>org.apache.commons</groupId>
 			<artifactId>commons-lang3</artifactId>
-			<version>${commons-lang3.version}</version>
+			<version>${pulsar-commons-lang3.version}</version>
+			<scope>test</scope>
+		</dependency>
+
+		<!-- Pulsar use a newer zookeeper in broker. -->
+		<!-- Bump the version only for testing. -->
+		<dependency>
+			<groupId>org.apache.zookeeper</groupId>
+			<artifactId>zookeeper</artifactId>
+			<version>${pulsar-zookeeper.version}</version>
 			<scope>test</scope>
 		</dependency>
 
 		<!-- Add Pulsar 2.x as a dependency. -->
 		<!-- Move this to button for avoiding class conflicts with pulsar-broker. -->
-
 		<dependency>
 			<groupId>org.apache.pulsar</groupId>
 			<artifactId>pulsar-client-all</artifactId>
 			<version>${pulsar.version}</version>
 			<exclusions>
+				<exclusion>
+					<groupId>com.sun.activation</groupId>

Review comment:
       These dependencies are just used for annotation which should be working on the broker side. It's not required on the client side.

##########
File path: flink-connectors/flink-connector-pulsar/pom.xml
##########
@@ -163,13 +202,22 @@ under the License.
 		</dependency>
 	</dependencies>
 
-	<!-- gRPC use version range which don't support by flink ci. -->
 	<dependencyManagement>
 		<dependencies>
+			<!-- Pulsar use higher gRPC version. -->
 			<dependency>
 				<groupId>io.grpc</groupId>
 				<artifactId>grpc-bom</artifactId>
-				<version>${grpc.version}</version>
+				<version>${pulsar-grpc.version}</version>
+				<type>pom</type>
+				<scope>import</scope>

Review comment:
       Yep.

##########
File path: flink-connectors/flink-connector-pulsar/pom.xml
##########
@@ -163,13 +202,22 @@ under the License.
 		</dependency>
 	</dependencies>
 
-	<!-- gRPC use version range which don't support by flink ci. -->
 	<dependencyManagement>
 		<dependencies>
+			<!-- Pulsar use higher gRPC version. -->
 			<dependency>
 				<groupId>io.grpc</groupId>
 				<artifactId>grpc-bom</artifactId>
-				<version>${grpc.version}</version>
+				<version>${pulsar-grpc.version}</version>
+				<type>pom</type>
+				<scope>import</scope>
+			</dependency>
+
+			<!-- Pulsar use higher netty version. -->
+			<dependency>
+				<groupId>io.netty</groupId>
+				<artifactId>netty-bom</artifactId>
+				<version>${pulsar-netty.version}</version>

Review comment:
       I have checked the dependencies in `flink-connector-pulsar`, we only use netty in tests. There is no compiled dependency for netty.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/common/config/PulsarConfigUtils.java
##########
@@ -94,6 +100,11 @@ private PulsarConfigUtils() {
     public static PulsarClient createClient(Configuration configuration) {
         ClientBuilder builder = PulsarClient.builder();
 
+        // requestTimeoutMs don't have a setter method on ClientBuilder. We have to use low level
+        // setter method instead. So we put this at the beginning of the builder.
+        Integer requestTimeoutMs = configuration.get(PULSAR_REQUEST_TIMEOUT_MS);
+        builder.loadConf(singletonMap("requestTimeoutMs", requestTimeoutMs));

Review comment:
       This has been added to the document. It was generated by `flink-docs`.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r799821744



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,203 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.operators.ProcessingTimeService;
+import org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext;
+import org.apache.flink.api.connector.sink2.Sink.InitContext;
+import org.apache.flink.api.connector.sink2.TwoPhaseCommittingSink.PrecommittingSinkWriter;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommittable;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContextAdapter;
+import org.apache.flink.connector.pulsar.sink.writer.message.RawMessage;
+import org.apache.flink.connector.pulsar.sink.writer.router.TopicRouter;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicMetadataListener;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicProducerRegister;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.function.SerializableFunction;
+
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.api.transaction.Transaction;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.Semaphore;
+
+import static java.util.Collections.emptyList;
+import static org.apache.flink.util.IOUtils.closeAll;
+
+/**
+ * This class is responsible to write records in a Pulsar topic and to handle the different delivery
+ * {@link DeliveryGuarantee}s.
+ *
+ * @param <IN> The type of the input elements.
+ */
+public class PulsarWriter<IN> implements PrecommittingSinkWriter<IN, PulsarCommittable> {

Review comment:
       Update, add `@Internal` annotation on `PulsarSink#createWriter`, everything is clear now.

##########
File path: flink-architecture-tests/flink-architecture-tests-production/archunit-violations/5b9eed8a-5fb6-4373-98ac-3be2a71941b8
##########
@@ -113,6 +113,11 @@ org.apache.flink.connector.kafka.sink.KafkaSink.createWriter(org.apache.flink.ap
 org.apache.flink.connector.kafka.sink.KafkaSink.getCommittableSerializer(): Returned leaf type org.apache.flink.connector.kafka.sink.KafkaCommittable does not satisfy: reside outside of package 'org.apache.flink..' or annotated with @Public or annotated with @PublicEvolving or annotated with @Deprecated
 org.apache.flink.connector.kafka.sink.KafkaSink.getWriterStateSerializer(): Returned leaf type org.apache.flink.connector.kafka.sink.KafkaWriterState does not satisfy: reside outside of package 'org.apache.flink..' or annotated with @Public or annotated with @PublicEvolving or annotated with @Deprecated
 org.apache.flink.connector.kafka.source.enumerator.initializer.OffsetsInitializer.getPartitionOffsets(java.util.Collection, org.apache.flink.connector.kafka.source.enumerator.initializer.OffsetsInitializer$PartitionOffsetsRetriever): Argument leaf type org.apache.flink.connector.kafka.source.enumerator.initializer.OffsetsInitializer$PartitionOffsetsRetriever does not satisfy: reside outside of package 'org.apache.flink..' or annotated with @Public or annotated with @PublicEvolving or annotated with @Deprecated
+org.apache.flink.connector.pulsar.sink.PulsarSink.createCommitter(): Returned leaf type org.apache.flink.connector.pulsar.sink.committer.PulsarCommittable does not satisfy: reside outside of package 'org.apache.flink..' or annotated with @Public or annotated with @PublicEvolving or annotated with @Deprecated
+org.apache.flink.connector.pulsar.sink.PulsarSink.createWriter(org.apache.flink.api.connector.sink2.Sink$InitContext): Returned leaf type org.apache.flink.connector.pulsar.sink.committer.PulsarCommittable does not satisfy: reside outside of package 'org.apache.flink..' or annotated with @Public or annotated with @PublicEvolving or annotated with @Deprecated
+org.apache.flink.connector.pulsar.sink.PulsarSink.getCommittableSerializer(): Returned leaf type org.apache.flink.connector.pulsar.sink.committer.PulsarCommittable does not satisfy: reside outside of package 'org.apache.flink..' or annotated with @Public or annotated with @PublicEvolving or annotated with @Deprecated
+org.apache.flink.connector.pulsar.sink.writer.message.MessageKeyHash.getDescription(): Returned leaf type org.apache.flink.configuration.description.InlineElement does not satisfy: reside outside of package 'org.apache.flink..' or annotated with @Public or annotated with @PublicEvolving or annotated with @Deprecated
+org.apache.flink.connector.pulsar.sink.writer.router.TopicRoutingMode.getDescription(): Returned leaf type org.apache.flink.configuration.description.InlineElement does not satisfy: reside outside of package 'org.apache.flink..' or annotated with @Public or annotated with @PublicEvolving or annotated with @Deprecated

Review comment:
       Done.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r799703085



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,203 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.operators.ProcessingTimeService;
+import org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext;
+import org.apache.flink.api.connector.sink2.Sink.InitContext;
+import org.apache.flink.api.connector.sink2.TwoPhaseCommittingSink.PrecommittingSinkWriter;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommittable;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContextAdapter;
+import org.apache.flink.connector.pulsar.sink.writer.message.RawMessage;
+import org.apache.flink.connector.pulsar.sink.writer.router.TopicRouter;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicMetadataListener;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicProducerRegister;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.function.SerializableFunction;
+
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.api.transaction.Transaction;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.Semaphore;
+
+import static java.util.Collections.emptyList;
+import static org.apache.flink.util.IOUtils.closeAll;
+
+/**
+ * This class is responsible to write records in a Pulsar topic and to handle the different delivery
+ * {@link DeliveryGuarantee}s.
+ *
+ * @param <IN> The type of the input elements.
+ */
+public class PulsarWriter<IN> implements PrecommittingSinkWriter<IN, PulsarCommittable> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private final SinkConfiguration sinkConfiguration;
+    private final DeliveryGuarantee deliveryGuarantee;
+    private final PulsarSerializationSchema<IN> serializationSchema;
+    private final TopicRouter<IN> topicRouter;
+    private final PulsarSinkContextAdapter sinkContextAdapter;
+    private final TopicMetadataListener metadataListener;
+    private final MailboxExecutor mailboxExecutor;
+    private final TopicProducerRegister producerRegister;
+    private final Semaphore pendingMessages;
+
+    /**
+     * Constructor creating a Pulsar writer.
+     *
+     * <p>It will throw a {@link RuntimeException} if {@link
+     * PulsarSerializationSchema#open(InitializationContext, PulsarSinkContext, SinkConfiguration)}
+     * fails.
+     *
+     * @param sinkConfiguration the configuration to configure the Pulsar producer.
+     * @param serializationSchema serialize to transform the incoming records to {@link RawMessage}.
+     * @param metadataListener the listener for querying topic metadata.
+     * @param topicRouterProvider create related topic router to choose topic by incoming records.
+     * @param initContext context to provide information about the runtime environment.
+     */
+    public PulsarWriter(
+            SinkConfiguration sinkConfiguration,
+            PulsarSerializationSchema<IN> serializationSchema,
+            TopicMetadataListener metadataListener,
+            SerializableFunction<SinkConfiguration, TopicRouter<IN>> topicRouterProvider,
+            InitContext initContext) {
+        this.sinkConfiguration = sinkConfiguration;
+        this.deliveryGuarantee = sinkConfiguration.getDeliveryGuarantee();
+        this.serializationSchema = serializationSchema;
+        this.topicRouter = topicRouterProvider.apply(sinkConfiguration);
+        this.sinkContextAdapter = new PulsarSinkContextAdapter(initContext, sinkConfiguration);
+        this.metadataListener = metadataListener;
+        this.mailboxExecutor = initContext.getMailboxExecutor();
+
+        // Initialize topic metadata listener.
+        LOG.debug("Initialize topic metadata after creating Pulsar writer.");
+        ProcessingTimeService timeService = initContext.getProcessingTimeService();
+        metadataListener.open(sinkConfiguration, timeService);
+
+        // Initialize topic router.
+        topicRouter.open(sinkConfiguration);
+
+        // Initialize the serialization schema.
+        try {
+            InitializationContext initializationContext =
+                    initContext.asSerializationSchemaInitializationContext();
+            serializationSchema.open(initializationContext, sinkContextAdapter, sinkConfiguration);
+        } catch (Exception e) {
+            throw new FlinkRuntimeException("Cannot initialize schema.", e);
+        }
+
+        // Create this producer register after opening serialization schema!
+        this.producerRegister = new TopicProducerRegister(sinkConfiguration, serializationSchema);
+        this.pendingMessages = new Semaphore(sinkConfiguration.getMaxPendingMessages());
+    }
+
+    @Override
+    @SuppressWarnings("unchecked")
+    public void write(IN element, Context context) throws IOException, InterruptedException {
+        // Serialize the incoming element.
+        sinkContextAdapter.updateTimestamp(context);
+        RawMessage<byte[]> message = serializationSchema.serialize(element, sinkContextAdapter);
+
+        // Choose the right topic to send.
+        List<String> availableTopics = metadataListener.availableTopics();
+        String topic = topicRouter.route(element, message, availableTopics, sinkContextAdapter);
+
+        // Create message builder for sending message.
+        TypedMessageBuilder<?> builder = createMessageBuilder(topic, deliveryGuarantee);
+        if (sinkConfiguration.isEnableSchemaEvolution()) {
+            ((TypedMessageBuilder<IN>) builder).value(element);
+        } else {
+            ((TypedMessageBuilder<byte[]>) builder).value(message.getValue());
+        }
+        message.supplement(builder);
+
+        // Perform message sending.
+        if (deliveryGuarantee == DeliveryGuarantee.NONE) {
+            // We would just ignore the sending exception. This may cause data loss.
+            builder.sendAsync();
+        } else {
+            // Waiting for permits to write message.
+            pendingMessages.acquire();
+            CompletableFuture<MessageId> sender = builder.sendAsync();
+            sender.whenComplete(
+                    (id, ex) -> {
+                        pendingMessages.release();

Review comment:
       I just thought the mailbox and writer could be executed in the different threads in the future. So the cost for a semaphore is totally accepted, right?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-1030376275


   > The only concern is my limited knowledge of Pulsar transactions. Maybe you can clarify the following scenarios.
   >
   > The job opens a transaction and sends records, now suddenly fails before the first checkpoint. The pipeline would restart and try to use the same transaction again. Do we generate duplicates in this case because the records are replayed?
   > The job did a successful checkpoint and the transaction is moved to the [committer](). Before the committer can commit we write new records in the same transaction (I understood that we reuse the transaction for a topic). Does the committer now also commit the records that were received after the checkpoint?
   
   The questions you ask couldn't happen on the Pulsar sink. Allow me to explain them in detail.
   
   1. PulsarWriter only implements `PrecommittingSinkWriter` which doesn't have any writer state. If the pipeline restarts without the first checkpoint. All the transactions would be omitted and we would create new transactions instead. The previous transactions are kept on Pulsar until they meet the timeout. The transaction is just a changelog-based system. Creating a lot of unused transactions is accepted.
   
   2. If the transactions are passed to Committer after successfully checkpoint on PulsarWriter. They can't be touched by PulsarWriter anymore. PulsarWriter clears its internal transaction register when calling `PulsarWriter#prepareCommit`.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 68b185ec99cc4db97323f2b5b09b4d17e09ac80d Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r799731961



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/serializer/PulsarSchemaWrapper.java
##########
@@ -0,0 +1,65 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.serializer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.connector.pulsar.common.schema.PulsarSchema;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+import org.apache.flink.connector.pulsar.sink.writer.message.RawMessage;
+
+import org.apache.pulsar.client.api.Schema;
+
+/** Wrap the Pulsar's Schema into PulsarSerializationSchema. */
+@Internal
+public class PulsarSchemaWrapper<IN> implements PulsarSerializationSchema<IN> {
+    private static final long serialVersionUID = -2567052498398184194L;
+
+    private static final byte[] EMPTY_BYTES = new byte[0];
+    private final PulsarSchema<IN> pulsarSchema;
+
+    public PulsarSchemaWrapper(PulsarSchema<IN> pulsarSchema) {
+        this.pulsarSchema = pulsarSchema;
+    }
+
+    @Override
+    public RawMessage<byte[]> serialize(IN element, PulsarSinkContext sinkContext) {
+        RawMessage<byte[]> message;
+
+        if (sinkContext.isEnableSchemaEvolution()) {
+            // We don't need to serialize incoming records in schema evolution.
+            message = new RawMessage<>(EMPTY_BYTES);

Review comment:
       This is a confusing design. We provide two types of serialization.
   
   1. The first one is based on Flink serialization logic. We would serialize the message into bytes by using `Schema` (Pulsar class) or `SerializationSchema` (Flink class). The bytes would be sent to Pulsar in a `Schema.BYTES` which Pulsar wouldn't validate the correctness.
   2. The second one is only based on Pulsar Schema. We would send the original message with a valid Pulsar `Schema`. The message would be serialized in Pulsar Client and the Schema would also be sent to Pulsar for validation.
   
   The second mechanism is called schema evolution in Pulsar. It could be enabled by `PulsarSinkOptions.PULSAR_WRITE_SCHEMA_EVOLUTION`. Since the message would be serialized in Client. It's no need to serialize in `PulsarSchemaWrapper`.
   
   But I admit that the design should be improved.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 8e3d80bc6fc29bf1865667fff9ab32495fd217f0 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973) 
   * 41ed8dfb2e8b804827e761eda9dc2082f7a553d7 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463) 
   * 067d456df50b5cd5889cfa299b6b81b4da172626 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485) 
   * 054ffb84a4dab1330d23e1a3309b2ca324b26e3d Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r794650147



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/committer/PulsarCommitter.java
##########
@@ -0,0 +1,112 @@
+/*
+ * 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.flink.connector.pulsar.sink.committer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.PulsarSink;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+
+import org.apache.pulsar.client.api.PulsarClient;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClient;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException.CoordinatorNotFoundException;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException.TransactionNotFoundException;
+import org.apache.pulsar.client.api.transaction.TxnID;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import static java.util.Collections.emptyList;
+import static org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils.createClient;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * Committer implementation for {@link PulsarSink}.
+ *
+ * <p>The committer is responsible to finalize the Pulsar transactions by committing them.
+ */
+@Internal
+public class PulsarCommitter implements Committer<PulsarCommittable>, Closeable {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarCommitter.class);
+
+    private final SinkConfiguration sinkConfiguration;
+
+    private PulsarClient pulsarClient;
+    private TransactionCoordinatorClient coordinatorClient;
+
+    public PulsarCommitter(SinkConfiguration sinkConfiguration) {
+        this.sinkConfiguration = sinkConfiguration;
+    }
+
+    @Override
+    public List<PulsarCommittable> commit(List<PulsarCommittable> committables)
+            throws IOException, InterruptedException {
+        if (committables == null || committables.isEmpty()) {
+            return emptyList();
+        }
+
+        List<PulsarCommittable> retryableCommittables = new ArrayList<>();
+        for (PulsarCommittable committable : committables) {
+            TxnID txnID = committable.getTxnID();
+            String topic = committable.getTopic();
+
+            LOG.debug("Start committing the transaction {} for topic {}", txnID, topic);
+            try {
+                coordinatorClient.commit(txnID);
+            } catch (TransactionNotFoundException | CoordinatorNotFoundException e) {

Review comment:
       All the committers and writers are handled in `org.apache.flink.streaming.runtime.operators.sink.SinkOperator` and share the same thread. Throwing the exception here would crash the pipeline and restart the application.
   
   `TransactionNotFoundException` should be treated as an internal failure cause we can't find the transaction which was created in the writer. This often occurs when the timeout for the transaction is smaller than the checkpoint interval.
   
   `CoordinatorNotFoundException` only happens when the client doesn't enable the transaction or the broker doesn't enable the transaction.
   
   So we just throw these two transactions which are non-retryable.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 59f46a383a5cca968faf82f8c260217649a6f825 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087) 
   * 0a425720f8936008cd7982a1481f23459e0491f8 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 59f46a383a5cca968faf82f8c260217649a6f825 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087) 
   * 0a425720f8936008cd7982a1481f23459e0491f8 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431) 
   * 3afcff5b776774f579127bf1960875d4ae1a64f8 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507",
       "triggerID" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "triggerType" : "PUSH"
     }, {
       "hash" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532",
       "triggerID" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "triggerType" : "PUSH"
     }, {
       "hash" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31539",
       "triggerID" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495) 
   * 8cc9d45130f50e1af9040850a825a092e728dece Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507) 
   * cb193056896ffd7823d5155acb8dfa271b7656db Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532) 
   * eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31539) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a49364d47478c98f43f95d9b58b699da6da6d433 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349) 
   * 0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484) 
   * b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a49364d47478c98f43f95d9b58b699da6da6d433 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349) 
   * 0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484) 
   * b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495) 
   * 8cc9d45130f50e1af9040850a825a092e728dece UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507",
       "triggerID" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "triggerType" : "PUSH"
     }, {
       "hash" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532",
       "triggerID" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "triggerType" : "PUSH"
     }, {
       "hash" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495) 
   * 8cc9d45130f50e1af9040850a825a092e728dece Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507) 
   * cb193056896ffd7823d5155acb8dfa271b7656db Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532) 
   * eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r805890545



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -205,6 +209,12 @@ public void write(IN element, Context context) throws IOException, InterruptedEx
             builder.disableReplication();
         }
 
+        // Message Delay
+        long deliverAt = messageDelayer.deliverAt(element, context);
+        if (deliverAt > 0) {
+            builder.deliverAt(deliverAt);

Review comment:
       Message delayer would only add an extra `sending time` property. It doesn't change any behavior of the message sending. A message with delayer would be normally sent, flushed on the checkpoint, and so on. We add this feature for some user-specified requirements, [message delay delivery](https://pulsar.apache.org/docs/en/next/concepts-messaging/#delayed-message-delivery) is wildly used in some companies like Baidu.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] imaffe commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
imaffe commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r791349039



##########
File path: flink-connectors/flink-connector-pulsar/pom.xml
##########
@@ -163,13 +202,22 @@ under the License.
 		</dependency>
 	</dependencies>
 
-	<!-- gRPC use version range which don't support by flink ci. -->
 	<dependencyManagement>
 		<dependencies>
+			<!-- Pulsar use higher gRPC version. -->
 			<dependency>
 				<groupId>io.grpc</groupId>
 				<artifactId>grpc-bom</artifactId>
-				<version>${grpc.version}</version>
+				<version>${pulsar-grpc.version}</version>
+				<type>pom</type>
+				<scope>import</scope>

Review comment:
       We use` import` scope to align grpc version to whatever pulsar's grpc version is, is my understanding correct?

##########
File path: flink-connectors/flink-connector-pulsar/pom.xml
##########
@@ -138,23 +140,60 @@ under the License.
 			<version>${pulsar.version}</version>
 			<scope>test</scope>
 		</dependency>
+
 		<!-- Pulsar use a newer commons-lang3 in broker. -->
 		<!-- Bump the version only for testing. -->
 		<dependency>
 			<groupId>org.apache.commons</groupId>
 			<artifactId>commons-lang3</artifactId>
-			<version>${commons-lang3.version}</version>
+			<version>${pulsar-commons-lang3.version}</version>
+			<scope>test</scope>
+		</dependency>
+
+		<!-- Pulsar use a newer zookeeper in broker. -->
+		<!-- Bump the version only for testing. -->
+		<dependency>
+			<groupId>org.apache.zookeeper</groupId>
+			<artifactId>zookeeper</artifactId>
+			<version>${pulsar-zookeeper.version}</version>
 			<scope>test</scope>
 		</dependency>
 
 		<!-- Add Pulsar 2.x as a dependency. -->
 		<!-- Move this to button for avoiding class conflicts with pulsar-broker. -->
-
 		<dependency>
 			<groupId>org.apache.pulsar</groupId>
 			<artifactId>pulsar-client-all</artifactId>
 			<version>${pulsar.version}</version>
 			<exclusions>
+				<exclusion>
+					<groupId>com.sun.activation</groupId>

Review comment:
       Wondering why we need to exclude these dependencies ?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/common/config/PulsarConfigUtils.java
##########
@@ -94,6 +100,11 @@ private PulsarConfigUtils() {
     public static PulsarClient createClient(Configuration configuration) {
         ClientBuilder builder = PulsarClient.builder();
 
+        // requestTimeoutMs don't have a setter method on ClientBuilder. We have to use low level
+        // setter method instead. So we put this at the beginning of the builder.
+        Integer requestTimeoutMs = configuration.get(PULSAR_REQUEST_TIMEOUT_MS);
+        builder.loadConf(singletonMap("requestTimeoutMs", requestTimeoutMs));

Review comment:
       nit: just a reminder to add this to doc (if not already ~ 

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSink.java
##########
@@ -0,0 +1,121 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.api.connector.sink.GlobalCommitter;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommitter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterState;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterStateSerializer;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.core.io.SimpleVersionedSerializer;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * a pulsar Sink implement.
+ *
+ * @param <IN> record data type.
+ */
+@PublicEvolving
+public class PulsarSink<IN> implements Sink<IN, PulsarSinkCommittable, PulsarWriterState, Void> {
+
+    private final DeliveryGuarantee deliveryGuarantee;
+
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+    private final PartitionSelector<IN> partitionSelector;
+
+    private final Configuration configuration;
+
+    public PulsarSink(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration) {
+        this.deliveryGuarantee = deliveryGuarantee;
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+    }
+
+    /**
+     * Get a PulsarSinkBuilder to builder a {@link PulsarSink}.
+     *
+     * @return a Pulsar sink builder.
+     */
+    @SuppressWarnings("java:S4977")

Review comment:
       Would you mind provide more context why we have this @SuppressWarnings annotation

##########
File path: flink-connectors/flink-connector-pulsar/pom.xml
##########
@@ -163,13 +202,22 @@ under the License.
 		</dependency>
 	</dependencies>
 
-	<!-- gRPC use version range which don't support by flink ci. -->
 	<dependencyManagement>
 		<dependencies>
+			<!-- Pulsar use higher gRPC version. -->
 			<dependency>
 				<groupId>io.grpc</groupId>
 				<artifactId>grpc-bom</artifactId>
-				<version>${grpc.version}</version>
+				<version>${pulsar-grpc.version}</version>
+				<type>pom</type>
+				<scope>import</scope>
+			</dependency>
+
+			<!-- Pulsar use higher netty version. -->
+			<dependency>
+				<groupId>io.netty</groupId>
+				<artifactId>netty-bom</artifactId>
+				<version>${pulsar-netty.version}</version>

Review comment:
       For dependencies, wondering have we tested there is no obvious runtime class issues ?

##########
File path: flink-connectors/flink-connector-pulsar/pom.xml
##########
@@ -36,12 +36,14 @@ under the License.
 	<packaging>jar</packaging>
 
 	<properties>
-		<pulsar.version>2.8.0</pulsar.version>
+		<pulsar.version>2.9.1</pulsar.version>
 
 		<!-- Test Libraries -->
 		<protobuf-maven-plugin.version>0.6.1</protobuf-maven-plugin.version>
-		<commons-lang3.version>3.11</commons-lang3.version>
-		<grpc.version>1.33.0</grpc.version>
+		<pulsar-commons-lang3.version>3.11</pulsar-commons-lang3.version>
+		<pulsar-zookeeper.version>3.6.3</pulsar-zookeeper.version>

Review comment:
       Are Netty and zookeepers used in test only ?

##########
File path: flink-connectors/flink-connector-pulsar/pom.xml
##########
@@ -36,12 +36,14 @@ under the License.
 	<packaging>jar</packaging>
 
 	<properties>
-		<pulsar.version>2.8.0</pulsar.version>
+		<pulsar.version>2.9.1</pulsar.version>

Review comment:
       nit:  Once sink and source are completed, we can document the pulsar versions

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/common/config/PulsarConfigValidator.java
##########
@@ -0,0 +1,104 @@
+/*
+ * 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.flink.connector.pulsar.common.config;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.configuration.ConfigOption;
+import org.apache.flink.configuration.Configuration;
+
+import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList;
+import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableSet;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import static org.apache.flink.util.Preconditions.checkArgument;
+
+/**
+ * A config validator for {@link PulsarConfigBuilder}, used for validation of source & sink builder.
+ *
+ * <p>We would validate:
+ *
+ * <ul>
+ *   <li>If user have provided the required client config options.
+ *   <li>If user have provided some conflict options.
+ * </ul>
+ */
+@Internal
+public class PulsarConfigValidator {

Review comment:
       This class looks ok to me. Would be nice to have some basic test case for it ~ 




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] imaffe commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
imaffe commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r793289032



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/serializer/PulsarSchemaWrapper.java
##########
@@ -0,0 +1,65 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.serializer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.connector.pulsar.common.schema.PulsarSchema;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+import org.apache.flink.connector.pulsar.sink.writer.message.RawMessage;
+
+import org.apache.pulsar.client.api.Schema;
+
+/** Wrap the Pulsar's Schema into PulsarSerializationSchema. */
+@Internal
+public class PulsarSchemaWrapper<IN> implements PulsarSerializationSchema<IN> {
+    private static final long serialVersionUID = -2567052498398184194L;
+
+    private static final byte[] EMPTY_BYTES = new byte[0];
+    private final PulsarSchema<IN> pulsarSchema;
+
+    public PulsarSchemaWrapper(PulsarSchema<IN> pulsarSchema) {
+        this.pulsarSchema = pulsarSchema;
+    }
+
+    @Override
+    public RawMessage<byte[]> serialize(IN element, PulsarSinkContext sinkContext) {
+        RawMessage<byte[]> message;
+
+        if (sinkContext.isEnableSchemaEvolution()) {
+            // We don't need to serialize incoming records in schema evolution.
+            message = new RawMessage<>(EMPTY_BYTES);
+        } else {
+            Schema<IN> schema = this.pulsarSchema.getPulsarSchema();
+            byte[] bytes = schema.encode(element);
+            message = new RawMessage<>(bytes);
+        }
+
+        Long eventTime = sinkContext.timestamp();

Review comment:
       Here we put the event time in when we do the serialization,  wondering what is the design considerations here?  Asking because I feel like adding event time can happen in a different step

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/committer/PulsarCommitter.java
##########
@@ -0,0 +1,112 @@
+/*
+ * 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.flink.connector.pulsar.sink.committer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.PulsarSink;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+
+import org.apache.pulsar.client.api.PulsarClient;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClient;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException.CoordinatorNotFoundException;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException.TransactionNotFoundException;
+import org.apache.pulsar.client.api.transaction.TxnID;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import static java.util.Collections.emptyList;
+import static org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils.createClient;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * Committer implementation for {@link PulsarSink}.
+ *
+ * <p>The committer is responsible to finalize the Pulsar transactions by committing them.
+ */
+@Internal
+public class PulsarCommitter implements Committer<PulsarCommittable>, Closeable {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarCommitter.class);
+
+    private final SinkConfiguration sinkConfiguration;
+
+    private PulsarClient pulsarClient;
+    private TransactionCoordinatorClient coordinatorClient;
+
+    public PulsarCommitter(SinkConfiguration sinkConfiguration) {
+        this.sinkConfiguration = sinkConfiguration;
+    }
+
+    @Override
+    public List<PulsarCommittable> commit(List<PulsarCommittable> committables)
+            throws IOException, InterruptedException {
+        if (committables == null || committables.isEmpty()) {
+            return emptyList();
+        }
+
+        List<PulsarCommittable> retryableCommittables = new ArrayList<>();
+        for (PulsarCommittable committable : committables) {
+            TxnID txnID = committable.getTxnID();
+            String topic = committable.getTopic();
+
+            LOG.debug("Start committing the transaction {} for topic {}", txnID, topic);
+            try {
+                coordinatorClient.commit(txnID);
+            } catch (TransactionNotFoundException | CoordinatorNotFoundException e) {

Review comment:
       For these 2 exceptions, why do we rethrow it ? Which class is the final handlers of these two exceptions ? Curious because I saw this is the only place we catch these 2 exceptions. I guess these 2 are nonretrayble transaction failures and should be treated to stop pipeline ?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/topic/TopicMetadataListener.java
##########
@@ -0,0 +1,172 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.topic;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.connector.sink.Sink.ProcessingTimeService;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+
+import org.apache.flink.shaded.guava30.com.google.common.base.Objects;
+import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.common.partition.PartitionedTopicMetadata;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static java.util.Collections.emptyList;
+import static org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils.createAdmin;
+import static org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils.sneakyAdmin;
+import static org.apache.flink.connector.pulsar.source.enumerator.topic.TopicNameUtils.isPartitioned;
+import static org.apache.flink.connector.pulsar.source.enumerator.topic.TopicNameUtils.topicNameWithPartition;
+
+/**
+ * We need the latest topic metadata for making sure the newly created topic partitions would be
+ * used by Pulsar sink. This routing policy would be different comparing with Pulsar Client built-in
+ * logic. We use flink's ProcessingTimer as the executor.
+ */
+@Internal
+public class TopicMetadataListener implements Serializable, Closeable {
+    private static final long serialVersionUID = 6186948471557507522L;
+
+    private static final Logger LOG = LoggerFactory.getLogger(TopicMetadataListener.class);
+
+    private final List<String> partitionedTopics;
+    private final Map<String, Integer> topicMetadata;
+    private volatile ImmutableList<String> availableTopics;
+
+    // Dynamic fields.
+    private transient PulsarAdmin pulsarAdmin;
+    private transient Long topicMetadataRefreshInterval;
+    private transient ProcessingTimeService timeService;
+
+    public TopicMetadataListener() {
+        this(emptyList());
+    }
+
+    public TopicMetadataListener(List<String> topics) {
+        this.partitionedTopics = new ArrayList<>(topics.size());
+        this.topicMetadata = new HashMap<>(topics.size());
+        this.availableTopics = ImmutableList.of();
+
+        for (String topic : topics) {
+            if (isPartitioned(topic)) {
+                partitionedTopics.add(topic);
+            } else {
+                // This would be updated when open writing.
+                topicMetadata.put(topic, -1);
+            }
+        }
+    }
+
+    /** Register the topic metadata update in process time service. */
+    public void open(SinkConfiguration sinkConfiguration, ProcessingTimeService timeService) {
+        if (topicMetadata.isEmpty()) {
+            LOG.info("No topics have been provided, skip listener initialize.");
+            return;
+        }
+
+        // Initialize listener properties.
+        this.pulsarAdmin = createAdmin(sinkConfiguration);
+        this.topicMetadataRefreshInterval = sinkConfiguration.getTopicMetadataRefreshInterval();
+        this.timeService = timeService;
+
+        // Initialize the topic metadata. Quit if fail to connect to Pulsar.
+        sneakyAdmin(this::updateTopicMetadata);
+
+        // Register time service.
+        triggerNextTopicMetadataUpdate(true);
+    }
+
+    /**
+     * Return all the available topic partitions. We would recalculate the partitions if the topic
+     * metadata hsa been changed. Otherwise, we would return the cached result for better
+     * performance.
+     */
+    public List<String> availableTopics() {
+        if (availableTopics.isEmpty()
+                && (!partitionedTopics.isEmpty() || !topicMetadata.isEmpty())) {

Review comment:
       Just out of curiousity, we evaluate availableTopics when we call it (evaluate: retrieving data from topicMetadata) in this method instead of in updateTopicMetadata(), is there any special reason to do so ?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/committer/PulsarCommitter.java
##########
@@ -0,0 +1,112 @@
+/*
+ * 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.flink.connector.pulsar.sink.committer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.PulsarSink;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+
+import org.apache.pulsar.client.api.PulsarClient;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClient;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException.CoordinatorNotFoundException;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException.TransactionNotFoundException;
+import org.apache.pulsar.client.api.transaction.TxnID;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import static java.util.Collections.emptyList;
+import static org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils.createClient;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * Committer implementation for {@link PulsarSink}.
+ *
+ * <p>The committer is responsible to finalize the Pulsar transactions by committing them.
+ */
+@Internal
+public class PulsarCommitter implements Committer<PulsarCommittable>, Closeable {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarCommitter.class);
+
+    private final SinkConfiguration sinkConfiguration;
+
+    private PulsarClient pulsarClient;
+    private TransactionCoordinatorClient coordinatorClient;
+
+    public PulsarCommitter(SinkConfiguration sinkConfiguration) {
+        this.sinkConfiguration = sinkConfiguration;
+    }
+
+    @Override
+    public List<PulsarCommittable> commit(List<PulsarCommittable> committables)
+            throws IOException, InterruptedException {
+        if (committables == null || committables.isEmpty()) {
+            return emptyList();
+        }
+
+        List<PulsarCommittable> retryableCommittables = new ArrayList<>();
+        for (PulsarCommittable committable : committables) {
+            TxnID txnID = committable.getTxnID();
+            String topic = committable.getTopic();
+
+            LOG.debug("Start committing the transaction {} for topic {}", txnID, topic);
+            try {
+                coordinatorClient.commit(txnID);
+            } catch (TransactionNotFoundException | CoordinatorNotFoundException e) {
+                throw e;
+            } catch (TransactionCoordinatorClientException e) {
+                LOG.error("Unable to commit transaction {} for topic {}", txnID, topic);
+                retryableCommittables.add(committable);
+            }
+        }
+        return retryableCommittables;
+    }
+
+    /**
+     * Lazy initialize this backend Pulsar client. This committer may not be used in {@link
+     * DeliveryGuarantee#NONE} and {@link DeliveryGuarantee#AT_LEAST_ONCE}. So we couldn't create
+     * the Pulsar client immediately.
+     */
+    private TransactionCoordinatorClient transactionCoordinatorClient() {

Review comment:
       This method is not used, will it be used in the future ? 

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/topic/TopicMetadataListener.java
##########
@@ -0,0 +1,172 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.topic;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.connector.sink.Sink.ProcessingTimeService;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+
+import org.apache.flink.shaded.guava30.com.google.common.base.Objects;
+import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.common.partition.PartitionedTopicMetadata;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static java.util.Collections.emptyList;
+import static org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils.createAdmin;
+import static org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils.sneakyAdmin;
+import static org.apache.flink.connector.pulsar.source.enumerator.topic.TopicNameUtils.isPartitioned;
+import static org.apache.flink.connector.pulsar.source.enumerator.topic.TopicNameUtils.topicNameWithPartition;
+
+/**
+ * We need the latest topic metadata for making sure the newly created topic partitions would be
+ * used by Pulsar sink. This routing policy would be different comparing with Pulsar Client built-in
+ * logic. We use flink's ProcessingTimer as the executor.
+ */
+@Internal
+public class TopicMetadataListener implements Serializable, Closeable {
+    private static final long serialVersionUID = 6186948471557507522L;
+
+    private static final Logger LOG = LoggerFactory.getLogger(TopicMetadataListener.class);
+
+    private final List<String> partitionedTopics;
+    private final Map<String, Integer> topicMetadata;
+    private volatile ImmutableList<String> availableTopics;
+
+    // Dynamic fields.
+    private transient PulsarAdmin pulsarAdmin;
+    private transient Long topicMetadataRefreshInterval;
+    private transient ProcessingTimeService timeService;
+
+    public TopicMetadataListener() {
+        this(emptyList());
+    }
+
+    public TopicMetadataListener(List<String> topics) {
+        this.partitionedTopics = new ArrayList<>(topics.size());
+        this.topicMetadata = new HashMap<>(topics.size());
+        this.availableTopics = ImmutableList.of();
+
+        for (String topic : topics) {
+            if (isPartitioned(topic)) {
+                partitionedTopics.add(topic);
+            } else {
+                // This would be updated when open writing.
+                topicMetadata.put(topic, -1);
+            }
+        }
+    }
+
+    /** Register the topic metadata update in process time service. */
+    public void open(SinkConfiguration sinkConfiguration, ProcessingTimeService timeService) {
+        if (topicMetadata.isEmpty()) {
+            LOG.info("No topics have been provided, skip listener initialize.");
+            return;
+        }
+
+        // Initialize listener properties.
+        this.pulsarAdmin = createAdmin(sinkConfiguration);
+        this.topicMetadataRefreshInterval = sinkConfiguration.getTopicMetadataRefreshInterval();
+        this.timeService = timeService;
+
+        // Initialize the topic metadata. Quit if fail to connect to Pulsar.
+        sneakyAdmin(this::updateTopicMetadata);
+
+        // Register time service.
+        triggerNextTopicMetadataUpdate(true);
+    }
+
+    /**
+     * Return all the available topic partitions. We would recalculate the partitions if the topic
+     * metadata hsa been changed. Otherwise, we would return the cached result for better

Review comment:
       nit: typo hsa  in the comment




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r791419494



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSink.java
##########
@@ -0,0 +1,121 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.api.connector.sink.GlobalCommitter;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommitter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterState;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterStateSerializer;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.core.io.SimpleVersionedSerializer;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * a pulsar Sink implement.
+ *
+ * @param <IN> record data type.
+ */
+@PublicEvolving
+public class PulsarSink<IN> implements Sink<IN, PulsarSinkCommittable, PulsarWriterState, Void> {
+
+    private final DeliveryGuarantee deliveryGuarantee;
+
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+    private final PartitionSelector<IN> partitionSelector;
+
+    private final Configuration configuration;
+
+    public PulsarSink(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration) {
+        this.deliveryGuarantee = deliveryGuarantee;
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+    }
+
+    /**
+     * Get a PulsarSinkBuilder to builder a {@link PulsarSink}.
+     *
+     * @return a Pulsar sink builder.
+     */
+    @SuppressWarnings("java:S4977")

Review comment:
       This is used to pass the `SonarLint`. Sonar thought this method shouldn't cover other type annotation. https://jira.sonarsource.com/browse/SONARJAVA-2961




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] imaffe commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
imaffe commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r791349039



##########
File path: flink-connectors/flink-connector-pulsar/pom.xml
##########
@@ -163,13 +202,22 @@ under the License.
 		</dependency>
 	</dependencies>
 
-	<!-- gRPC use version range which don't support by flink ci. -->
 	<dependencyManagement>
 		<dependencies>
+			<!-- Pulsar use higher gRPC version. -->
 			<dependency>
 				<groupId>io.grpc</groupId>
 				<artifactId>grpc-bom</artifactId>
-				<version>${grpc.version}</version>
+				<version>${pulsar-grpc.version}</version>
+				<type>pom</type>
+				<scope>import</scope>

Review comment:
       We use` import` scope to align grpc version to whatever pulsar's grpc version is, is my understanding correct?

##########
File path: flink-connectors/flink-connector-pulsar/pom.xml
##########
@@ -138,23 +140,60 @@ under the License.
 			<version>${pulsar.version}</version>
 			<scope>test</scope>
 		</dependency>
+
 		<!-- Pulsar use a newer commons-lang3 in broker. -->
 		<!-- Bump the version only for testing. -->
 		<dependency>
 			<groupId>org.apache.commons</groupId>
 			<artifactId>commons-lang3</artifactId>
-			<version>${commons-lang3.version}</version>
+			<version>${pulsar-commons-lang3.version}</version>
+			<scope>test</scope>
+		</dependency>
+
+		<!-- Pulsar use a newer zookeeper in broker. -->
+		<!-- Bump the version only for testing. -->
+		<dependency>
+			<groupId>org.apache.zookeeper</groupId>
+			<artifactId>zookeeper</artifactId>
+			<version>${pulsar-zookeeper.version}</version>
 			<scope>test</scope>
 		</dependency>
 
 		<!-- Add Pulsar 2.x as a dependency. -->
 		<!-- Move this to button for avoiding class conflicts with pulsar-broker. -->
-
 		<dependency>
 			<groupId>org.apache.pulsar</groupId>
 			<artifactId>pulsar-client-all</artifactId>
 			<version>${pulsar.version}</version>
 			<exclusions>
+				<exclusion>
+					<groupId>com.sun.activation</groupId>

Review comment:
       Wondering why we need to exclude these dependencies ?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/common/config/PulsarConfigUtils.java
##########
@@ -94,6 +100,11 @@ private PulsarConfigUtils() {
     public static PulsarClient createClient(Configuration configuration) {
         ClientBuilder builder = PulsarClient.builder();
 
+        // requestTimeoutMs don't have a setter method on ClientBuilder. We have to use low level
+        // setter method instead. So we put this at the beginning of the builder.
+        Integer requestTimeoutMs = configuration.get(PULSAR_REQUEST_TIMEOUT_MS);
+        builder.loadConf(singletonMap("requestTimeoutMs", requestTimeoutMs));

Review comment:
       nit: just a reminder to add this to doc (if not already ~ 

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/PulsarSink.java
##########
@@ -0,0 +1,121 @@
+/*
+ * 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.flink.connector.pulsar.sink;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.connector.sink.Committer;
+import org.apache.flink.api.connector.sink.GlobalCommitter;
+import org.apache.flink.api.connector.sink.Sink;
+import org.apache.flink.api.connector.sink.SinkWriter;
+import org.apache.flink.configuration.Configuration;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommitter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriter;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterState;
+import org.apache.flink.connector.pulsar.sink.writer.PulsarWriterStateSerializer;
+import org.apache.flink.connector.pulsar.sink.writer.selector.PartitionSelector;
+import org.apache.flink.connector.pulsar.sink.writer.selector.TopicSelector;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.core.io.SimpleVersionedSerializer;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * a pulsar Sink implement.
+ *
+ * @param <IN> record data type.
+ */
+@PublicEvolving
+public class PulsarSink<IN> implements Sink<IN, PulsarSinkCommittable, PulsarWriterState, Void> {
+
+    private final DeliveryGuarantee deliveryGuarantee;
+
+    private final TopicSelector<IN> topicSelector;
+    private final PulsarSerializationSchema<IN, ?> serializationSchema;
+    private final PartitionSelector<IN> partitionSelector;
+
+    private final Configuration configuration;
+
+    public PulsarSink(
+            DeliveryGuarantee deliveryGuarantee,
+            TopicSelector<IN> topicSelector,
+            PulsarSerializationSchema<IN, ?> serializationSchema,
+            PartitionSelector<IN> partitionSelector,
+            Configuration configuration) {
+        this.deliveryGuarantee = deliveryGuarantee;
+        this.topicSelector = topicSelector;
+        this.serializationSchema = serializationSchema;
+        this.partitionSelector = partitionSelector;
+        this.configuration = configuration;
+    }
+
+    /**
+     * Get a PulsarSinkBuilder to builder a {@link PulsarSink}.
+     *
+     * @return a Pulsar sink builder.
+     */
+    @SuppressWarnings("java:S4977")

Review comment:
       Would you mind provide more context why we have this @SuppressWarnings annotation

##########
File path: flink-connectors/flink-connector-pulsar/pom.xml
##########
@@ -163,13 +202,22 @@ under the License.
 		</dependency>
 	</dependencies>
 
-	<!-- gRPC use version range which don't support by flink ci. -->
 	<dependencyManagement>
 		<dependencies>
+			<!-- Pulsar use higher gRPC version. -->
 			<dependency>
 				<groupId>io.grpc</groupId>
 				<artifactId>grpc-bom</artifactId>
-				<version>${grpc.version}</version>
+				<version>${pulsar-grpc.version}</version>
+				<type>pom</type>
+				<scope>import</scope>
+			</dependency>
+
+			<!-- Pulsar use higher netty version. -->
+			<dependency>
+				<groupId>io.netty</groupId>
+				<artifactId>netty-bom</artifactId>
+				<version>${pulsar-netty.version}</version>

Review comment:
       For dependencies, wondering have we tested there is no obvious runtime class issues ?

##########
File path: flink-connectors/flink-connector-pulsar/pom.xml
##########
@@ -36,12 +36,14 @@ under the License.
 	<packaging>jar</packaging>
 
 	<properties>
-		<pulsar.version>2.8.0</pulsar.version>
+		<pulsar.version>2.9.1</pulsar.version>
 
 		<!-- Test Libraries -->
 		<protobuf-maven-plugin.version>0.6.1</protobuf-maven-plugin.version>
-		<commons-lang3.version>3.11</commons-lang3.version>
-		<grpc.version>1.33.0</grpc.version>
+		<pulsar-commons-lang3.version>3.11</pulsar-commons-lang3.version>
+		<pulsar-zookeeper.version>3.6.3</pulsar-zookeeper.version>

Review comment:
       Are Netty and zookeepers used in test only ?

##########
File path: flink-connectors/flink-connector-pulsar/pom.xml
##########
@@ -36,12 +36,14 @@ under the License.
 	<packaging>jar</packaging>
 
 	<properties>
-		<pulsar.version>2.8.0</pulsar.version>
+		<pulsar.version>2.9.1</pulsar.version>

Review comment:
       nit:  Once sink and source are completed, we can document the pulsar versions

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/common/config/PulsarConfigValidator.java
##########
@@ -0,0 +1,104 @@
+/*
+ * 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.flink.connector.pulsar.common.config;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.configuration.ConfigOption;
+import org.apache.flink.configuration.Configuration;
+
+import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList;
+import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableSet;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import static org.apache.flink.util.Preconditions.checkArgument;
+
+/**
+ * A config validator for {@link PulsarConfigBuilder}, used for validation of source & sink builder.
+ *
+ * <p>We would validate:
+ *
+ * <ul>
+ *   <li>If user have provided the required client config options.
+ *   <li>If user have provided some conflict options.
+ * </ul>
+ */
+@Internal
+public class PulsarConfigValidator {

Review comment:
       This class looks ok to me. Would be nice to have some basic test case for it ~ 




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 7b0ea669fc400027e3ec31c28f5c8d93af9e5795 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571) 
   * 0c8c26e1f9b39c058f39ae6d0caa23f04518e835 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584) 
   * f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     } ]
   }-->
   ## CI report:
   
   * 2b8ddde74cdbdff873706d34b993e808ef0ea6c5 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507",
       "triggerID" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "triggerType" : "PUSH"
     }, {
       "hash" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532",
       "triggerID" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "triggerType" : "PUSH"
     }, {
       "hash" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31539",
       "triggerID" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a4bb0c45b5b8278391087ecfea66790bd08293af",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31548",
       "triggerID" : "a4bb0c45b5b8278391087ecfea66790bd08293af",
       "triggerType" : "PUSH"
     }, {
       "hash" : "26013d5b1c83f686757bb46a2dd3fe126044612a",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31557",
       "triggerID" : "26013d5b1c83f686757bb46a2dd3fe126044612a",
       "triggerType" : "PUSH"
     }, {
       "hash" : "38e9475b405df3004c00b216fe2edf552cb8c029",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31569",
       "triggerID" : "38e9475b405df3004c00b216fe2edf552cb8c029",
       "triggerType" : "PUSH"
     }, {
       "hash" : "05023f3a4797bc482c773722fab5d90b4fc4d102",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31597",
       "triggerID" : "05023f3a4797bc482c773722fab5d90b4fc4d102",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 38e9475b405df3004c00b216fe2edf552cb8c029 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31569) 
   * 05023f3a4797bc482c773722fab5d90b4fc4d102 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31597) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] fapaul commented on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
fapaul commented on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-1041295208


   The test failures is unrelated and caused by https://issues.apache.org/jira/browse/FLINK-26174 I rebased the branch locally and all pulsar tests + archUnit still pass


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 7b0ea669fc400027e3ec31c28f5c8d93af9e5795 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571) 
   * 0c8c26e1f9b39c058f39ae6d0caa23f04518e835 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584) 
   * f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957) 
   * c8820e335d23677ffb548b0d1fa8771fa7c1bce1 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] jianyun8023 commented on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
jianyun8023 commented on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940137342


   There is still a lot of room for improvement in this part of PulsarSink's state saving and recovery, so please help!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] jianyun8023 commented on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
jianyun8023 commented on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940139594


   @syhily @nlu90 This is the pr of Pulsar's new Sink, if you have time to help review.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] AHeise commented on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
AHeise commented on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940902653


   Thanks for opening this. I will have a look in the second half of this week.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "",
       "status" : "CANCELED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     } ]
   }-->
   ## CI report:
   
   * 43ffad7e2cbbb990ea6c1008a804986b844aa639 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961) 
   *  Unknown: [CANCELED](TBD) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     } ]
   }-->
   ## CI report:
   
   * f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969) 
   * 8e3d80bc6fc29bf1865667fff9ab32495fd217f0 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] jianyun8023 commented on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
jianyun8023 commented on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940678179


   @flinkbot run azure


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "",
       "status" : "CANCELED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   *  Unknown: [CANCELED](TBD) 
   * 7a74987d989f699bc68c2da8e0cd9bf3fa8065a6 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "",
       "status" : "CANCELED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   *  Unknown: [CANCELED](TBD) 
   * 7a74987d989f699bc68c2da8e0cd9bf3fa8065a6 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 40b7b444a0d0492677db15f5a841340e810ce0ff Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r799695824



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,203 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.operators.ProcessingTimeService;
+import org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext;
+import org.apache.flink.api.connector.sink2.Sink.InitContext;
+import org.apache.flink.api.connector.sink2.TwoPhaseCommittingSink.PrecommittingSinkWriter;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommittable;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContextAdapter;
+import org.apache.flink.connector.pulsar.sink.writer.message.RawMessage;
+import org.apache.flink.connector.pulsar.sink.writer.router.TopicRouter;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicMetadataListener;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicProducerRegister;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.function.SerializableFunction;
+
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.api.transaction.Transaction;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.Semaphore;
+
+import static java.util.Collections.emptyList;
+import static org.apache.flink.util.IOUtils.closeAll;
+
+/**
+ * This class is responsible to write records in a Pulsar topic and to handle the different delivery
+ * {@link DeliveryGuarantee}s.
+ *
+ * @param <IN> The type of the input elements.
+ */
+public class PulsarWriter<IN> implements PrecommittingSinkWriter<IN, PulsarCommittable> {

Review comment:
       This class has to be public because it locates in a different package compared to `PulsarSink`. `@Internal` isn't an allowed annotation due to the violations. We have to make it `@PublicEvolving` or `Public`.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,203 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.operators.ProcessingTimeService;
+import org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext;
+import org.apache.flink.api.connector.sink2.Sink.InitContext;
+import org.apache.flink.api.connector.sink2.TwoPhaseCommittingSink.PrecommittingSinkWriter;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommittable;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContextAdapter;
+import org.apache.flink.connector.pulsar.sink.writer.message.RawMessage;
+import org.apache.flink.connector.pulsar.sink.writer.router.TopicRouter;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicMetadataListener;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicProducerRegister;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.function.SerializableFunction;
+
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.api.transaction.Transaction;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.Semaphore;
+
+import static java.util.Collections.emptyList;
+import static org.apache.flink.util.IOUtils.closeAll;
+
+/**
+ * This class is responsible to write records in a Pulsar topic and to handle the different delivery
+ * {@link DeliveryGuarantee}s.
+ *
+ * @param <IN> The type of the input elements.
+ */
+public class PulsarWriter<IN> implements PrecommittingSinkWriter<IN, PulsarCommittable> {

Review comment:
       This class has to be public because it locates in a different package compared to `PulsarSink`. `@Internal` isn't an allowed annotation due to the violations. We have to make it `@PublicEvolving` or `@Public`.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r799718395



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,203 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.operators.ProcessingTimeService;
+import org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext;
+import org.apache.flink.api.connector.sink2.Sink.InitContext;
+import org.apache.flink.api.connector.sink2.TwoPhaseCommittingSink.PrecommittingSinkWriter;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommittable;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContextAdapter;
+import org.apache.flink.connector.pulsar.sink.writer.message.RawMessage;
+import org.apache.flink.connector.pulsar.sink.writer.router.TopicRouter;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicMetadataListener;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicProducerRegister;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.function.SerializableFunction;
+
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.api.transaction.Transaction;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.Semaphore;
+
+import static java.util.Collections.emptyList;
+import static org.apache.flink.util.IOUtils.closeAll;
+
+/**
+ * This class is responsible to write records in a Pulsar topic and to handle the different delivery
+ * {@link DeliveryGuarantee}s.
+ *
+ * @param <IN> The type of the input elements.
+ */
+public class PulsarWriter<IN> implements PrecommittingSinkWriter<IN, PulsarCommittable> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private final SinkConfiguration sinkConfiguration;
+    private final DeliveryGuarantee deliveryGuarantee;
+    private final PulsarSerializationSchema<IN> serializationSchema;
+    private final TopicRouter<IN> topicRouter;
+    private final PulsarSinkContextAdapter sinkContextAdapter;
+    private final TopicMetadataListener metadataListener;
+    private final MailboxExecutor mailboxExecutor;
+    private final TopicProducerRegister producerRegister;
+    private final Semaphore pendingMessages;
+
+    /**
+     * Constructor creating a Pulsar writer.
+     *
+     * <p>It will throw a {@link RuntimeException} if {@link
+     * PulsarSerializationSchema#open(InitializationContext, PulsarSinkContext, SinkConfiguration)}
+     * fails.
+     *
+     * @param sinkConfiguration the configuration to configure the Pulsar producer.
+     * @param serializationSchema serialize to transform the incoming records to {@link RawMessage}.
+     * @param metadataListener the listener for querying topic metadata.
+     * @param topicRouterProvider create related topic router to choose topic by incoming records.
+     * @param initContext context to provide information about the runtime environment.
+     */
+    public PulsarWriter(
+            SinkConfiguration sinkConfiguration,
+            PulsarSerializationSchema<IN> serializationSchema,
+            TopicMetadataListener metadataListener,
+            SerializableFunction<SinkConfiguration, TopicRouter<IN>> topicRouterProvider,
+            InitContext initContext) {
+        this.sinkConfiguration = sinkConfiguration;
+        this.deliveryGuarantee = sinkConfiguration.getDeliveryGuarantee();
+        this.serializationSchema = serializationSchema;
+        this.topicRouter = topicRouterProvider.apply(sinkConfiguration);
+        this.sinkContextAdapter = new PulsarSinkContextAdapter(initContext, sinkConfiguration);
+        this.metadataListener = metadataListener;
+        this.mailboxExecutor = initContext.getMailboxExecutor();
+
+        // Initialize topic metadata listener.
+        LOG.debug("Initialize topic metadata after creating Pulsar writer.");
+        ProcessingTimeService timeService = initContext.getProcessingTimeService();
+        metadataListener.open(sinkConfiguration, timeService);
+
+        // Initialize topic router.
+        topicRouter.open(sinkConfiguration);
+
+        // Initialize the serialization schema.
+        try {
+            InitializationContext initializationContext =
+                    initContext.asSerializationSchemaInitializationContext();
+            serializationSchema.open(initializationContext, sinkContextAdapter, sinkConfiguration);
+        } catch (Exception e) {
+            throw new FlinkRuntimeException("Cannot initialize schema.", e);
+        }
+
+        // Create this producer register after opening serialization schema!
+        this.producerRegister = new TopicProducerRegister(sinkConfiguration, serializationSchema);
+        this.pendingMessages = new Semaphore(sinkConfiguration.getMaxPendingMessages());
+    }
+
+    @Override
+    @SuppressWarnings("unchecked")
+    public void write(IN element, Context context) throws IOException, InterruptedException {
+        // Serialize the incoming element.
+        sinkContextAdapter.updateTimestamp(context);
+        RawMessage<byte[]> message = serializationSchema.serialize(element, sinkContextAdapter);
+
+        // Choose the right topic to send.
+        List<String> availableTopics = metadataListener.availableTopics();
+        String topic = topicRouter.route(element, message, availableTopics, sinkContextAdapter);
+
+        // Create message builder for sending message.
+        TypedMessageBuilder<?> builder = createMessageBuilder(topic, deliveryGuarantee);

Review comment:
       Can you clarify this? How could the situation you mentioned happen?
   
   Pulsar Transaction is a bit different compared to Kafka. Pulsar doesn't bind the Transaction to any Producer or Topic. You can create the transaction for your own needs. Publish or Consume messages from this transaction. The transaction is just a flag to mark the operation log.
   
   We have to refinement the transaction usage in the Pulsar sink. Every topic would only have one live transaction between the Flink checkpoint. And since the transaction is just a mark we can reuse it by the `TxnID`.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] nlu90 commented on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
nlu90 commented on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-959841631


   Thanks @fapaul for all the review. We'll update the PR in the following times.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 50c4d3ae81692fd5d7fb1d07758da8cc0aca0234 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] imaffe commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
imaffe commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r800452443



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,203 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.operators.ProcessingTimeService;
+import org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext;
+import org.apache.flink.api.connector.sink2.Sink.InitContext;
+import org.apache.flink.api.connector.sink2.TwoPhaseCommittingSink.PrecommittingSinkWriter;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommittable;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContextAdapter;
+import org.apache.flink.connector.pulsar.sink.writer.message.RawMessage;
+import org.apache.flink.connector.pulsar.sink.writer.router.TopicRouter;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicMetadataListener;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicProducerRegister;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.function.SerializableFunction;
+
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.api.transaction.Transaction;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.Semaphore;
+
+import static java.util.Collections.emptyList;
+import static org.apache.flink.util.IOUtils.closeAll;
+
+/**
+ * This class is responsible to write records in a Pulsar topic and to handle the different delivery
+ * {@link DeliveryGuarantee}s.
+ *
+ * @param <IN> The type of the input elements.
+ */
+public class PulsarWriter<IN> implements PrecommittingSinkWriter<IN, PulsarCommittable> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private final SinkConfiguration sinkConfiguration;
+    private final DeliveryGuarantee deliveryGuarantee;
+    private final PulsarSerializationSchema<IN> serializationSchema;
+    private final TopicRouter<IN> topicRouter;
+    private final PulsarSinkContextAdapter sinkContextAdapter;
+    private final TopicMetadataListener metadataListener;
+    private final MailboxExecutor mailboxExecutor;
+    private final TopicProducerRegister producerRegister;
+    private final Semaphore pendingMessages;
+
+    /**
+     * Constructor creating a Pulsar writer.
+     *
+     * <p>It will throw a {@link RuntimeException} if {@link
+     * PulsarSerializationSchema#open(InitializationContext, PulsarSinkContext, SinkConfiguration)}
+     * fails.
+     *
+     * @param sinkConfiguration the configuration to configure the Pulsar producer.
+     * @param serializationSchema serialize to transform the incoming records to {@link RawMessage}.
+     * @param metadataListener the listener for querying topic metadata.
+     * @param topicRouterProvider create related topic router to choose topic by incoming records.
+     * @param initContext context to provide information about the runtime environment.
+     */
+    public PulsarWriter(
+            SinkConfiguration sinkConfiguration,
+            PulsarSerializationSchema<IN> serializationSchema,
+            TopicMetadataListener metadataListener,
+            SerializableFunction<SinkConfiguration, TopicRouter<IN>> topicRouterProvider,
+            InitContext initContext) {
+        this.sinkConfiguration = sinkConfiguration;
+        this.deliveryGuarantee = sinkConfiguration.getDeliveryGuarantee();
+        this.serializationSchema = serializationSchema;
+        this.topicRouter = topicRouterProvider.apply(sinkConfiguration);
+        this.sinkContextAdapter = new PulsarSinkContextAdapter(initContext, sinkConfiguration);
+        this.metadataListener = metadataListener;
+        this.mailboxExecutor = initContext.getMailboxExecutor();
+
+        // Initialize topic metadata listener.
+        LOG.debug("Initialize topic metadata after creating Pulsar writer.");
+        ProcessingTimeService timeService = initContext.getProcessingTimeService();
+        metadataListener.open(sinkConfiguration, timeService);
+
+        // Initialize topic router.
+        topicRouter.open(sinkConfiguration);
+
+        // Initialize the serialization schema.
+        try {
+            InitializationContext initializationContext =
+                    initContext.asSerializationSchemaInitializationContext();
+            serializationSchema.open(initializationContext, sinkContextAdapter, sinkConfiguration);
+        } catch (Exception e) {
+            throw new FlinkRuntimeException("Cannot initialize schema.", e);
+        }
+
+        // Create this producer register after opening serialization schema!
+        this.producerRegister = new TopicProducerRegister(sinkConfiguration, serializationSchema);
+        this.pendingMessages = new Semaphore(sinkConfiguration.getMaxPendingMessages());
+    }
+
+    @Override
+    @SuppressWarnings("unchecked")
+    public void write(IN element, Context context) throws IOException, InterruptedException {
+        // Serialize the incoming element.
+        sinkContextAdapter.updateTimestamp(context);
+        RawMessage<byte[]> message = serializationSchema.serialize(element, sinkContextAdapter);
+
+        // Choose the right topic to send.
+        List<String> availableTopics = metadataListener.availableTopics();
+        String topic = topicRouter.route(element, message, availableTopics, sinkContextAdapter);
+
+        // Create message builder for sending message.
+        TypedMessageBuilder<?> builder = createMessageBuilder(topic, deliveryGuarantee);

Review comment:
       I think here the situation is similar to what we discussed in source connector. Basically if the messages in pending transactions are sent to Pulsar broker already (only that they are not visible to Pulsar consumers yet). If the job fails, then we lose handle to all the pending transactions and the pending messages in pulsar broker can never be committed. If we restart from the last checkpoint, what we can do is recreate a bunch of new transactions and resend the messages.  The only downside of this approach is the pending messages of the previous pending transactions in Pulsar broker will not be cleared until timeout.  So in this case the current implementation is safe as we are not attemping to reuse the same transactions across failures/checkpoints.
   
   However this can raise another discussion. We previously discussed with the Pulsar transaction developers, and we find that one approach is that for each checkpoint, we will first create transactions that will be used until next checkpoint, and then store these TxnIds in the current checkpoint. In this case, lets say we have two checkpoint c1 and c2, any messages sent between c1 and c2 will use transaction id, let's say txnId1, and this txnId1 is stored in c1. Everytime we restart from last checkpoint, we can actually reuse the transactions. This way the pending messages stored in Pulsar broker will not be wasted. 
   
   There is an edge case, so if after a restart and we get the txnId1, but this txnId1 can be timeout already (though we can set the timeout to a very large number to avoid this, but let's assume the timeout can really happen for now), in this case we can create a new transaction like the current implementation. 
   
   So to summarize
   1. current implementation is correct, the only concern is it might give pulsar broker extra burden (like the pending messages could prevent pulsar broker clear the log)
   2. the proposed alternative is to alleviate the possible extra burden, and it fall back to the current implementation if the timeout still happen. The downside is it introduces state to our sink writer. 
   
   I personally feel like. the current implementation is already good to go, the alternative can be discussed further to decide whether it is really needed




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] imaffe commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
imaffe commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r800452443



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,203 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.operators.ProcessingTimeService;
+import org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext;
+import org.apache.flink.api.connector.sink2.Sink.InitContext;
+import org.apache.flink.api.connector.sink2.TwoPhaseCommittingSink.PrecommittingSinkWriter;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommittable;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContextAdapter;
+import org.apache.flink.connector.pulsar.sink.writer.message.RawMessage;
+import org.apache.flink.connector.pulsar.sink.writer.router.TopicRouter;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicMetadataListener;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicProducerRegister;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.function.SerializableFunction;
+
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.api.transaction.Transaction;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.Semaphore;
+
+import static java.util.Collections.emptyList;
+import static org.apache.flink.util.IOUtils.closeAll;
+
+/**
+ * This class is responsible to write records in a Pulsar topic and to handle the different delivery
+ * {@link DeliveryGuarantee}s.
+ *
+ * @param <IN> The type of the input elements.
+ */
+public class PulsarWriter<IN> implements PrecommittingSinkWriter<IN, PulsarCommittable> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private final SinkConfiguration sinkConfiguration;
+    private final DeliveryGuarantee deliveryGuarantee;
+    private final PulsarSerializationSchema<IN> serializationSchema;
+    private final TopicRouter<IN> topicRouter;
+    private final PulsarSinkContextAdapter sinkContextAdapter;
+    private final TopicMetadataListener metadataListener;
+    private final MailboxExecutor mailboxExecutor;
+    private final TopicProducerRegister producerRegister;
+    private final Semaphore pendingMessages;
+
+    /**
+     * Constructor creating a Pulsar writer.
+     *
+     * <p>It will throw a {@link RuntimeException} if {@link
+     * PulsarSerializationSchema#open(InitializationContext, PulsarSinkContext, SinkConfiguration)}
+     * fails.
+     *
+     * @param sinkConfiguration the configuration to configure the Pulsar producer.
+     * @param serializationSchema serialize to transform the incoming records to {@link RawMessage}.
+     * @param metadataListener the listener for querying topic metadata.
+     * @param topicRouterProvider create related topic router to choose topic by incoming records.
+     * @param initContext context to provide information about the runtime environment.
+     */
+    public PulsarWriter(
+            SinkConfiguration sinkConfiguration,
+            PulsarSerializationSchema<IN> serializationSchema,
+            TopicMetadataListener metadataListener,
+            SerializableFunction<SinkConfiguration, TopicRouter<IN>> topicRouterProvider,
+            InitContext initContext) {
+        this.sinkConfiguration = sinkConfiguration;
+        this.deliveryGuarantee = sinkConfiguration.getDeliveryGuarantee();
+        this.serializationSchema = serializationSchema;
+        this.topicRouter = topicRouterProvider.apply(sinkConfiguration);
+        this.sinkContextAdapter = new PulsarSinkContextAdapter(initContext, sinkConfiguration);
+        this.metadataListener = metadataListener;
+        this.mailboxExecutor = initContext.getMailboxExecutor();
+
+        // Initialize topic metadata listener.
+        LOG.debug("Initialize topic metadata after creating Pulsar writer.");
+        ProcessingTimeService timeService = initContext.getProcessingTimeService();
+        metadataListener.open(sinkConfiguration, timeService);
+
+        // Initialize topic router.
+        topicRouter.open(sinkConfiguration);
+
+        // Initialize the serialization schema.
+        try {
+            InitializationContext initializationContext =
+                    initContext.asSerializationSchemaInitializationContext();
+            serializationSchema.open(initializationContext, sinkContextAdapter, sinkConfiguration);
+        } catch (Exception e) {
+            throw new FlinkRuntimeException("Cannot initialize schema.", e);
+        }
+
+        // Create this producer register after opening serialization schema!
+        this.producerRegister = new TopicProducerRegister(sinkConfiguration, serializationSchema);
+        this.pendingMessages = new Semaphore(sinkConfiguration.getMaxPendingMessages());
+    }
+
+    @Override
+    @SuppressWarnings("unchecked")
+    public void write(IN element, Context context) throws IOException, InterruptedException {
+        // Serialize the incoming element.
+        sinkContextAdapter.updateTimestamp(context);
+        RawMessage<byte[]> message = serializationSchema.serialize(element, sinkContextAdapter);
+
+        // Choose the right topic to send.
+        List<String> availableTopics = metadataListener.availableTopics();
+        String topic = topicRouter.route(element, message, availableTopics, sinkContextAdapter);
+
+        // Create message builder for sending message.
+        TypedMessageBuilder<?> builder = createMessageBuilder(topic, deliveryGuarantee);

Review comment:
       I think here the situation is similar to what we discussed in source connector. Basically if the messages in pending transactions are sent to Pulsar broker already (only that they are not visible to Pulsar consumers yet). If the job fails, then we lose handle to all the pending transactions. If we restart from the last checkpoint, what we can do is recreate a bunch of new transactions and resend the messages.  The only downside of this approach is the pending messages of the previous pending transactions in Pulsar broker will not be cleared until timeout.  So in this case the current implementation is safe as we are not attemping to reuse the same transactions across failures/checkpoints.
   
   However this can raise another discussion. We previously discussed with the Pulsar transaction developers, and we find that one approach is that for each checkpoint, we will first create transactions that will be used until next checkpoint, and then store these TxnIds in the current checkpoint. In this case, lets say we have two checkpoint c1 and c2, any messages sent between c1 and c2 will use transaction id, let's say txnId1, and this txnId1 is stored in c1. Everytime we restart from last checkpoint, we can actually reuse the transactions. This way the pending messages stored in Pulsar broker will not be wasted. 
   
   There is an edge case, so if after a restart and we get the txnId1, but this txnId1 can be timeout already (though we can set the timeout to a very large number to avoid this, but let's assume the timeout can really happen for now), in this case we can create a new transaction like the current implementation. 
   
   So to summarize
   1. current implementation is correct, the only concern is it might give pulsar broker extra burden (like the pending messages could prevent pulsar broker clear the log)
   2. the proposed alternative is to alleviate the possible extra burden, and it fall back to the current implementation if the timeout still happen. The downside is it introduces state to our sink writer. 
   
   I personally feel like. the current implementation is already good to go, the alternative can be discussed further to decide whether it is really needed




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507",
       "triggerID" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "triggerType" : "PUSH"
     }, {
       "hash" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532",
       "triggerID" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495) 
   * 8cc9d45130f50e1af9040850a825a092e728dece Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507) 
   * cb193056896ffd7823d5155acb8dfa271b7656db Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a49364d47478c98f43f95d9b58b699da6da6d433 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] fapaul commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
fapaul commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r805779953



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/context/PulsarSinkContextAdapter.java
##########
@@ -0,0 +1,68 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.context;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.connector.sink2.Sink.InitContext;
+import org.apache.flink.api.connector.sink2.SinkWriter.Context;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+
+import javax.annotation.Nullable;
+
+/** A reusable sink context for serializing pulsar raw message. */
+@Internal
+public class PulsarSinkContextAdapter implements PulsarSinkContext {
+
+    private final int numberOfParallelSubtasks;
+    private final int parallelInstanceId;
+    private final boolean enableSchemaEvolution;
+    private Long timestamp;
+
+    public PulsarSinkContextAdapter(InitContext initContext, SinkConfiguration sinkConfiguration) {
+        this.parallelInstanceId = initContext.getSubtaskId();
+        this.numberOfParallelSubtasks = initContext.getNumberOfParallelSubtasks();
+        this.enableSchemaEvolution = sinkConfiguration.isEnableSchemaEvolution();
+    }
+
+    @Override
+    public int getParallelInstanceId() {
+        return parallelInstanceId;
+    }
+
+    @Override
+    public int getNumberOfParallelInstances() {
+        return numberOfParallelSubtasks;
+    }
+
+    @Override
+    public boolean isEnableSchemaEvolution() {
+        return enableSchemaEvolution;
+    }
+
+    @Nullable
+    @Override
+    public Long timestamp() {
+        return timestamp;
+    }
+
+    /** Dynamic update the time by Flink sink writer context. */
+    public void updateTimestamp(Context context) {
+        this.timestamp = context.timestamp();

Review comment:
       Nit: might be easier to directly pass the nullable Long.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/serializer/PulsarSerializationSchema.java
##########
@@ -0,0 +1,184 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.serializer;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext;
+import org.apache.flink.connector.pulsar.common.schema.PulsarSchema;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+
+import org.apache.pulsar.client.api.Schema;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.common.schema.KeyValue;
+
+import java.io.Serializable;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * The serialization schema for how to serialize record into Pulsar.
+ *
+ * @param <IN> The message type send to Pulsar.
+ */
+@PublicEvolving
+public interface PulsarSerializationSchema<IN> extends Serializable {
+
+    /**
+     * Initialization method for the schema. It is called before the actual working methods {@link
+     * #serialize(Object)} and thus suitable for one time setup work.
+     *
+     * <p>The provided {@link InitializationContext} can be used to access additional features such
+     * as e.g. registering user metrics.
+     *
+     * @param initializationContext Contextual information that can be used during initialization.
+     * @param sinkContext runtime information i.e. partitions, subtaskId
+     * @param sinkConfiguration All the configure options for Pulsar sink. You can add custom
+     *     options.
+     */
+    default void open(
+            InitializationContext initializationContext,
+            PulsarSinkContext sinkContext,
+            SinkConfiguration sinkConfiguration)
+            throws Exception {}
+
+    /**
+     * Serializes given element into bytes. Property {@link TypedMessageBuilder#value(Object)}.
+     *
+     * @param element element to be serialized
+     */
+    byte[] serialize(IN element);
+
+    /**
+     * Property {@link TypedMessageBuilder#orderingKey(byte[])}.
+     *
+     * @param element element to be serialized
+     * @param sinkContext context to provide extra information.
+     */
+    default byte[] orderingKey(IN element, PulsarSinkContext sinkContext) {
+        return new byte[0];
+    }
+
+    /**
+     * Property {@link TypedMessageBuilder#key(String)}.
+     *
+     * @param element element to be serialized
+     * @param sinkContext context to provide extra information.
+     */
+    default String key(IN element, PulsarSinkContext sinkContext) {
+        return null;
+    }
+
+    /**
+     * Property {@link TypedMessageBuilder#properties(Map)}.
+     *
+     * @param element element to be serialized
+     * @param sinkContext context to provide extra information.
+     */
+    default Map<String, String> properties(IN element, PulsarSinkContext sinkContext) {
+        return Collections.emptyMap();
+    }
+
+    /**
+     * Property {@link TypedMessageBuilder#eventTime(long)}. This value could be nullable if the
+     * element don't have a timestamp.
+     *
+     * @param element element to be serialized
+     * @param sinkContext context to provide extra information.
+     */
+    default Long eventTime(IN element, PulsarSinkContext sinkContext) {
+        return sinkContext.timestamp();
+    }
+
+    /**
+     * Property {@link TypedMessageBuilder#replicationClusters(List)}.
+     *
+     * @param element element to be serialized
+     * @param sinkContext context to provide extra information.
+     */
+    default List<String> replicationClusters(IN element, PulsarSinkContext sinkContext) {
+        return Collections.emptyList();
+    }
+
+    /**
+     * Property {@link TypedMessageBuilder#disableReplication()}.
+     *
+     * @param element element to be serialized
+     * @param sinkContext context to provide extra information.
+     */
+    default boolean disableReplication(IN element, PulsarSinkContext sinkContext) {
+        return false;
+    }
+
+    /** @return The related Pulsar Schema for this serializer. */
+    default Schema<IN> schema() {
+        throw new UnsupportedOperationException(
+                "Implement this method if you need Pulsar schema evolution.");
+    }
+
+    /**
+     * Create a PulsarSerializationSchema by using the flink's {@link SerializationSchema}. It would
+     * consume the pulsar message as byte array and decode the message by using flink's logic.
+     */
+    static <T> PulsarSerializationSchema<T> flinkSchema(

Review comment:
       Nit: Usually I prefer to have method names start with a verb. So maybe `ofFlinkSchema`?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,237 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.operators.ProcessingTimeService;
+import org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext;
+import org.apache.flink.api.connector.sink2.Sink.InitContext;
+import org.apache.flink.api.connector.sink2.TwoPhaseCommittingSink.PrecommittingSinkWriter;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommittable;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContextAdapter;
+import org.apache.flink.connector.pulsar.sink.writer.router.TopicRouter;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.BytesSchema;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicMetadataListener;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicProducerRegister;
+import org.apache.flink.util.FlinkRuntimeException;
+
+import org.apache.flink.shaded.guava30.com.google.common.base.Strings;
+
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.Schema;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.Semaphore;
+
+import static java.util.Collections.emptyList;
+import static org.apache.flink.util.IOUtils.closeAll;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * This class is responsible to write records in a Pulsar topic and to handle the different delivery
+ * {@link DeliveryGuarantee}s.
+ *
+ * @param <IN> The type of the input elements.
+ */
+@Internal
+public class PulsarWriter<IN> implements PrecommittingSinkWriter<IN, PulsarCommittable> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private final SinkConfiguration sinkConfiguration;
+    private final PulsarSerializationSchema<IN> serializationSchema;
+    private final TopicMetadataListener metadataListener;
+    private final TopicRouter<IN> topicRouter;
+    private final Schema<IN> schema;
+    private final DeliveryGuarantee deliveryGuarantee;
+    private final PulsarSinkContextAdapter sinkContextAdapter;
+    private final MailboxExecutor mailboxExecutor;
+    private final TopicProducerRegister<IN> producerRegister;
+    private final Semaphore pendingMessages;
+
+    /**
+     * Constructor creating a Pulsar writer.
+     *
+     * <p>It will throw a {@link RuntimeException} if {@link
+     * PulsarSerializationSchema#open(InitializationContext, PulsarSinkContext, SinkConfiguration)}
+     * fails.
+     *
+     * @param sinkConfiguration the configuration to configure the Pulsar producer.
+     * @param serializationSchema transform the incoming records into different message properties.
+     * @param metadataListener the listener for querying topic metadata.
+     * @param topicRouter topic router to choose topic by incoming records.
+     * @param initContext context to provide information about the runtime environment.
+     */
+    public PulsarWriter(
+            SinkConfiguration sinkConfiguration,
+            PulsarSerializationSchema<IN> serializationSchema,
+            TopicMetadataListener metadataListener,
+            TopicRouter<IN> topicRouter,
+            InitContext initContext) {
+        this.sinkConfiguration = checkNotNull(sinkConfiguration);
+        this.serializationSchema = checkNotNull(serializationSchema);
+        this.metadataListener = checkNotNull(metadataListener);
+        this.topicRouter = checkNotNull(topicRouter);
+        checkNotNull(initContext);
+
+        if (sinkConfiguration.isEnableSchemaEvolution()) {
+            this.schema = serializationSchema.schema();
+        } else {
+            this.schema = new BytesSchema<>(serializationSchema);
+        }
+
+        this.deliveryGuarantee = sinkConfiguration.getDeliveryGuarantee();
+        this.sinkContextAdapter = new PulsarSinkContextAdapter(initContext, sinkConfiguration);
+        this.mailboxExecutor = initContext.getMailboxExecutor();
+
+        // Initialize topic metadata listener.
+        LOG.debug("Initialize topic metadata after creating Pulsar writer.");
+        ProcessingTimeService timeService = initContext.getProcessingTimeService();
+        this.metadataListener.open(sinkConfiguration, timeService);
+
+        // Initialize topic router.
+        this.topicRouter.open(sinkConfiguration);
+
+        // Initialize the serialization schema.
+        try {
+            InitializationContext initializationContext =
+                    initContext.asSerializationSchemaInitializationContext();
+            this.serializationSchema.open(
+                    initializationContext, sinkContextAdapter, sinkConfiguration);
+        } catch (Exception e) {
+            throw new FlinkRuntimeException("Cannot initialize schema.", e);
+        }
+
+        // Create this producer register after opening serialization schema!
+        this.producerRegister = new TopicProducerRegister<>(sinkConfiguration);
+        this.pendingMessages = new Semaphore(sinkConfiguration.getMaxPendingMessages());
+    }
+
+    @Override
+    public void write(IN element, Context context) throws IOException, InterruptedException {
+        // Serialize the incoming element.
+        sinkContextAdapter.updateTimestamp(context);
+
+        // Choose the right topic to send.
+        List<String> availableTopics = metadataListener.availableTopics();
+        String topic = topicRouter.route(element, availableTopics, sinkContextAdapter);
+
+        // Create message builder for sending message.
+        TypedMessageBuilder<IN> builder = createMessageBuilder(topic, element, sinkContextAdapter);
+
+        // Perform message sending.
+        if (deliveryGuarantee == DeliveryGuarantee.NONE) {
+            // We would just ignore the sending exception. This may cause data loss.
+            builder.sendAsync();
+        } else {
+            // Waiting for permits to write message.
+            pendingMessages.acquire();
+            CompletableFuture<MessageId> sender = builder.sendAsync();
+            sender.whenComplete(
+                    (id, ex) -> {
+                        pendingMessages.release();
+                        if (ex != null) {
+                            mailboxExecutor.execute(
+                                    () -> {
+                                        throw new FlinkRuntimeException(
+                                                "Failed to send data to Pulsar " + topic, ex);
+                                    },
+                                    "Failed to send message to Pulsar");
+                        } else {
+                            LOG.debug("Sent message to Pulsar {} with message id {}", topic, id);
+                        }
+                    });
+        }
+    }
+
+    private TypedMessageBuilder<IN> createMessageBuilder(
+            String topic, IN element, PulsarSinkContextAdapter context) {
+        TypedMessageBuilder<IN> builder =
+                producerRegister.createMessageBuilder(topic, element, schema);
+
+        byte[] orderingKey = serializationSchema.orderingKey(element, context);
+        if (orderingKey != null) {
+            builder.orderingKey(orderingKey);
+        }
+
+        String key = serializationSchema.key(element, context);
+        if (!Strings.isNullOrEmpty(key)) {
+            builder.key(key);
+        }
+
+        Map<String, String> properties = serializationSchema.properties(element, context);
+        if (properties != null) {
+            builder.properties(properties);
+        }
+
+        Long timestamp = serializationSchema.eventTime(element, context);
+        if (timestamp != null) {
+            builder.eventTime(timestamp);
+        }
+
+        List<String> clusters = serializationSchema.replicationClusters(element, context);
+        if (clusters != null) {
+            builder.replicationClusters(clusters);
+        }
+
+        if (serializationSchema.disableReplication(element, context)) {
+            builder.disableReplication();
+        }
+
+        return builder;
+    }
+
+    @Override
+    public void flush(boolean endOfInput) throws IOException {
+        if (endOfInput) {
+            // Try flush only once when we meet the end of the input.
+            producerRegister.flush();
+        } else {
+            while (pendingMessages.availablePermits() < sinkConfiguration.getMaxPendingMessages()) {

Review comment:
       What happens if more messages are pending than the maximum and the job fails after another checkpoint?
   
   It looks to me that some records are lost because they have not been flushed but the checkpoint has succeeded.
   
   In general, I cannot understand the condition because if more than maxPendingMessages are received before the checkpoint it looks like they are never flushed.

##########
File path: flink-connectors/flink-connector-pulsar/src/test/java/org/apache/flink/connector/pulsar/testutils/runtime/embedded/PulsarEmbeddedRuntime.java
##########
@@ -0,0 +1,284 @@
+/*
+ * 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.flink.connector.pulsar.testutils.runtime.embedded;
+
+import org.apache.flink.connector.pulsar.testutils.runtime.PulsarRuntime;
+import org.apache.flink.connector.pulsar.testutils.runtime.PulsarRuntimeOperator;
+import org.apache.flink.util.FileUtils;
+
+import org.apache.bookkeeper.conf.ServerConfiguration;
+import org.apache.logging.log4j.LogManager;
+import org.apache.pulsar.broker.PulsarService;
+import org.apache.pulsar.broker.ServiceConfiguration;
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.common.configuration.PulsarConfigurationLoader;
+import org.apache.pulsar.common.naming.TopicName;
+import org.apache.pulsar.common.policies.data.ClusterData;
+import org.apache.pulsar.common.policies.data.TenantInfo;
+import org.apache.pulsar.common.policies.data.TenantInfoImpl;
+import org.apache.pulsar.functions.worker.WorkerConfig;
+import org.apache.pulsar.zookeeper.LocalBookkeeperEnsemble;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.net.URL;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
+
+import static org.apache.flink.util.Preconditions.checkNotNull;
+import static org.apache.pulsar.broker.ServiceConfigurationUtils.brokerUrl;
+import static org.apache.pulsar.broker.ServiceConfigurationUtils.webServiceUrl;
+import static org.apache.pulsar.common.naming.NamespaceName.SYSTEM_NAMESPACE;
+import static org.apache.pulsar.common.naming.TopicName.TRANSACTION_COORDINATOR_ASSIGN;
+
+/** Providing a embedded pulsar server. We use this runtime for transaction related tests. */
+public class PulsarEmbeddedRuntime implements PulsarRuntime {

Review comment:
       In the past, we had some trouble with the Kafka tests going against some kind of embedded cluster because essentially it relied on not public internal server API. I suspect it is the same case here with pulsar.
   
   Do you think it is really necessary to offer an embedded runtime? 

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/common/utils/PulsarTransactionUtils.java
##########
@@ -0,0 +1,66 @@
+/*
+ * 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.flink.connector.pulsar.common.utils;
+
+import org.apache.flink.util.FlinkRuntimeException;
+
+import org.apache.pulsar.client.api.PulsarClient;
+import org.apache.pulsar.client.api.transaction.Transaction;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException;
+
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.TimeUnit;
+
+import static org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils.sneakyClient;
+import static org.apache.flink.util.ExceptionUtils.findThrowable;
+
+/** A suit of workarounds for the Pulsar Transaction. */
+public final class PulsarTransactionUtils {

Review comment:
       `@Internal`

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,203 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.operators.ProcessingTimeService;
+import org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext;
+import org.apache.flink.api.connector.sink2.Sink.InitContext;
+import org.apache.flink.api.connector.sink2.TwoPhaseCommittingSink.PrecommittingSinkWriter;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommittable;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContextAdapter;
+import org.apache.flink.connector.pulsar.sink.writer.message.RawMessage;
+import org.apache.flink.connector.pulsar.sink.writer.router.TopicRouter;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicMetadataListener;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicProducerRegister;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.function.SerializableFunction;
+
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.api.transaction.Transaction;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.Semaphore;
+
+import static java.util.Collections.emptyList;
+import static org.apache.flink.util.IOUtils.closeAll;
+
+/**
+ * This class is responsible to write records in a Pulsar topic and to handle the different delivery
+ * {@link DeliveryGuarantee}s.
+ *
+ * @param <IN> The type of the input elements.
+ */
+public class PulsarWriter<IN> implements PrecommittingSinkWriter<IN, PulsarCommittable> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private final SinkConfiguration sinkConfiguration;
+    private final DeliveryGuarantee deliveryGuarantee;
+    private final PulsarSerializationSchema<IN> serializationSchema;
+    private final TopicRouter<IN> topicRouter;
+    private final PulsarSinkContextAdapter sinkContextAdapter;
+    private final TopicMetadataListener metadataListener;
+    private final MailboxExecutor mailboxExecutor;
+    private final TopicProducerRegister producerRegister;
+    private final Semaphore pendingMessages;
+
+    /**
+     * Constructor creating a Pulsar writer.
+     *
+     * <p>It will throw a {@link RuntimeException} if {@link
+     * PulsarSerializationSchema#open(InitializationContext, PulsarSinkContext, SinkConfiguration)}
+     * fails.
+     *
+     * @param sinkConfiguration the configuration to configure the Pulsar producer.
+     * @param serializationSchema serialize to transform the incoming records to {@link RawMessage}.
+     * @param metadataListener the listener for querying topic metadata.
+     * @param topicRouterProvider create related topic router to choose topic by incoming records.
+     * @param initContext context to provide information about the runtime environment.
+     */
+    public PulsarWriter(
+            SinkConfiguration sinkConfiguration,
+            PulsarSerializationSchema<IN> serializationSchema,
+            TopicMetadataListener metadataListener,
+            SerializableFunction<SinkConfiguration, TopicRouter<IN>> topicRouterProvider,
+            InitContext initContext) {
+        this.sinkConfiguration = sinkConfiguration;
+        this.deliveryGuarantee = sinkConfiguration.getDeliveryGuarantee();
+        this.serializationSchema = serializationSchema;
+        this.topicRouter = topicRouterProvider.apply(sinkConfiguration);
+        this.sinkContextAdapter = new PulsarSinkContextAdapter(initContext, sinkConfiguration);
+        this.metadataListener = metadataListener;
+        this.mailboxExecutor = initContext.getMailboxExecutor();
+
+        // Initialize topic metadata listener.
+        LOG.debug("Initialize topic metadata after creating Pulsar writer.");
+        ProcessingTimeService timeService = initContext.getProcessingTimeService();
+        metadataListener.open(sinkConfiguration, timeService);
+
+        // Initialize topic router.
+        topicRouter.open(sinkConfiguration);
+
+        // Initialize the serialization schema.
+        try {
+            InitializationContext initializationContext =
+                    initContext.asSerializationSchemaInitializationContext();
+            serializationSchema.open(initializationContext, sinkContextAdapter, sinkConfiguration);
+        } catch (Exception e) {
+            throw new FlinkRuntimeException("Cannot initialize schema.", e);
+        }
+
+        // Create this producer register after opening serialization schema!
+        this.producerRegister = new TopicProducerRegister(sinkConfiguration, serializationSchema);
+        this.pendingMessages = new Semaphore(sinkConfiguration.getMaxPendingMessages());
+    }
+
+    @Override
+    @SuppressWarnings("unchecked")
+    public void write(IN element, Context context) throws IOException, InterruptedException {
+        // Serialize the incoming element.
+        sinkContextAdapter.updateTimestamp(context);
+        RawMessage<byte[]> message = serializationSchema.serialize(element, sinkContextAdapter);
+
+        // Choose the right topic to send.
+        List<String> availableTopics = metadataListener.availableTopics();
+        String topic = topicRouter.route(element, message, availableTopics, sinkContextAdapter);
+
+        // Create message builder for sending message.
+        TypedMessageBuilder<?> builder = createMessageBuilder(topic, deliveryGuarantee);
+        if (sinkConfiguration.isEnableSchemaEvolution()) {
+            ((TypedMessageBuilder<IN>) builder).value(element);
+        } else {
+            ((TypedMessageBuilder<byte[]>) builder).value(message.getValue());
+        }
+        message.supplement(builder);
+
+        // Perform message sending.
+        if (deliveryGuarantee == DeliveryGuarantee.NONE) {
+            // We would just ignore the sending exception. This may cause data loss.
+            builder.sendAsync();
+        } else {
+            // Waiting for permits to write message.
+            pendingMessages.acquire();
+            CompletableFuture<MessageId> sender = builder.sendAsync();
+            sender.whenComplete(
+                    (id, ex) -> {
+                        pendingMessages.release();

Review comment:
       > I just thought the mailbox and writer could be executed in the different threads in the future. So the cost for a semaphore is totally accepted, right?
   
   The mailbox is responsible to execute all operations of the task. So all methods of the SinkWriter are invoked by the mailbox thread. If you enqueue an update to the counter in the mailbox when the future finishes you do not need the synchronization. 

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/delayer/MessageDelayer.java
##########
@@ -0,0 +1,62 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.delayer;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+
+import org.apache.pulsar.client.api.SubscriptionType;
+
+import java.io.Serializable;
+import java.time.Duration;
+
+/**
+ * A delayer for Pulsar broker passing the sent message to the downstream consumer. This is only
+ * works in {@link SubscriptionType#Shared} subscription.
+ *
+ * <p>Read <a
+ * href="https://pulsar.apache.org/docs/en/next/concepts-messaging/#delayed-message-delivery">delayed
+ * message delivery</a> for better understanding this feature.
+ */
+@PublicEvolving
+public interface MessageDelayer<IN> extends Serializable {

Review comment:
       WDYT about adding this feature as a follow-up and it may complicate things? I also miss some tests for this behaviour

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -205,6 +209,12 @@ public void write(IN element, Context context) throws IOException, InterruptedEx
             builder.disableReplication();
         }
 
+        // Message Delay
+        long deliverAt = messageDelayer.deliverAt(element, context);
+        if (deliverAt > 0) {
+            builder.deliverAt(deliverAt);

Review comment:
       How does the message delayer work with flushing on checkpoint? What is the usual motivation behind that feature with Pulsar?

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/serializer/PulsarSerializationSchema.java
##########
@@ -0,0 +1,184 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.serializer;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext;
+import org.apache.flink.connector.pulsar.common.schema.PulsarSchema;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+
+import org.apache.pulsar.client.api.Schema;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.common.schema.KeyValue;
+
+import java.io.Serializable;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * The serialization schema for how to serialize record into Pulsar.
+ *
+ * @param <IN> The message type send to Pulsar.
+ */
+@PublicEvolving
+public interface PulsarSerializationSchema<IN> extends Serializable {
+
+    /**
+     * Initialization method for the schema. It is called before the actual working methods {@link
+     * #serialize(Object)} and thus suitable for one time setup work.
+     *
+     * <p>The provided {@link InitializationContext} can be used to access additional features such
+     * as e.g. registering user metrics.
+     *
+     * @param initializationContext Contextual information that can be used during initialization.
+     * @param sinkContext runtime information i.e. partitions, subtaskId
+     * @param sinkConfiguration All the configure options for Pulsar sink. You can add custom
+     *     options.
+     */
+    default void open(
+            InitializationContext initializationContext,
+            PulsarSinkContext sinkContext,
+            SinkConfiguration sinkConfiguration)
+            throws Exception {}
+
+    /**
+     * Serializes given element into bytes. Property {@link TypedMessageBuilder#value(Object)}.
+     *
+     * @param element element to be serialized
+     */
+    byte[] serialize(IN element);

Review comment:
       I think it would be easier to give more control in the `serialize method`
   
   ```java
   TypedMessageBuilder<IN> serialize(IN element, TypedMessageBuilder<IN> messageBuilder, @Nullable Long timestamp)
   ```
   users can then directly set the wanted fields and you do not have to do the null checks in the `PulsarWriter`. It also increases the maintainability if Pulsar adds more options to the `TypedMessageBuilder`.
   
   and remove all the configuration methods from the interface.

##########
File path: flink-connectors/flink-connector-pulsar/src/test/java/org/apache/flink/connector/pulsar/testutils/function/FailingOnCheckpoint.java
##########
@@ -0,0 +1,60 @@
+/*
+ * 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.flink.connector.pulsar.testutils.function;
+
+import org.apache.flink.api.common.functions.RichMapFunction;
+import org.apache.flink.api.common.state.CheckpointListener;
+import org.apache.flink.testutils.junit.SharedObjectsExtension;
+import org.apache.flink.testutils.junit.SharedReference;
+
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
+
+/** Fails after a checkpoint is taken and the next record was emitted. */
+public class FailingOnCheckpoint extends RichMapFunction<Long, Long> implements CheckpointListener {
+    private static final long serialVersionUID = -2595809047617609928L;
+
+    private volatile long lastCheckpointId = 0;
+
+    private final AtomicInteger emittedBetweenCheckpoint = new AtomicInteger(0);
+    private final SharedReference<AtomicBoolean> failed;
+
+    public FailingOnCheckpoint(SharedObjectsExtension sharedObjects) {
+        this.failed = sharedObjects.add(new AtomicBoolean(false));
+    }
+
+    @Override
+    public Long map(Long value) throws Exception {
+        if (lastCheckpointId >= 1 && emittedBetweenCheckpoint.get() > 0 && !failed.get().get()) {
+            failed.get().set(true);
+            throw new RuntimeException("Planned exception.");
+        }
+        // Delay execution to ensure that at-least one checkpoint is triggered before finish
+        Thread.sleep(50);

Review comment:
       Not sure I understand this. If you block in the map method the checkpoint is also blocked.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r805939365



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/serializer/PulsarSerializationSchema.java
##########
@@ -0,0 +1,184 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.serializer;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext;
+import org.apache.flink.connector.pulsar.common.schema.PulsarSchema;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+
+import org.apache.pulsar.client.api.Schema;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.common.schema.KeyValue;
+
+import java.io.Serializable;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * The serialization schema for how to serialize record into Pulsar.
+ *
+ * @param <IN> The message type send to Pulsar.
+ */
+@PublicEvolving
+public interface PulsarSerializationSchema<IN> extends Serializable {
+
+    /**
+     * Initialization method for the schema. It is called before the actual working methods {@link
+     * #serialize(Object)} and thus suitable for one time setup work.
+     *
+     * <p>The provided {@link InitializationContext} can be used to access additional features such
+     * as e.g. registering user metrics.
+     *
+     * @param initializationContext Contextual information that can be used during initialization.
+     * @param sinkContext runtime information i.e. partitions, subtaskId
+     * @param sinkConfiguration All the configure options for Pulsar sink. You can add custom
+     *     options.
+     */
+    default void open(
+            InitializationContext initializationContext,
+            PulsarSinkContext sinkContext,
+            SinkConfiguration sinkConfiguration)
+            throws Exception {}
+
+    /**
+     * Serializes given element into bytes. Property {@link TypedMessageBuilder#value(Object)}.
+     *
+     * @param element element to be serialized
+     */
+    byte[] serialize(IN element);

Review comment:
       We can wrap the `TypedMessageBuilder` into a custom message builder interface and only expose the required methods?
   
   ```
   public interface MessageBuilder {
       MessageBuilder orderingKey(byte[] orderingKey);
       MessageBuilder properties(Map<String, String> properties);
       ...
   }
   
   public class PulsarMessageBuilder implements MessageBuilder {
       // TODO
   }
   ```




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-1040448384


   > The PulsarSerializationSchema looks mostly good, great work. I left some last minor cleanup comments.
   
   You are right. Using a generic type of `PulsarMessage` is better than before.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507",
       "triggerID" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "triggerType" : "PUSH"
     }, {
       "hash" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532",
       "triggerID" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "triggerType" : "PUSH"
     }, {
       "hash" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31539",
       "triggerID" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a4bb0c45b5b8278391087ecfea66790bd08293af",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31548",
       "triggerID" : "a4bb0c45b5b8278391087ecfea66790bd08293af",
       "triggerType" : "PUSH"
     }, {
       "hash" : "26013d5b1c83f686757bb46a2dd3fe126044612a",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31557",
       "triggerID" : "26013d5b1c83f686757bb46a2dd3fe126044612a",
       "triggerType" : "PUSH"
     }, {
       "hash" : "38e9475b405df3004c00b216fe2edf552cb8c029",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31569",
       "triggerID" : "38e9475b405df3004c00b216fe2edf552cb8c029",
       "triggerType" : "PUSH"
     }, {
       "hash" : "05023f3a4797bc482c773722fab5d90b4fc4d102",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31597",
       "triggerID" : "05023f3a4797bc482c773722fab5d90b4fc4d102",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a24b9c4537e17aac170568bbbc4f8dc5b2c794df",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31601",
       "triggerID" : "a24b9c4537e17aac170568bbbc4f8dc5b2c794df",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a24b9c4537e17aac170568bbbc4f8dc5b2c794df Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31601) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 5b79cd362aaca74e6c40b6806b45583aebf71fd3 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 41ed8dfb2e8b804827e761eda9dc2082f7a553d7 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302) 
   * 5b79cd362aaca74e6c40b6806b45583aebf71fd3 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 59f46a383a5cca968faf82f8c260217649a6f825 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r791420346



##########
File path: flink-connectors/flink-connector-pulsar/pom.xml
##########
@@ -138,23 +140,60 @@ under the License.
 			<version>${pulsar.version}</version>
 			<scope>test</scope>
 		</dependency>
+
 		<!-- Pulsar use a newer commons-lang3 in broker. -->
 		<!-- Bump the version only for testing. -->
 		<dependency>
 			<groupId>org.apache.commons</groupId>
 			<artifactId>commons-lang3</artifactId>
-			<version>${commons-lang3.version}</version>
+			<version>${pulsar-commons-lang3.version}</version>
+			<scope>test</scope>
+		</dependency>
+
+		<!-- Pulsar use a newer zookeeper in broker. -->
+		<!-- Bump the version only for testing. -->
+		<dependency>
+			<groupId>org.apache.zookeeper</groupId>
+			<artifactId>zookeeper</artifactId>
+			<version>${pulsar-zookeeper.version}</version>
 			<scope>test</scope>
 		</dependency>
 
 		<!-- Add Pulsar 2.x as a dependency. -->
 		<!-- Move this to button for avoiding class conflicts with pulsar-broker. -->
-
 		<dependency>
 			<groupId>org.apache.pulsar</groupId>
 			<artifactId>pulsar-client-all</artifactId>
 			<version>${pulsar.version}</version>
 			<exclusions>
+				<exclusion>
+					<groupId>com.sun.activation</groupId>

Review comment:
       These dependencies are just used for annotation which should be working on the broker side. It's not required on the client side.

##########
File path: flink-connectors/flink-connector-pulsar/pom.xml
##########
@@ -163,13 +202,22 @@ under the License.
 		</dependency>
 	</dependencies>
 
-	<!-- gRPC use version range which don't support by flink ci. -->
 	<dependencyManagement>
 		<dependencies>
+			<!-- Pulsar use higher gRPC version. -->
 			<dependency>
 				<groupId>io.grpc</groupId>
 				<artifactId>grpc-bom</artifactId>
-				<version>${grpc.version}</version>
+				<version>${pulsar-grpc.version}</version>
+				<type>pom</type>
+				<scope>import</scope>

Review comment:
       Yep.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0a425720f8936008cd7982a1481f23459e0491f8 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431) 
   * 3afcff5b776774f579127bf1960875d4ae1a64f8 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r794652565



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/serializer/PulsarSchemaWrapper.java
##########
@@ -0,0 +1,65 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.serializer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.connector.pulsar.common.schema.PulsarSchema;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+import org.apache.flink.connector.pulsar.sink.writer.message.RawMessage;
+
+import org.apache.pulsar.client.api.Schema;
+
+/** Wrap the Pulsar's Schema into PulsarSerializationSchema. */
+@Internal
+public class PulsarSchemaWrapper<IN> implements PulsarSerializationSchema<IN> {
+    private static final long serialVersionUID = -2567052498398184194L;
+
+    private static final byte[] EMPTY_BYTES = new byte[0];
+    private final PulsarSchema<IN> pulsarSchema;
+
+    public PulsarSchemaWrapper(PulsarSchema<IN> pulsarSchema) {
+        this.pulsarSchema = pulsarSchema;
+    }
+
+    @Override
+    public RawMessage<byte[]> serialize(IN element, PulsarSinkContext sinkContext) {
+        RawMessage<byte[]> message;
+
+        if (sinkContext.isEnableSchemaEvolution()) {
+            // We don't need to serialize incoming records in schema evolution.
+            message = new RawMessage<>(EMPTY_BYTES);
+        } else {
+            Schema<IN> schema = this.pulsarSchema.getPulsarSchema();
+            byte[] bytes = schema.encode(element);
+            message = new RawMessage<>(bytes);
+        }
+
+        Long eventTime = sinkContext.timestamp();

Review comment:
       We should give the user the ability to set the event time. This is just a default implementation that can be overridden.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 59f46a383a5cca968faf82f8c260217649a6f825 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087) 
   * 0a425720f8936008cd7982a1481f23459e0491f8 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431) 
   * 3afcff5b776774f579127bf1960875d4ae1a64f8 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463) 
   * 067d456df50b5cd5889cfa299b6b81b4da172626 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 067d456df50b5cd5889cfa299b6b81b4da172626 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485) 
   * 054ffb84a4dab1330d23e1a3309b2ca324b26e3d Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "48357d9d1cfb071f7c4c387594f284100b48e104",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "48357d9d1cfb071f7c4c387594f284100b48e104",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463) 
   * 067d456df50b5cd5889cfa299b6b81b4da172626 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485) 
   * 48357d9d1cfb071f7c4c387594f284100b48e104 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a9c278120fed2705c20d511b70f291a4bc47295f Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110) 
   * fbf3e131f0105301f78348e732856692b5c7827c Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192) 
   * e9d840492248bc5dfd549a01c5d7b3ef6ef54618 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0e55b5a359ccfa668aa9c783be63962c61ad0d13 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488) 
   * 7b0ea669fc400027e3ec31c28f5c8d93af9e5795 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571) 
   * 0c8c26e1f9b39c058f39ae6d0caa23f04518e835 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily removed a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily removed a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-1027998488


   @flinkbot run azure


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590) 
   * 3bdbb660a027c49a1fed5c8b77ccf5174c16c85d Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599) 
   * 6854b5ae7209cd2edc56ac525f462292f85efd9c UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 6854b5ae7209cd2edc56ac525f462292f85efd9c Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601) 
   * 2b8ddde74cdbdff873706d34b993e808ef0ea6c5 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-1027998488


   @flinkbot run azure


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     } ]
   }-->
   ## CI report:
   
   * 8e3d80bc6fc29bf1865667fff9ab32495fd217f0 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] jianyun8023 edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
jianyun8023 edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940139594


   @AHeise @syhily @nlu90 This is the pr of Pulsar's new Sink, if you're have time to help me review.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957) 
   * c8820e335d23677ffb548b0d1fa8771fa7c1bce1 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * c8820e335d23677ffb548b0d1fa8771fa7c1bce1 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965) 
   * bf9ffe09e2eec6f03c9c1c5f18cf95b323088549 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * c8820e335d23677ffb548b0d1fa8771fa7c1bce1 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965) 
   * bf9ffe09e2eec6f03c9c1c5f18cf95b323088549 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075) 
   * bbf72ae73592bd646c44296a59ef70d3eb614701 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086) 
   * 59f46a383a5cca968faf82f8c260217649a6f825 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r794656612



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/topic/TopicMetadataListener.java
##########
@@ -0,0 +1,172 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.topic;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.connector.sink.Sink.ProcessingTimeService;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+
+import org.apache.flink.shaded.guava30.com.google.common.base.Objects;
+import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList;
+
+import org.apache.pulsar.client.admin.PulsarAdmin;
+import org.apache.pulsar.client.admin.PulsarAdminException;
+import org.apache.pulsar.common.partition.PartitionedTopicMetadata;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static java.util.Collections.emptyList;
+import static org.apache.flink.connector.pulsar.common.config.PulsarConfigUtils.createAdmin;
+import static org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils.sneakyAdmin;
+import static org.apache.flink.connector.pulsar.source.enumerator.topic.TopicNameUtils.isPartitioned;
+import static org.apache.flink.connector.pulsar.source.enumerator.topic.TopicNameUtils.topicNameWithPartition;
+
+/**
+ * We need the latest topic metadata for making sure the newly created topic partitions would be
+ * used by Pulsar sink. This routing policy would be different comparing with Pulsar Client built-in
+ * logic. We use flink's ProcessingTimer as the executor.
+ */
+@Internal
+public class TopicMetadataListener implements Serializable, Closeable {
+    private static final long serialVersionUID = 6186948471557507522L;
+
+    private static final Logger LOG = LoggerFactory.getLogger(TopicMetadataListener.class);
+
+    private final List<String> partitionedTopics;
+    private final Map<String, Integer> topicMetadata;
+    private volatile ImmutableList<String> availableTopics;
+
+    // Dynamic fields.
+    private transient PulsarAdmin pulsarAdmin;
+    private transient Long topicMetadataRefreshInterval;
+    private transient ProcessingTimeService timeService;
+
+    public TopicMetadataListener() {
+        this(emptyList());
+    }
+
+    public TopicMetadataListener(List<String> topics) {
+        this.partitionedTopics = new ArrayList<>(topics.size());
+        this.topicMetadata = new HashMap<>(topics.size());
+        this.availableTopics = ImmutableList.of();
+
+        for (String topic : topics) {
+            if (isPartitioned(topic)) {
+                partitionedTopics.add(topic);
+            } else {
+                // This would be updated when open writing.
+                topicMetadata.put(topic, -1);
+            }
+        }
+    }
+
+    /** Register the topic metadata update in process time service. */
+    public void open(SinkConfiguration sinkConfiguration, ProcessingTimeService timeService) {
+        if (topicMetadata.isEmpty()) {
+            LOG.info("No topics have been provided, skip listener initialize.");
+            return;
+        }
+
+        // Initialize listener properties.
+        this.pulsarAdmin = createAdmin(sinkConfiguration);
+        this.topicMetadataRefreshInterval = sinkConfiguration.getTopicMetadataRefreshInterval();
+        this.timeService = timeService;
+
+        // Initialize the topic metadata. Quit if fail to connect to Pulsar.
+        sneakyAdmin(this::updateTopicMetadata);
+
+        // Register time service.
+        triggerNextTopicMetadataUpdate(true);
+    }
+
+    /**
+     * Return all the available topic partitions. We would recalculate the partitions if the topic
+     * metadata hsa been changed. Otherwise, we would return the cached result for better
+     * performance.
+     */
+    public List<String> availableTopics() {
+        if (availableTopics.isEmpty()
+                && (!partitionedTopics.isEmpty() || !topicMetadata.isEmpty())) {

Review comment:
       I should point out your mistake. We only evaluate the `availableTopics` when it needs updating. This is a cached result, which shouldn't be created every time we call this method.
   
   Putting the evaluate logic here is just my design flavor. XD




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 59f46a383a5cca968faf82f8c260217649a6f825 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087) 
   * 0a425720f8936008cd7982a1481f23459e0491f8 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * bbf72ae73592bd646c44296a59ef70d3eb614701 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086) 
   * 59f46a383a5cca968faf82f8c260217649a6f825 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 054ffb84a4dab1330d23e1a3309b2ca324b26e3d Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487) 
   * 0e55b5a359ccfa668aa9c783be63962c61ad0d13 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0e55b5a359ccfa668aa9c783be63962c61ad0d13 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488) 
   * 7b0ea669fc400027e3ec31c28f5c8d93af9e5795 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571) 
   * 0c8c26e1f9b39c058f39ae6d0caa23f04518e835 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "cbe30d48f2df59f78de1b9adfd166a77f57c92c6",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "cbe30d48f2df59f78de1b9adfd166a77f57c92c6",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463) 
   * 067d456df50b5cd5889cfa299b6b81b4da172626 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485) 
   * cbe30d48f2df59f78de1b9adfd166a77f57c92c6 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590) 
   * 3bdbb660a027c49a1fed5c8b77ccf5174c16c85d Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599) 
   * 6854b5ae7209cd2edc56ac525f462292f85efd9c UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 6854b5ae7209cd2edc56ac525f462292f85efd9c Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0e55b5a359ccfa668aa9c783be63962c61ad0d13 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0e55b5a359ccfa668aa9c783be63962c61ad0d13 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488) 
   * 7b0ea669fc400027e3ec31c28f5c8d93af9e5795 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571) 
   * 0c8c26e1f9b39c058f39ae6d0caa23f04518e835 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463) 
   * 067d456df50b5cd5889cfa299b6b81b4da172626 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485) 
   * 054ffb84a4dab1330d23e1a3309b2ca324b26e3d UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463) 
   * 067d456df50b5cd5889cfa299b6b81b4da172626 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     } ]
   }-->
   ## CI report:
   
   * 40b7b444a0d0492677db15f5a841340e810ce0ff Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r799689973



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/committer/PulsarCommitter.java
##########
@@ -0,0 +1,167 @@
+/*
+ * 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.flink.connector.pulsar.sink.committer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.connector.sink2.Committer;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.common.utils.PulsarTransactionUtils;
+import org.apache.flink.connector.pulsar.sink.PulsarSink;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.util.FlinkRuntimeException;
+
+import org.apache.pulsar.client.api.PulsarClient;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClient;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException.CoordinatorNotFoundException;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException.InvalidTxnStatusException;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException.MetaStoreHandlerNotExistsException;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClientException.TransactionNotFoundException;
+import org.apache.pulsar.client.api.transaction.TxnID;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.Collection;
+
+import static org.apache.flink.connector.pulsar.common.config.PulsarClientFactory.createClient;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+import static org.apache.pulsar.common.naming.TopicName.TRANSACTION_COORDINATOR_ASSIGN;
+
+/**
+ * Committer implementation for {@link PulsarSink}.
+ *
+ * <p>The committer is responsible to finalize the Pulsar transactions by committing them.
+ */
+@Internal
+public class PulsarCommitter implements Committer<PulsarCommittable>, Closeable {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarCommitter.class);
+
+    private final SinkConfiguration sinkConfiguration;
+
+    private PulsarClient pulsarClient;
+    private TransactionCoordinatorClient coordinatorClient;
+
+    public PulsarCommitter(SinkConfiguration sinkConfiguration) {
+        this.sinkConfiguration = sinkConfiguration;
+    }
+
+    @Override
+    public void commit(Collection<CommitRequest<PulsarCommittable>> requests)
+            throws IOException, InterruptedException {
+        TransactionCoordinatorClient client = transactionCoordinatorClient();
+
+        for (CommitRequest<PulsarCommittable> request : requests) {
+            PulsarCommittable committable = request.getCommittable();
+            TxnID txnID = committable.getTxnID();
+            String topic = committable.getTopic();
+
+            LOG.debug("Start committing the Pulsar transaction {} for topic {}", txnID, topic);
+            try {
+                client.commit(txnID);
+            } catch (TransactionCoordinatorClientException e) {
+                // This is a known bug for Pulsar Transaction. We have to use instance of.
+                TransactionCoordinatorClientException ex = PulsarTransactionUtils.unwrap(e);
+                if (ex instanceof CoordinatorNotFoundException) {
+                    LOG.error(
+                            "We couldn't find the Transaction Coordinator from Pulsar broker {}. "
+                                    + "Check your broker configuration.",
+                            committable,
+                            ex);
+                    request.signalFailedWithKnownReason(ex);
+                } else if (ex instanceof InvalidTxnStatusException) {
+                    LOG.error(
+                            "Unable to commit transaction ({}) because it's in an invalid state. "
+                                    + "Most likely the transaction has been aborted for some reason. "
+                                    + "Please check the Pulsar broker logs for more details.",
+                            committable,
+                            ex);
+                    request.signalAlreadyCommitted();
+                } else if (ex instanceof TransactionNotFoundException) {
+                    if (request.getNumberOfRetries() == 0) {
+                        LOG.error(
+                                "Unable to commit transaction ({}) because it's not found on Pulsar broker. "
+                                        + "Most likely the checkpoint interval exceed the transaction timeout.",
+                                committable,
+                                ex);
+                        request.signalFailedWithKnownReason(ex);
+                    } else {
+                        request.signalAlreadyCommitted();

Review comment:
       This could happen when the network connecting issue occurs. Pulsar puts the request into a modified protobuf protocol and sends it through netty-based client async.
   
   The connection could timeout but the transaction has been submitted. Pulsar couldn't tell you this situation but returned a transaction not found error instead in this case due to its simplified design. We have to think the transaction has been committed because this isn't the first submission.
   
   The only shortage for this handle is that Pulsar also returns transaction not found exception when the transaction is timeout, which is likely to lead to ambiguity. I have started a discussion with my teammates to see if we can better process this exception.
   
   I would add a warning log to this condition. We can just put this aside in a while.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r799703085



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/PulsarWriter.java
##########
@@ -0,0 +1,203 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer;
+
+import org.apache.flink.api.common.operators.MailboxExecutor;
+import org.apache.flink.api.common.operators.ProcessingTimeService;
+import org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext;
+import org.apache.flink.api.connector.sink2.Sink.InitContext;
+import org.apache.flink.api.connector.sink2.TwoPhaseCommittingSink.PrecommittingSinkWriter;
+import org.apache.flink.connector.base.DeliveryGuarantee;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommittable;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContextAdapter;
+import org.apache.flink.connector.pulsar.sink.writer.message.RawMessage;
+import org.apache.flink.connector.pulsar.sink.writer.router.TopicRouter;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicMetadataListener;
+import org.apache.flink.connector.pulsar.sink.writer.topic.TopicProducerRegister;
+import org.apache.flink.util.FlinkRuntimeException;
+import org.apache.flink.util.function.SerializableFunction;
+
+import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.client.api.transaction.Transaction;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.Semaphore;
+
+import static java.util.Collections.emptyList;
+import static org.apache.flink.util.IOUtils.closeAll;
+
+/**
+ * This class is responsible to write records in a Pulsar topic and to handle the different delivery
+ * {@link DeliveryGuarantee}s.
+ *
+ * @param <IN> The type of the input elements.
+ */
+public class PulsarWriter<IN> implements PrecommittingSinkWriter<IN, PulsarCommittable> {
+    private static final Logger LOG = LoggerFactory.getLogger(PulsarWriter.class);
+
+    private final SinkConfiguration sinkConfiguration;
+    private final DeliveryGuarantee deliveryGuarantee;
+    private final PulsarSerializationSchema<IN> serializationSchema;
+    private final TopicRouter<IN> topicRouter;
+    private final PulsarSinkContextAdapter sinkContextAdapter;
+    private final TopicMetadataListener metadataListener;
+    private final MailboxExecutor mailboxExecutor;
+    private final TopicProducerRegister producerRegister;
+    private final Semaphore pendingMessages;
+
+    /**
+     * Constructor creating a Pulsar writer.
+     *
+     * <p>It will throw a {@link RuntimeException} if {@link
+     * PulsarSerializationSchema#open(InitializationContext, PulsarSinkContext, SinkConfiguration)}
+     * fails.
+     *
+     * @param sinkConfiguration the configuration to configure the Pulsar producer.
+     * @param serializationSchema serialize to transform the incoming records to {@link RawMessage}.
+     * @param metadataListener the listener for querying topic metadata.
+     * @param topicRouterProvider create related topic router to choose topic by incoming records.
+     * @param initContext context to provide information about the runtime environment.
+     */
+    public PulsarWriter(
+            SinkConfiguration sinkConfiguration,
+            PulsarSerializationSchema<IN> serializationSchema,
+            TopicMetadataListener metadataListener,
+            SerializableFunction<SinkConfiguration, TopicRouter<IN>> topicRouterProvider,
+            InitContext initContext) {
+        this.sinkConfiguration = sinkConfiguration;
+        this.deliveryGuarantee = sinkConfiguration.getDeliveryGuarantee();
+        this.serializationSchema = serializationSchema;
+        this.topicRouter = topicRouterProvider.apply(sinkConfiguration);
+        this.sinkContextAdapter = new PulsarSinkContextAdapter(initContext, sinkConfiguration);
+        this.metadataListener = metadataListener;
+        this.mailboxExecutor = initContext.getMailboxExecutor();
+
+        // Initialize topic metadata listener.
+        LOG.debug("Initialize topic metadata after creating Pulsar writer.");
+        ProcessingTimeService timeService = initContext.getProcessingTimeService();
+        metadataListener.open(sinkConfiguration, timeService);
+
+        // Initialize topic router.
+        topicRouter.open(sinkConfiguration);
+
+        // Initialize the serialization schema.
+        try {
+            InitializationContext initializationContext =
+                    initContext.asSerializationSchemaInitializationContext();
+            serializationSchema.open(initializationContext, sinkContextAdapter, sinkConfiguration);
+        } catch (Exception e) {
+            throw new FlinkRuntimeException("Cannot initialize schema.", e);
+        }
+
+        // Create this producer register after opening serialization schema!
+        this.producerRegister = new TopicProducerRegister(sinkConfiguration, serializationSchema);
+        this.pendingMessages = new Semaphore(sinkConfiguration.getMaxPendingMessages());
+    }
+
+    @Override
+    @SuppressWarnings("unchecked")
+    public void write(IN element, Context context) throws IOException, InterruptedException {
+        // Serialize the incoming element.
+        sinkContextAdapter.updateTimestamp(context);
+        RawMessage<byte[]> message = serializationSchema.serialize(element, sinkContextAdapter);
+
+        // Choose the right topic to send.
+        List<String> availableTopics = metadataListener.availableTopics();
+        String topic = topicRouter.route(element, message, availableTopics, sinkContextAdapter);
+
+        // Create message builder for sending message.
+        TypedMessageBuilder<?> builder = createMessageBuilder(topic, deliveryGuarantee);
+        if (sinkConfiguration.isEnableSchemaEvolution()) {
+            ((TypedMessageBuilder<IN>) builder).value(element);
+        } else {
+            ((TypedMessageBuilder<byte[]>) builder).value(message.getValue());
+        }
+        message.supplement(builder);
+
+        // Perform message sending.
+        if (deliveryGuarantee == DeliveryGuarantee.NONE) {
+            // We would just ignore the sending exception. This may cause data loss.
+            builder.sendAsync();
+        } else {
+            // Waiting for permits to write message.
+            pendingMessages.acquire();
+            CompletableFuture<MessageId> sender = builder.sendAsync();
+            sender.whenComplete(
+                    (id, ex) -> {
+                        pendingMessages.release();

Review comment:
       I just thought the mailbox and writer could be executed in the different threads in the future. So the cost for a semaphore is totally accepted, right?
   
   The semaphore is used in a lambda body. We have to use `AtomicLong`, `LongAddr` of the `Semaphore` because Java required the instance to be unmodificable. But I don't see the difference between them.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r799738018



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/serializer/PulsarSchemaWrapper.java
##########
@@ -0,0 +1,65 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.serializer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.connector.pulsar.common.schema.PulsarSchema;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+import org.apache.flink.connector.pulsar.sink.writer.message.RawMessage;
+
+import org.apache.pulsar.client.api.Schema;
+
+/** Wrap the Pulsar's Schema into PulsarSerializationSchema. */
+@Internal
+public class PulsarSchemaWrapper<IN> implements PulsarSerializationSchema<IN> {
+    private static final long serialVersionUID = -2567052498398184194L;
+
+    private static final byte[] EMPTY_BYTES = new byte[0];
+    private final PulsarSchema<IN> pulsarSchema;
+
+    public PulsarSchemaWrapper(PulsarSchema<IN> pulsarSchema) {
+        this.pulsarSchema = pulsarSchema;
+    }
+
+    @Override
+    public RawMessage<byte[]> serialize(IN element, PulsarSinkContext sinkContext) {
+        RawMessage<byte[]> message;
+
+        if (sinkContext.isEnableSchemaEvolution()) {
+            // We don't need to serialize incoming records in schema evolution.
+            message = new RawMessage<>(EMPTY_BYTES);

Review comment:
       I have redesigned the `PulsarSerializationSchema`, the new design should be easy to understood.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/serializer/PulsarSchemaWrapper.java
##########
@@ -0,0 +1,65 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.serializer;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.connector.pulsar.common.schema.PulsarSchema;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+import org.apache.flink.connector.pulsar.sink.writer.message.RawMessage;
+
+import org.apache.pulsar.client.api.Schema;
+
+/** Wrap the Pulsar's Schema into PulsarSerializationSchema. */
+@Internal
+public class PulsarSchemaWrapper<IN> implements PulsarSerializationSchema<IN> {
+    private static final long serialVersionUID = -2567052498398184194L;
+
+    private static final byte[] EMPTY_BYTES = new byte[0];
+    private final PulsarSchema<IN> pulsarSchema;
+
+    public PulsarSchemaWrapper(PulsarSchema<IN> pulsarSchema) {
+        this.pulsarSchema = pulsarSchema;
+    }
+
+    @Override
+    public RawMessage<byte[]> serialize(IN element, PulsarSinkContext sinkContext) {
+        RawMessage<byte[]> message;
+
+        if (sinkContext.isEnableSchemaEvolution()) {
+            // We don't need to serialize incoming records in schema evolution.
+            message = new RawMessage<>(EMPTY_BYTES);

Review comment:
       I have redesigned the `PulsarSerializationSchema`, the new design should be easy to be understood.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 73c9d94b434c6084f7307019ed55759ade49d738 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663) 
   * c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r799721320



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/topic/TopicProducerRegister.java
##########
@@ -0,0 +1,176 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.topic;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.connector.pulsar.sink.committer.PulsarCommittable;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.serializer.PulsarSerializationSchema;
+import org.apache.flink.util.FlinkRuntimeException;
+
+import org.apache.flink.shaded.guava30.com.google.common.io.Closer;
+
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProducerBuilder;
+import org.apache.pulsar.client.api.PulsarClient;
+import org.apache.pulsar.client.api.Schema;
+import org.apache.pulsar.client.api.transaction.Transaction;
+import org.apache.pulsar.client.api.transaction.TransactionCoordinatorClient;
+import org.apache.pulsar.client.api.transaction.TxnID;
+import org.apache.pulsar.client.impl.PulsarClientImpl;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.ConcurrentHashMap;
+
+import static org.apache.flink.connector.pulsar.common.config.PulsarClientFactory.createClient;
+import static org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils.sneakyClient;
+import static org.apache.flink.connector.pulsar.common.utils.PulsarTransactionUtils.createTransaction;
+import static org.apache.flink.connector.pulsar.sink.config.PulsarSinkConfigUtils.createProducerBuilder;
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/**
+ * All the Pulsar Producer share the same Client, but self hold the queue for specified topic. So we
+ * have to create different instance for different topic.
+ */
+@Internal
+public class TopicProducerRegister implements Closeable {
+
+    private final PulsarClient pulsarClient;
+    private final SinkConfiguration sinkConfiguration;
+    private final Schema<?> schema;
+    private final ConcurrentHashMap<String, Producer<?>> producerRegister;
+    private final ConcurrentHashMap<String, Transaction> transactionRegister;
+
+    public TopicProducerRegister(
+            SinkConfiguration sinkConfiguration, PulsarSerializationSchema<?> serializationSchema) {
+        this.pulsarClient = createClient(sinkConfiguration);
+        this.sinkConfiguration = sinkConfiguration;
+        if (sinkConfiguration.isEnableSchemaEvolution()) {
+            // Use this schema would send it to Pulsar and perform validation.
+            this.schema = serializationSchema.schema();
+        } else {
+            // We would serialize message by flink's policy and send byte array to Pulsar.
+            this.schema = Schema.BYTES;
+        }
+        this.producerRegister = new ConcurrentHashMap<>();
+        this.transactionRegister = new ConcurrentHashMap<>();
+    }
+
+    /** Create or return the cached topic related producer. */
+    public Producer<?> getOrCreateProducer(String topic) {
+        return producerRegister.computeIfAbsent(
+                topic,
+                t -> {
+                    ProducerBuilder<?> builder =
+                            createProducerBuilder(pulsarClient, schema, sinkConfiguration);
+                    // Set the required topic name.
+                    builder.topic(t);
+                    return sneakyClient(builder::create);
+                });
+    }
+
+    /**
+     * Get the cached topic related transaction. Or create a new transaction after checkpointing.
+     */
+    public Transaction getOrCreateTransaction(String topic) {
+        return transactionRegister.computeIfAbsent(
+                topic,
+                t -> {
+                    long timeoutMillis = sinkConfiguration.getTransactionTimeoutMillis();
+                    return createTransaction(pulsarClient, timeoutMillis);
+                });
+    }
+
+    /** Abort the existed transactions. This method would be used when close PulsarWriter. */
+    private void abortTransactions() {
+        if (transactionRegister.isEmpty()) {
+            return;
+        }
+
+        TransactionCoordinatorClient coordinatorClient =
+                ((PulsarClientImpl) pulsarClient).getTcClient();
+        // This null check is used for making sure transaction is enabled in client.
+        checkNotNull(coordinatorClient);
+
+        try (Closer closer = Closer.create()) {
+            for (Transaction transaction : transactionRegister.values()) {
+                TxnID txnID = transaction.getTxnID();
+                closer.register(() -> coordinatorClient.abort(txnID));
+            }
+
+            clearTransactions();
+        } catch (IOException e) {
+            throw new FlinkRuntimeException(e);
+        }
+    }
+
+    /** Clean these transactions. All transactions should be passed to Pulsar committer. */
+    private void clearTransactions() {
+        // Clear the transactions, we would create new transaction when new message comes.
+        transactionRegister.clear();
+    }
+
+    /**
+     * Convert the transactions into committable list for Pulsar Committer. The transactions would
+     * be removed until flink triggering a checkpoint.
+     */
+    public List<PulsarCommittable> prepareCommit() {
+        List<PulsarCommittable> committables = new ArrayList<>(transactionRegister.size());
+        transactionRegister.forEach(
+                (topic, transaction) -> {
+                    TxnID txnID = transaction.getTxnID();
+                    PulsarCommittable committable = new PulsarCommittable(txnID, topic);
+                    committables.add(committable);
+                });
+
+        clearTransactions();
+        return committables;
+    }
+
+    /**
+     * Flush all the messages buffered in the client and wait until all messages have been
+     * successfully persisted.
+     */
+    public void flush() throws IOException {
+        for (Producer<?> producer : producerRegister.values()) {
+            producer.flush();
+        }
+    }
+
+    @Override
+    public void close() throws IOException {
+        try (Closer closer = Closer.create()) {
+            // Flush all the pending messages to Pulsar. This wouldn't cause exception.
+            closer.register(this::flush);
+
+            // Abort all the existed transactions.
+            closer.register(this::abortTransactions);

Review comment:
       They are totally not the same transactions. We would return all the pending transactions and clear them in `TopicProducerRegister` when executing `PulsarWriter#prepareCommit`. So the pending transactions in `TopicProducerRegister` only live in PulsarWriter and never be passed to `PulsarCommitter`.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 73c9d94b434c6084f7307019ed55759ade49d738 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663) 
   * c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794) 
   * 68b185ec99cc4db97323f2b5b09b4d17e09ac80d UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 73c9d94b434c6084f7307019ed55759ade49d738 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663) 
   * c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794) 
   * 68b185ec99cc4db97323f2b5b09b4d17e09ac80d Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * e9d840492248bc5dfd549a01c5d7b3ef6ef54618 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207) 
   * a49364d47478c98f43f95d9b58b699da6da6d433 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a49364d47478c98f43f95d9b58b699da6da6d433 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349) 
   * 0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a49364d47478c98f43f95d9b58b699da6da6d433 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349) 
   * 0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484) 
   * b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507",
       "triggerID" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "triggerType" : "PUSH"
     }, {
       "hash" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532",
       "triggerID" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484) 
   * b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495) 
   * 8cc9d45130f50e1af9040850a825a092e728dece Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507) 
   * cb193056896ffd7823d5155acb8dfa271b7656db Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] fapaul commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
fapaul commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r806960818



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/message/PulsarMessage.java
##########
@@ -0,0 +1,103 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.message;
+
+import org.apache.flink.annotation.PublicEvolving;
+
+import org.apache.pulsar.client.api.Schema;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * The message instance which would be used for {@link TypedMessageBuilder}. We create this class
+ * because Pulsar lacks of such kind of POJO class.
+ */
+@PublicEvolving
+public class PulsarMessage {
+
+    private final byte[] orderingKey;
+    private final String key;
+    private final long eventTime;
+    private final Schema<?> schema;
+    private final Object value;
+    private final Map<String, String> properties;
+    private final Long sequenceId;
+    private final List<String> replicationClusters;
+    private final boolean disableReplication;

Review comment:
       add `@Nullable` to all optional fields + constructor + getter where applicable

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/message/PulsarMessage.java
##########
@@ -0,0 +1,103 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.message;
+
+import org.apache.flink.annotation.PublicEvolving;
+
+import org.apache.pulsar.client.api.Schema;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * The message instance which would be used for {@link TypedMessageBuilder}. We create this class
+ * because Pulsar lacks of such kind of POJO class.
+ */
+@PublicEvolving
+public class PulsarMessage {
+
+    private final byte[] orderingKey;
+    private final String key;
+    private final long eventTime;
+    private final Schema<?> schema;
+    private final Object value;

Review comment:
       Why not use a generic type i.e. `PulsarMessage<OUT>`? It probably has the same type as the `Schema<?>`.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/message/PulsarMessageBuilder.java
##########
@@ -0,0 +1,132 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.message;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.connector.pulsar.sink.writer.router.KeyHashTopicRouter;
+
+import org.apache.pulsar.client.api.Schema;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/** {@link TypedMessageBuilder} wrapper for providing the required method for end users. */
+@PublicEvolving
+public class PulsarMessageBuilder {
+
+    private byte[] orderingKey;
+    private String key;
+    private long eventTime;
+    Schema<?> schema;
+    private Object value;
+    private Map<String, String> properties = new HashMap<>();
+    private Long sequenceId;
+    private List<String> replicationClusters;
+    private boolean disableReplication = false;
+
+    /** Method wrapper of {@link TypedMessageBuilder#orderingKey(byte[])}. */
+    public PulsarMessageBuilder orderingKey(byte[] orderingKey) {
+        this.orderingKey = checkNotNull(orderingKey);
+        return this;
+    }
+
+    /**
+     * Property {@link TypedMessageBuilder#key(String)}. This property would also be used in {@link
+     * KeyHashTopicRouter}.
+     */
+    public PulsarMessageBuilder key(String key) {
+        this.key = checkNotNull(key);
+        return null;
+    }
+
+    /** Method wrapper of {@link TypedMessageBuilder#eventTime(long)}. */
+    public PulsarMessageBuilder eventTime(long eventTime) {
+        this.eventTime = eventTime;
+        return this;
+    }
+
+    /**
+     * Method wrapper of {@link TypedMessageBuilder#value(Object)}. We would use default {@link
+     * Schema#BYTES} if you use this method.
+     */
+    public PulsarMessageBuilder value(byte[] value) {
+        this.schema = Schema.BYTES;
+        this.value = value;
+        return this;
+    }

Review comment:
       Nit: Maybe it is easier to only offer the other builder method `value(Schema<IN> schema, IN value)` and move the `Schema.BYTES` delegation to the `PulsarSerializationSchemaWrapper` and `PulsarSchemaWrapper`.
   Otherwise you should probably add some checks that only one of the value methods is called.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/serializer/PulsarSerializationSchema.java
##########
@@ -0,0 +1,122 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.serializer;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.api.common.serialization.SerializationSchema;
+import org.apache.flink.api.common.serialization.SerializationSchema.InitializationContext;
+import org.apache.flink.connector.pulsar.common.schema.PulsarSchema;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+import org.apache.flink.connector.pulsar.sink.writer.message.PulsarMessage;
+import org.apache.flink.connector.pulsar.sink.writer.message.PulsarMessageBuilder;
+
+import org.apache.pulsar.client.api.Schema;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+import org.apache.pulsar.common.schema.KeyValue;
+
+import java.io.Serializable;
+
+/**
+ * The serialization schema for how to serialize record into Pulsar.
+ *
+ * @param <IN> The message type send to Pulsar.
+ */
+@PublicEvolving
+public interface PulsarSerializationSchema<IN> extends Serializable {
+
+    /**
+     * Initialization method for the schema. It is called before the actual working methods {@link
+     * #serialize(Object, PulsarMessageBuilder, PulsarSinkContext)} and thus suitable for one time
+     * setup work.
+     *
+     * <p>The provided {@link InitializationContext} can be used to access additional features such
+     * as e.g. registering user metrics.
+     *
+     * @param initializationContext Contextual information that can be used during initialization.
+     * @param sinkContext runtime information i.e. partitions, subtaskId
+     * @param sinkConfiguration All the configure options for Pulsar sink. You can add custom
+     *     options.
+     */
+    default void open(
+            InitializationContext initializationContext,
+            PulsarSinkContext sinkContext,
+            SinkConfiguration sinkConfiguration)
+            throws Exception {
+        // Nothing to do by default.
+    }
+
+    /**
+     * Serializes given element into bytes. Property {@link TypedMessageBuilder#value(Object)}.
+     *
+     * @param element element to be serialized
+     * @param builder the builder for building message instance.
+     * @param sinkContext context to provide extra information.
+     */
+    PulsarMessage serialize(
+            IN element, PulsarMessageBuilder builder, PulsarSinkContext sinkContext);

Review comment:
       I think you can remove the `PulsarMessageBuilder` and only mention in the docstring how to construct the `PulsarMessage`.

##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/message/PulsarMessageBuilder.java
##########
@@ -0,0 +1,132 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.message;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.connector.pulsar.sink.writer.router.KeyHashTopicRouter;
+
+import org.apache.pulsar.client.api.Schema;
+import org.apache.pulsar.client.api.TypedMessageBuilder;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static org.apache.flink.util.Preconditions.checkNotNull;
+
+/** {@link TypedMessageBuilder} wrapper for providing the required method for end users. */
+@PublicEvolving
+public class PulsarMessageBuilder {
+
+    private byte[] orderingKey;
+    private String key;
+    private long eventTime;
+    Schema<?> schema;
+    private Object value;
+    private Map<String, String> properties = new HashMap<>();
+    private Long sequenceId;
+    private List<String> replicationClusters;
+    private boolean disableReplication = false;
+
+    /** Method wrapper of {@link TypedMessageBuilder#orderingKey(byte[])}. */
+    public PulsarMessageBuilder orderingKey(byte[] orderingKey) {
+        this.orderingKey = checkNotNull(orderingKey);
+        return this;
+    }
+
+    /**
+     * Property {@link TypedMessageBuilder#key(String)}. This property would also be used in {@link
+     * KeyHashTopicRouter}.
+     */
+    public PulsarMessageBuilder key(String key) {
+        this.key = checkNotNull(key);
+        return null;
+    }
+
+    /** Method wrapper of {@link TypedMessageBuilder#eventTime(long)}. */
+    public PulsarMessageBuilder eventTime(long eventTime) {
+        this.eventTime = eventTime;
+        return this;
+    }
+
+    /**
+     * Method wrapper of {@link TypedMessageBuilder#value(Object)}. We would use default {@link
+     * Schema#BYTES} if you use this method.
+     */
+    public PulsarMessageBuilder value(byte[] value) {
+        this.schema = Schema.BYTES;
+        this.value = value;
+        return this;
+    }
+
+    /**
+     * Method wrapper of {@link TypedMessageBuilder#value(Object)}. You can pass any schema for
+     * validating it on Pulsar. This is called schema evolution. But the topic on Pulsar should
+     * binding to a fixed {@link Schema}. You can't have multiple schemas on same topic unless it's
+     * compatible with each other.
+     */
+    public <IN> PulsarMessageBuilder value(Schema<IN> schema, IN value) {
+        this.schema = schema;
+        this.value = value;
+        return this;
+    }
+
+    /** Method wrapper of {@link TypedMessageBuilder#property(String, String)}. */
+    public PulsarMessageBuilder property(String key, String value) {
+        this.properties.put(checkNotNull(key), checkNotNull(value));
+        return this;
+    }
+
+    /** Method wrapper of {@link TypedMessageBuilder#properties(Map)}. */
+    public PulsarMessageBuilder properties(Map<String, String> properties) {
+        this.properties.putAll(checkNotNull(properties));
+        return this;
+    }
+
+    /** Method wrapper of {@link TypedMessageBuilder#sequenceId(long)}. */
+    public PulsarMessageBuilder sequenceId(long sequenceId) {
+        this.sequenceId = sequenceId;
+        return this;
+    }
+
+    /** Method wrapper of {@link TypedMessageBuilder#replicationClusters(List)}. */
+    public PulsarMessageBuilder replicationClusters(List<String> replicationClusters) {
+        this.replicationClusters = checkNotNull(replicationClusters);
+        return this;
+    }
+
+    /** Method wrapper of {@link TypedMessageBuilder#disableReplication()}. */
+    public PulsarMessageBuilder disableReplication() {
+        this.disableReplication = true;
+        return this;
+    }
+
+    public PulsarMessage build() {
+        return new PulsarMessage(

Review comment:
       Are some of the fields required? I'd recommend to either make them part of the ctor of `PulsarMessageBuilder` or check that they are not null in `build`.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 7a74987d989f699bc68c2da8e0cd9bf3fa8065a6 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963) 
   * f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 7a74987d989f699bc68c2da8e0cd9bf3fa8065a6 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963) 
   * f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     } ]
   }-->
   ## CI report:
   
   * 7a74987d989f699bc68c2da8e0cd9bf3fa8065a6 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963) 
   * f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "",
       "status" : "CANCELED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     } ]
   }-->
   ## CI report:
   
   *  Unknown: [CANCELED](TBD) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 50c4d3ae81692fd5d7fb1d07758da8cc0aca0234 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973) 
   * b84065861ec8af6e9f35ffdc548ce3203a21534e Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 73c9d94b434c6084f7307019ed55759ade49d738 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663) 
   * c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794) 
   * 68b185ec99cc4db97323f2b5b09b4d17e09ac80d UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 73c9d94b434c6084f7307019ed55759ade49d738 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663) 
   * c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794) 
   * 68b185ec99cc4db97323f2b5b09b4d17e09ac80d Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a49364d47478c98f43f95d9b58b699da6da6d433 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349) 
   * 0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484) 
   * b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a49364d47478c98f43f95d9b58b699da6da6d433 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349) 
   * 0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484) 
   * b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217






-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r805864308



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/context/PulsarSinkContextAdapter.java
##########
@@ -0,0 +1,68 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.context;
+
+import org.apache.flink.annotation.Internal;
+import org.apache.flink.api.connector.sink2.Sink.InitContext;
+import org.apache.flink.api.connector.sink2.SinkWriter.Context;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+
+import javax.annotation.Nullable;
+
+/** A reusable sink context for serializing pulsar raw message. */
+@Internal
+public class PulsarSinkContextAdapter implements PulsarSinkContext {
+
+    private final int numberOfParallelSubtasks;
+    private final int parallelInstanceId;
+    private final boolean enableSchemaEvolution;
+    private Long timestamp;
+
+    public PulsarSinkContextAdapter(InitContext initContext, SinkConfiguration sinkConfiguration) {
+        this.parallelInstanceId = initContext.getSubtaskId();
+        this.numberOfParallelSubtasks = initContext.getNumberOfParallelSubtasks();
+        this.enableSchemaEvolution = sinkConfiguration.isEnableSchemaEvolution();
+    }
+
+    @Override
+    public int getParallelInstanceId() {
+        return parallelInstanceId;
+    }
+
+    @Override
+    public int getNumberOfParallelInstances() {
+        return numberOfParallelSubtasks;
+    }
+
+    @Override
+    public boolean isEnableSchemaEvolution() {
+        return enableSchemaEvolution;
+    }
+
+    @Nullable
+    @Override
+    public Long timestamp() {
+        return timestamp;
+    }
+
+    /** Dynamic update the time by Flink sink writer context. */
+    public void updateTimestamp(Context context) {
+        this.timestamp = context.timestamp();

Review comment:
       Yeah. I agree with you. I put it here only for a uniform `PulsarSinkContext` with all the needed properties. Do you think we must move the event time out from the `PulsarSinkContext`? If so, I'll refactor it.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507",
       "triggerID" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "triggerType" : "PUSH"
     }, {
       "hash" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532",
       "triggerID" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "triggerType" : "PUSH"
     }, {
       "hash" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31539",
       "triggerID" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a4bb0c45b5b8278391087ecfea66790bd08293af",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31548",
       "triggerID" : "a4bb0c45b5b8278391087ecfea66790bd08293af",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495) 
   * 8cc9d45130f50e1af9040850a825a092e728dece Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507) 
   * cb193056896ffd7823d5155acb8dfa271b7656db Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532) 
   * eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31539) 
   * a4bb0c45b5b8278391087ecfea66790bd08293af Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31548) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] syhily commented on a change in pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
syhily commented on a change in pull request #17452:
URL: https://github.com/apache/flink/pull/17452#discussion_r805891933



##########
File path: flink-connectors/flink-connector-pulsar/src/main/java/org/apache/flink/connector/pulsar/sink/writer/delayer/MessageDelayer.java
##########
@@ -0,0 +1,62 @@
+/*
+ * 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.flink.connector.pulsar.sink.writer.delayer;
+
+import org.apache.flink.annotation.PublicEvolving;
+import org.apache.flink.connector.pulsar.sink.config.SinkConfiguration;
+import org.apache.flink.connector.pulsar.sink.writer.context.PulsarSinkContext;
+
+import org.apache.pulsar.client.api.SubscriptionType;
+
+import java.io.Serializable;
+import java.time.Duration;
+
+/**
+ * A delayer for Pulsar broker passing the sent message to the downstream consumer. This is only
+ * works in {@link SubscriptionType#Shared} subscription.
+ *
+ * <p>Read <a
+ * href="https://pulsar.apache.org/docs/en/next/concepts-messaging/#delayed-message-delivery">delayed
+ * message delivery</a> for better understanding this feature.
+ */
+@PublicEvolving
+public interface MessageDelayer<IN> extends Serializable {

Review comment:
       Test this feature is just like testing Pulsar. I can add tests for this feature if you think it should.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507",
       "triggerID" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "triggerType" : "PUSH"
     }, {
       "hash" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532",
       "triggerID" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "triggerType" : "PUSH"
     }, {
       "hash" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31539",
       "triggerID" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a4bb0c45b5b8278391087ecfea66790bd08293af",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31548",
       "triggerID" : "a4bb0c45b5b8278391087ecfea66790bd08293af",
       "triggerType" : "PUSH"
     }, {
       "hash" : "26013d5b1c83f686757bb46a2dd3fe126044612a",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31557",
       "triggerID" : "26013d5b1c83f686757bb46a2dd3fe126044612a",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a4bb0c45b5b8278391087ecfea66790bd08293af Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31548) 
   * 26013d5b1c83f686757bb46a2dd3fe126044612a Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31557) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507",
       "triggerID" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "triggerType" : "PUSH"
     }, {
       "hash" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532",
       "triggerID" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "triggerType" : "PUSH"
     }, {
       "hash" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31539",
       "triggerID" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a4bb0c45b5b8278391087ecfea66790bd08293af",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31548",
       "triggerID" : "a4bb0c45b5b8278391087ecfea66790bd08293af",
       "triggerType" : "PUSH"
     }, {
       "hash" : "26013d5b1c83f686757bb46a2dd3fe126044612a",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31557",
       "triggerID" : "26013d5b1c83f686757bb46a2dd3fe126044612a",
       "triggerType" : "PUSH"
     }, {
       "hash" : "38e9475b405df3004c00b216fe2edf552cb8c029",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31569",
       "triggerID" : "38e9475b405df3004c00b216fe2edf552cb8c029",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 26013d5b1c83f686757bb46a2dd3fe126044612a Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31557) 
   * 38e9475b405df3004c00b216fe2edf552cb8c029 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31569) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * a9c278120fed2705c20d511b70f291a4bc47295f Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110) 
   * fbf3e131f0105301f78348e732856692b5c7827c UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "1028443462",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30663",
       "triggerID" : "73c9d94b434c6084f7307019ed55759ade49d738",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30794",
       "triggerID" : "c0e55f59361c6d0dc7d27c1f3142a69a2cf7ff61",
       "triggerType" : "PUSH"
     }, {
       "hash" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30796",
       "triggerID" : "68b185ec99cc4db97323f2b5b09b4d17e09ac80d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30973",
       "triggerID" : "50c4d3ae81692fd5d7fb1d07758da8cc0aca0234",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30995",
       "triggerID" : "b84065861ec8af6e9f35ffdc548ce3203a21534e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31110",
       "triggerID" : "a9c278120fed2705c20d511b70f291a4bc47295f",
       "triggerType" : "PUSH"
     }, {
       "hash" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31192",
       "triggerID" : "fbf3e131f0105301f78348e732856692b5c7827c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31207",
       "triggerID" : "e9d840492248bc5dfd549a01c5d7b3ef6ef54618",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31349",
       "triggerID" : "a49364d47478c98f43f95d9b58b699da6da6d433",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31484",
       "triggerID" : "0c99c5916b0cc11caaf237c667c6ed4df6e7ac4b",
       "triggerType" : "PUSH"
     }, {
       "hash" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31495",
       "triggerID" : "b14f97d8b614ae1bc318f8c4e8ddcdf1eb232095",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31507",
       "triggerID" : "8cc9d45130f50e1af9040850a825a092e728dece",
       "triggerType" : "PUSH"
     }, {
       "hash" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31532",
       "triggerID" : "cb193056896ffd7823d5155acb8dfa271b7656db",
       "triggerType" : "PUSH"
     }, {
       "hash" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31539",
       "triggerID" : "eb7a4fdf2fa8a1c34d8bd3095f37e761c1f22827",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a4bb0c45b5b8278391087ecfea66790bd08293af",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31548",
       "triggerID" : "a4bb0c45b5b8278391087ecfea66790bd08293af",
       "triggerType" : "PUSH"
     }, {
       "hash" : "26013d5b1c83f686757bb46a2dd3fe126044612a",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31557",
       "triggerID" : "26013d5b1c83f686757bb46a2dd3fe126044612a",
       "triggerType" : "PUSH"
     }, {
       "hash" : "38e9475b405df3004c00b216fe2edf552cb8c029",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31569",
       "triggerID" : "38e9475b405df3004c00b216fe2edf552cb8c029",
       "triggerType" : "PUSH"
     }, {
       "hash" : "05023f3a4797bc482c773722fab5d90b4fc4d102",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "05023f3a4797bc482c773722fab5d90b4fc4d102",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 38e9475b405df3004c00b216fe2edf552cb8c029 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31569) 
   * 05023f3a4797bc482c773722fab5d90b4fc4d102 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] fapaul merged pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
fapaul merged pull request #17452:
URL: https://github.com/apache/flink/pull/17452


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30601",
       "triggerID" : "6854b5ae7209cd2edc56ac525f462292f85efd9c",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "2b8ddde74cdbdff873706d34b993e808ef0ea6c5",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620",
       "triggerID" : "1027998488",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649",
       "triggerID" : "40b7b444a0d0492677db15f5a841340e810ce0ff",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 2b8ddde74cdbdff873706d34b993e808ef0ea6c5 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30620) 
   * 40b7b444a0d0492677db15f5a841340e810ce0ff Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30649) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0c8c26e1f9b39c058f39ae6d0caa23f04518e835 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584) 
   * f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599",
       "triggerID" : "3bdbb660a027c49a1fed5c8b77ccf5174c16c85d",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30590) 
   * 3bdbb660a027c49a1fed5c8b77ccf5174c16c85d Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30599) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #17452: [FLINK-20732][connector/pulsar] Introduction of Pulsar Sink

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #17452:
URL: https://github.com/apache/flink/pull/17452#issuecomment-940136217


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "triggerType" : "PUSH"
     }, {
       "hash" : "43ffad7e2cbbb990ea6c1008a804986b844aa639",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24961",
       "triggerID" : "940140071",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24963",
       "triggerID" : "7a74987d989f699bc68c2da8e0cd9bf3fa8065a6",
       "triggerType" : "PUSH"
     }, {
       "hash" : "",
       "status" : "DELETED",
       "url" : "TBD",
       "triggerID" : "940143459",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3c9e05ce7ed2aa2155292b1be6e79f4c0aa6796",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24969",
       "triggerID" : "940568811",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e3d80bc6fc29bf1865667fff9ab32495fd217f0",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=24973",
       "triggerID" : "940678179",
       "triggerType" : "MANUAL"
     }, {
       "hash" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29302",
       "triggerID" : "41ed8dfb2e8b804827e761eda9dc2082f7a553d7",
       "triggerType" : "PUSH"
     }, {
       "hash" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29861",
       "triggerID" : "5b79cd362aaca74e6c40b6806b45583aebf71fd3",
       "triggerType" : "PUSH"
     }, {
       "hash" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29957",
       "triggerID" : "ef5f521ac3f290b2c3c5d7fd1edcbf2756a45e3e",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=29965",
       "triggerID" : "c8820e335d23677ffb548b0d1fa8771fa7c1bce1",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30075",
       "triggerID" : "bf9ffe09e2eec6f03c9c1c5f18cf95b323088549",
       "triggerType" : "PUSH"
     }, {
       "hash" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30086",
       "triggerID" : "bbf72ae73592bd646c44296a59ef70d3eb614701",
       "triggerType" : "PUSH"
     }, {
       "hash" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30087",
       "triggerID" : "59f46a383a5cca968faf82f8c260217649a6f825",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30431",
       "triggerID" : "0a425720f8936008cd7982a1481f23459e0491f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30435",
       "triggerID" : "3afcff5b776774f579127bf1960875d4ae1a64f8",
       "triggerType" : "PUSH"
     }, {
       "hash" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30462",
       "triggerID" : "a1c55eac2e9c33d36db08d65a9d90df55abfc450",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30463",
       "triggerID" : "0a409ce5dbaffb0b41f31dfe4ed059d31ba7a486",
       "triggerType" : "PUSH"
     }, {
       "hash" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30485",
       "triggerID" : "067d456df50b5cd5889cfa299b6b81b4da172626",
       "triggerType" : "PUSH"
     }, {
       "hash" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30487",
       "triggerID" : "054ffb84a4dab1330d23e1a3309b2ca324b26e3d",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488",
       "triggerID" : "0e55b5a359ccfa668aa9c783be63962c61ad0d13",
       "triggerType" : "PUSH"
     }, {
       "hash" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571",
       "triggerID" : "7b0ea669fc400027e3ec31c28f5c8d93af9e5795",
       "triggerType" : "PUSH"
     }, {
       "hash" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584",
       "triggerID" : "0c8c26e1f9b39c058f39ae6d0caa23f04518e835",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 0e55b5a359ccfa668aa9c783be63962c61ad0d13 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30488) 
   * 7b0ea669fc400027e3ec31c28f5c8d93af9e5795 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30571) 
   * 0c8c26e1f9b39c058f39ae6d0caa23f04518e835 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30584) 
   * f0eff1a5012b3560d22c1d0d74bdf4fd7ee60ad1 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org