You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@seatunnel.apache.org by "521daichen (via GitHub)" <gi...@apache.org> on 2023/03/17 04:43:17 UTC

[GitHub] [incubator-seatunnel] 521daichen opened a new pull request, #4364: [Feature][Connector-V2][Kafka]Kafka source supports data deserializat…

521daichen opened a new pull request, #4364:
URL: https://github.com/apache/incubator-seatunnel/pull/4364

   …ion failure skipping #4361
   
   [Feature][Connector-V2][Kafka]Kafka source supports data deserialization failure skipping #4361
   
   <!--
   
   Thank you for contributing to SeaTunnel! Please make sure that your code changes
   are covered with tests. And in case of new features or big changes
   remember to adjust the documentation.
   
   Feel free to ping committers for the review!
   
   ## Contribution Checklist
   
     - Make sure that the pull request corresponds to a [GITHUB issue](https://github.com/apache/incubator-seatunnel/issues).
   
     - Name the pull request in the form "[Feature] [component] Title of the pull request", where *Feature* can be replaced by `Hotfix`, `Bug`, etc.
   
     - Minor fixes should be named following this pattern: `[hotfix] [docs] Fix typo in README.md doc`.
   
   -->
   
   ## Purpose of this pull request
   
   <!-- Describe the purpose of this pull request. For example: This pull request adds checkstyle plugin.-->
   
   ## Check list
   
   * [ ] Code changed are covered with tests, or it does not need tests for reason:
   * [ ] If any new Jar binary package adding in your PR, please add License Notice according
     [New License Guide](https://github.com/apache/incubator-seatunnel/blob/dev/docs/en/contribution/new-license.md)
   * [ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/incubator-seatunnel/tree/dev/docs
   * [ ] If you are contributing the connector code, please check that the following files are updated:
     1. Update change log that in connector document. For more details you can refer to [connector-v2](https://github.com/apache/incubator-seatunnel/tree/dev/docs/en/connector-v2)
     2. Update [plugin-mapping.properties](https://github.com/apache/incubator-seatunnel/blob/dev/plugin-mapping.properties) and add new connector information in it
     3. Update the pom file of [seatunnel-dist](https://github.com/apache/incubator-seatunnel/blob/dev/seatunnel-dist/pom.xml)
   * [ ] Update the [`release-note`](https://github.com/apache/incubator-seatunnel/blob/dev/release-note.md).


-- 
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: commits-unsubscribe@seatunnel.apache.org

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


[GitHub] [incubator-seatunnel] TyrantLucifer commented on pull request #4364: [Feature][Connector-V2][Kafka]Kafka source supports data deserializat…

Posted by "TyrantLucifer (via GitHub)" <gi...@apache.org>.
TyrantLucifer commented on PR #4364:
URL: https://github.com/apache/incubator-seatunnel/pull/4364#issuecomment-1473752123

   > > Add e2e test case to verify this pull reqeust. Thanks
   > 
   > The function configuration has been added to the kafka-e2e project, and the local docker verification has been completed.
   > 
   > Thanks.
   
   BTW, SeaTunnel use the spotless plugin to guarantee the style of code, so before you submit pull reqeuest you should execute `mvn spotless:apply` to format you code


-- 
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: commits-unsubscribe@seatunnel.apache.org

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


[GitHub] [incubator-seatunnel] 521daichen commented on pull request #4364: [Feature][Connector-V2][Kafka]Kafka source supports data deserializat…

Posted by "521daichen (via GitHub)" <gi...@apache.org>.
521daichen commented on PR #4364:
URL: https://github.com/apache/incubator-seatunnel/pull/4364#issuecomment-1473950818

   > Add e2e test case to verify this pull reqeust. Thanks
   
   
   
   > 
   Thanks a lot for the reminder.
   I execute locally
   mvn spotless: check
   mvn spotless:apply returns successfully, but it is not clear why CI did not pass
   
   [INFO] SeaTunnel : E2E : Connector V2 : DataHub ........... SUCCESS [  0.015 s]
   [INFO] SeaTunnel : E2E : Connector V2 : Mongodb ........... SUCCESS [  0.015 s]
   [INFO] SeaTunnel : E2E : Connector V2 : Hbase ............. SUCCESS [  0.014 s]
   [INFO] connector-maxcompute-e2e ........................... SUCCESS [  0.014 s]
   [INFO] SeaTunnel : E2E : Engine : ......................... SUCCESS [  0.013 s]
   [INFO] SeaTunnel : E2E : Engine : Base .................... SUCCESS [  0.127 s]
   [INFO] SeaTunnel : E2E : Engine : Console ................. SUCCESS [  0.016 s]
   [INFO] SeaTunnel : E2E : Transforms V2 .................... SUCCESS [  0.015 s]
   [INFO] SeaTunnel : E2E : Transforms V2 : Common ........... SUCCESS [  0.015 s]
   [INFO] SeaTunnel : E2E : Transforms V2 : Part 1 ........... SUCCESS [  0.015 s]
   [INFO] SeaTunnel : E2E : Transforms V2 : Part 2 ........... SUCCESS [  0.016 s]
   [INFO] SeaTunnel : Dist ................................... SUCCESS [  0.013 s]
   [INFO] ------------------------------------------------------------------------
   [INFO] BUILD SUCCESS
   [INFO] ------------------------------------------------------------------------
   [INFO] Total time:  8.417 s
   [INFO] Finished at: 2023-03-17T22:41:47+08:00
   [INFO] ------------------------------------------------------------------------
   ➜  incubator-seatunnel git:(521daichen/kafka-source-support-error-handle) mvn spotless:apply
   
   


-- 
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: commits-unsubscribe@seatunnel.apache.org

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


[GitHub] [incubator-seatunnel] 521daichen commented on a diff in pull request #4364: [Feature][Connector-V2][Kafka]Kafka source supports data deserializat…

Posted by "521daichen (via GitHub)" <gi...@apache.org>.
521daichen commented on code in PR #4364:
URL: https://github.com/apache/incubator-seatunnel/pull/4364#discussion_r1141272952


##########
seatunnel-api/src/main/java/org/apache/seatunnel/api/serialization/DeserializationSchema.java:
##########
@@ -35,9 +35,13 @@
     T deserialize(byte[] message) throws IOException;
 
     default void deserialize(byte[] message, Collector<T> out) throws IOException {
-        T deserialize = deserialize(message);
-        if (deserialize != null) {
-            out.collect(deserialize);
+        try {
+            T deserialize = deserialize(message);
+            if (deserialize != null) {
+                out.collect(deserialize);
+            }
+        } catch (Exception e) {

Review Comment:
   Dirty data has been printed through the warn log.
   
   <img width="827" alt="image" src="https://user-images.githubusercontent.com/21999616/226159570-5b353331-bcbf-4d57-821c-a4758c3714b2.png">
   



-- 
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: commits-unsubscribe@seatunnel.apache.org

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


[GitHub] [incubator-seatunnel] laglangyue commented on a diff in pull request #4364: [Feature][Connector-V2][Kafka]Kafka source supports data deserializat…

Posted by "laglangyue (via GitHub)" <gi...@apache.org>.
laglangyue commented on code in PR #4364:
URL: https://github.com/apache/incubator-seatunnel/pull/4364#discussion_r1141273217


##########
seatunnel-connectors-v2/connector-kafka/src/main/java/org/apache/seatunnel/connectors/seatunnel/kafka/source/KafkaSource.java:
##########
@@ -186,6 +190,19 @@ public void prepare(Config config) throws PrepareFailException {
                                     this.metadata.getProperties().put(key, value.unwrapped()));
         }
 
+        if (config.hasPath(MESSAGE_FORMAT_ERROR_HANDLE_WAY_OPTION.key())) {

Review Comment:
   `Serialization Error Handling Policy ` or `Serialization Failure Handling Policy` maybe better?



-- 
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: commits-unsubscribe@seatunnel.apache.org

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


[GitHub] [incubator-seatunnel] TyrantLucifer merged pull request #4364: [Feature][Connector-V2][Kafka]Kafka source supports data deserializat…

Posted by "TyrantLucifer (via GitHub)" <gi...@apache.org>.
TyrantLucifer merged PR #4364:
URL: https://github.com/apache/incubator-seatunnel/pull/4364


-- 
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: commits-unsubscribe@seatunnel.apache.org

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


[GitHub] [incubator-seatunnel] 521daichen commented on pull request #4364: [Feature][Connector-V2][Kafka]Kafka source supports data deserializat…

Posted by "521daichen (via GitHub)" <gi...@apache.org>.
521daichen commented on PR #4364:
URL: https://github.com/apache/incubator-seatunnel/pull/4364#issuecomment-1480861347

   > 
   
   fixed


-- 
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: commits-unsubscribe@seatunnel.apache.org

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


[GitHub] [incubator-seatunnel] EricJoy2048 commented on a diff in pull request #4364: [Feature][Connector-V2][Kafka]Kafka source supports data deserializat…

Posted by "EricJoy2048 (via GitHub)" <gi...@apache.org>.
EricJoy2048 commented on code in PR #4364:
URL: https://github.com/apache/incubator-seatunnel/pull/4364#discussion_r1147253682


##########
docs/en/connector-v2/source/kafka.md:
##########
@@ -28,6 +28,7 @@ Source connector for Apache Kafka.
 | common-options                      | config  | no       | -                        |
 | schema                              |         | no       | -                        |
 | format                              | String  | no       | json                     |
+| format_error_handle_way             | no      | np       | fail                     |

Review Comment:
   ```suggestion
   | format_error_handle_way             | String      | no       | fail                     |
   ```



-- 
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: commits-unsubscribe@seatunnel.apache.org

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


[GitHub] [incubator-seatunnel] TaoZex commented on a diff in pull request #4364: [Feature][Connector-V2][Kafka]Kafka source supports data deserializat…

Posted by "TaoZex (via GitHub)" <gi...@apache.org>.
TaoZex commented on code in PR #4364:
URL: https://github.com/apache/incubator-seatunnel/pull/4364#discussion_r1141260382


##########
seatunnel-api/src/main/java/org/apache/seatunnel/api/serialization/DeserializationSchema.java:
##########
@@ -35,9 +35,13 @@
     T deserialize(byte[] message) throws IOException;
 
     default void deserialize(byte[] message, Collector<T> out) throws IOException {
-        T deserialize = deserialize(message);
-        if (deserialize != null) {
-            out.collect(deserialize);
+        try {
+            T deserialize = deserialize(message);
+            if (deserialize != null) {
+                out.collect(deserialize);
+            }
+        } catch (Exception e) {
+            throw new IOException(e);

Review Comment:
   Please unify exception



-- 
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: commits-unsubscribe@seatunnel.apache.org

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


[GitHub] [incubator-seatunnel] laglangyue commented on pull request #4364: [Feature][Connector-V2][Kafka]Kafka source supports data deserializat…

Posted by "laglangyue (via GitHub)" <gi...@apache.org>.
laglangyue commented on PR #4364:
URL: https://github.com/apache/incubator-seatunnel/pull/4364#issuecomment-1475129556

   maybe we need to collect the dirty data about this by engine,it's very important featur about ETL sofeware, Actually, this pr can slove the serialization of kafka data,can we get the more detail reason about serialization failure,sometimes,we need such feature as `null as empty`,`null`,'default data' to solve the dirty illegal column.


-- 
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: commits-unsubscribe@seatunnel.apache.org

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


[GitHub] [incubator-seatunnel] laglangyue commented on a diff in pull request #4364: [Feature][Connector-V2][Kafka]Kafka source supports data deserializat…

Posted by "laglangyue (via GitHub)" <gi...@apache.org>.
laglangyue commented on code in PR #4364:
URL: https://github.com/apache/incubator-seatunnel/pull/4364#discussion_r1141272225


##########
seatunnel-api/src/main/java/org/apache/seatunnel/api/serialization/DeserializationSchema.java:
##########
@@ -35,9 +35,13 @@
     T deserialize(byte[] message) throws IOException;
 
     default void deserialize(byte[] message, Collector<T> out) throws IOException {
-        T deserialize = deserialize(message);
-        if (deserialize != null) {
-            out.collect(deserialize);
+        try {
+            T deserialize = deserialize(message);
+            if (deserialize != null) {
+                out.collect(deserialize);
+            }
+        } catch (Exception e) {

Review Comment:
   print the dirty data?



-- 
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: commits-unsubscribe@seatunnel.apache.org

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


[GitHub] [incubator-seatunnel] 521daichen commented on pull request #4364: [Feature][Connector-V2][Kafka]Kafka source supports data deserializat…

Posted by "521daichen (via GitHub)" <gi...@apache.org>.
521daichen commented on PR #4364:
URL: https://github.com/apache/incubator-seatunnel/pull/4364#issuecomment-1473690432

   > Add e2e test case to verify this pull reqeust. Thanks
   
   The function configuration has been added to the kafka-e2e project, and the local docker verification has been completed.
   
   Thanks.


-- 
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: commits-unsubscribe@seatunnel.apache.org

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


[GitHub] [incubator-seatunnel] TyrantLucifer commented on a diff in pull request #4364: [Feature][Connector-V2][Kafka]Kafka source supports data deserializat…

Posted by "TyrantLucifer (via GitHub)" <gi...@apache.org>.
TyrantLucifer commented on code in PR #4364:
URL: https://github.com/apache/incubator-seatunnel/pull/4364#discussion_r1141252666


##########
seatunnel-connectors-v2/connector-kafka/src/main/java/org/apache/seatunnel/connectors/seatunnel/kafka/source/KafkaSource.java:
##########
@@ -186,6 +189,24 @@ public void prepare(Config config) throws PrepareFailException {
                                     this.metadata.getProperties().put(key, value.unwrapped()));
         }
 
+        if (config.hasPath(MESSAGE_FORMAT_ERROR_HANDLE_WAY_OPTION.key())) {
+            MessageFormatErrorHandleWay formatErrorWayOption =
+                    ReadonlyConfig.fromConfig(config).get(MESSAGE_FORMAT_ERROR_HANDLE_WAY_OPTION);
+            switch (formatErrorWayOption) {
+                case FAIL:
+                case SKIP:
+                    this.messageFormatErrorHandleWay = formatErrorWayOption;
+                    break;
+                default:
+                    throw new PrepareFailException(

Review Comment:
   throw new KafkaConnectorException, seatunnel unified exception in connectors. You can refer to https://github.com/apache/incubator-seatunnel/issues/3043 see more details.



##########
seatunnel-connectors-v2/connector-kafka/src/main/java/org/apache/seatunnel/connectors/seatunnel/kafka/source/KafkaSource.java:
##########
@@ -186,6 +189,24 @@ public void prepare(Config config) throws PrepareFailException {
                                     this.metadata.getProperties().put(key, value.unwrapped()));
         }
 
+        if (config.hasPath(MESSAGE_FORMAT_ERROR_HANDLE_WAY_OPTION.key())) {
+            MessageFormatErrorHandleWay formatErrorWayOption =
+                    ReadonlyConfig.fromConfig(config).get(MESSAGE_FORMAT_ERROR_HANDLE_WAY_OPTION);
+            switch (formatErrorWayOption) {
+                case FAIL:
+                case SKIP:
+                    this.messageFormatErrorHandleWay = formatErrorWayOption;
+                    break;
+                default:
+                    throw new PrepareFailException(
+                            getPluginName(),
+                            PluginType.SOURCE,
+                            "Unsupported message format error handle way: " + formatErrorWayOption);
+            }
+        } else {

Review Comment:
   Remove this logic



##########
seatunnel-connectors-v2/connector-kafka/src/main/java/org/apache/seatunnel/connectors/seatunnel/kafka/source/KafkaSource.java:
##########
@@ -83,6 +85,7 @@
     private SeaTunnelRowType typeInfo;
     private JobContext jobContext;
     private long discoveryIntervalMillis = KEY_PARTITION_DISCOVERY_INTERVAL_MILLIS.defaultValue();
+    private MessageFormatErrorHandleWay messageFormatErrorHandleWay;

Review Comment:
   ```suggestion
       private MessageFormatErrorHandleWay messageFormatErrorHandleWay = MessageFormatErrorHandleWay.FAIL;
   ```



-- 
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: commits-unsubscribe@seatunnel.apache.org

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


[GitHub] [incubator-seatunnel] 521daichen commented on a diff in pull request #4364: [Feature][Connector-V2][Kafka]Kafka source supports data deserializat…

Posted by "521daichen (via GitHub)" <gi...@apache.org>.
521daichen commented on code in PR #4364:
URL: https://github.com/apache/incubator-seatunnel/pull/4364#discussion_r1141258730


##########
seatunnel-connectors-v2/connector-kafka/src/main/java/org/apache/seatunnel/connectors/seatunnel/kafka/source/KafkaSource.java:
##########
@@ -186,6 +189,24 @@ public void prepare(Config config) throws PrepareFailException {
                                     this.metadata.getProperties().put(key, value.unwrapped()));
         }
 
+        if (config.hasPath(MESSAGE_FORMAT_ERROR_HANDLE_WAY_OPTION.key())) {
+            MessageFormatErrorHandleWay formatErrorWayOption =
+                    ReadonlyConfig.fromConfig(config).get(MESSAGE_FORMAT_ERROR_HANDLE_WAY_OPTION);
+            switch (formatErrorWayOption) {
+                case FAIL:
+                case SKIP:
+                    this.messageFormatErrorHandleWay = formatErrorWayOption;
+                    break;
+                default:
+                    throw new PrepareFailException(
+                            getPluginName(),
+                            PluginType.SOURCE,
+                            "Unsupported message format error handle way: " + formatErrorWayOption);
+            }
+        } else {

Review Comment:
   fixed



-- 
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: commits-unsubscribe@seatunnel.apache.org

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


[GitHub] [incubator-seatunnel] TyrantLucifer commented on pull request #4364: [Feature][Connector-V2][Kafka]Kafka source supports data deserializat…

Posted by "TyrantLucifer (via GitHub)" <gi...@apache.org>.
TyrantLucifer commented on PR #4364:
URL: https://github.com/apache/incubator-seatunnel/pull/4364#issuecomment-1473602451

   Add e2e test case to verify this pull reqeust. Thanks


-- 
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: commits-unsubscribe@seatunnel.apache.org

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


[GitHub] [incubator-seatunnel] 521daichen commented on pull request #4364: [Feature][Connector-V2][Kafka]Kafka source supports data deserializat…

Posted by "521daichen (via GitHub)" <gi...@apache.org>.
521daichen commented on PR #4364:
URL: https://github.com/apache/incubator-seatunnel/pull/4364#issuecomment-1475130490

   > 
   
   ok. I have added e2e
   
   1、format_error_handle_way = fail
   The data is invalid, an exception will be thrown
   2、skip
   The data is invalid and will be skipped


-- 
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: commits-unsubscribe@seatunnel.apache.org

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


[GitHub] [incubator-seatunnel] laglangyue commented on a diff in pull request #4364: [Feature][Connector-V2][Kafka]Kafka source supports data deserializat…

Posted by "laglangyue (via GitHub)" <gi...@apache.org>.
laglangyue commented on code in PR #4364:
URL: https://github.com/apache/incubator-seatunnel/pull/4364#discussion_r1141325731


##########
seatunnel-connectors-v2/connector-kafka/src/main/java/org/apache/seatunnel/connectors/seatunnel/kafka/source/KafkaSource.java:
##########
@@ -186,6 +190,19 @@ public void prepare(Config config) throws PrepareFailException {
                                     this.metadata.getProperties().put(key, value.unwrapped()));
         }
 
+        if (config.hasPath(MESSAGE_FORMAT_ERROR_HANDLE_WAY_OPTION.key())) {

Review Comment:
   I mean it is not format error but serialization error



-- 
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: commits-unsubscribe@seatunnel.apache.org

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


[GitHub] [incubator-seatunnel] 521daichen commented on a diff in pull request #4364: [Feature][Connector-V2][Kafka]Kafka source supports data deserializat…

Posted by "521daichen (via GitHub)" <gi...@apache.org>.
521daichen commented on code in PR #4364:
URL: https://github.com/apache/incubator-seatunnel/pull/4364#discussion_r1141257719


##########
seatunnel-connectors-v2/connector-kafka/src/main/java/org/apache/seatunnel/connectors/seatunnel/kafka/source/KafkaSource.java:
##########
@@ -186,6 +189,24 @@ public void prepare(Config config) throws PrepareFailException {
                                     this.metadata.getProperties().put(key, value.unwrapped()));
         }
 
+        if (config.hasPath(MESSAGE_FORMAT_ERROR_HANDLE_WAY_OPTION.key())) {
+            MessageFormatErrorHandleWay formatErrorWayOption =
+                    ReadonlyConfig.fromConfig(config).get(MESSAGE_FORMAT_ERROR_HANDLE_WAY_OPTION);
+            switch (formatErrorWayOption) {
+                case FAIL:
+                case SKIP:
+                    this.messageFormatErrorHandleWay = formatErrorWayOption;
+                    break;
+                default:
+                    throw new PrepareFailException(

Review Comment:
   Thank you, here I think you can directly connect to break, because the default value is set for this parameter. May I



-- 
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: commits-unsubscribe@seatunnel.apache.org

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