DanielLeens commented on PR #10900:
URL: https://github.com/apache/seatunnel/pull/10900#issuecomment-6368801893

   I prepared a conflict resolution against current upstream that preserves the 
Syslog **sink** already merged in #12279, plus EN/ZH documentation for the 
source's actual receive/recovery behavior. Nothing has been pushed; Daniel has 
read access to the fork.
   
   The conflict resolution below is pinned to PR head 
`7d2cd7b3ff3211928df52ae3f7c21feb571d5269` and fetched upstream `dev` 
`14a27ac26a0a71b56722f86cdf8ec2779094ceaf`. It uses an ordinary merge, so the 
contributor's existing history is retained. Save the first diff as 
`conflict-resolution.patch`, then on a clean checkout of that exact PR head:
   
   ```bash
   git fetch https://github.com/apache/seatunnel.git 
14a27ac26a0a71b56722f86cdf8ec2779094ceaf
   git -c merge.conflictStyle=merge merge --no-commit --no-ff 
14a27ac26a0a71b56722f86cdf8ec2779094ceaf
   # The merge is expected to report conflicts. Apply this resolution before 
committing:
   git apply --check conflict-resolution.patch
   git apply conflict-resolution.patch
   ```
   
   If the head/base or conflict markers differ, resolve against that new 
version instead of forcing this patch.
   
   The three conflict resolutions retain upstream's shared Syslog POM and real 
changelog, replacing the source PR's placeholder `3.0.0`/commit row. Both 
source and sink classes remain present, the source plugin entry is retained, 
and the sink registration/tests remain unchanged. The merged diff adds the 
source alongside the existing sink, without creating a second module.
   
   <details><summary>Patch 1: conflict resolution</summary>
   
   ```diff
   --- a/seatunnel-connectors-v2/connector-syslog/pom.xml
   +++ b/seatunnel-connectors-v2/connector-syslog/pom.xml
   @@ -1,31 +1,17 @@
    <?xml version="1.0" encoding="UTF-8"?>
    <!--
   -<<<<<<< HEAD
   -
   -=======
   ->>>>>>> 14a27ac26a0a71b56722f86cdf8ec2779094ceaf
        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
   -<<<<<<< HEAD
   -
           http://www.apache.org/licenses/LICENSE-2.0
   -
   -=======
   -       http://www.apache.org/licenses/LICENSE-2.0
   ->>>>>>> 14a27ac26a0a71b56722f86cdf8ec2779094ceaf
        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.
   -<<<<<<< HEAD
   -
   -=======
   ->>>>>>> 14a27ac26a0a71b56722f86cdf8ec2779094ceaf
    -->
    <project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
   @@ -46,8 +32,4 @@
                <version>${project.version}</version>
            </dependency>
        </dependencies>
   -<<<<<<< HEAD
   -
   -=======
   ->>>>>>> 14a27ac26a0a71b56722f86cdf8ec2779094ceaf
    </project>
   --- a/docs/en/connectors/changelog/connector-syslog.md
   +++ b/docs/en/connectors/changelog/connector-syslog.md
   @@ -1,12 +1,3 @@
   -<<<<<<< HEAD
   -<details><summary> Change Log </summary>
   -
   -| Change | Commit | Version |
   -| --- | --- | --- |
   -|[Feature][Connector-V2][Syslog] Add Syslog source connector with RFC 3164 
over TCP support|https://github.com/apache/seatunnel/commit/7e29472|3.0.0|
   -
   -</details>
   -=======
    <!--
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
   @@ -27,4 +18,3 @@
    # Changelog
    
    Changes will be recorded after the connector is released.
   ->>>>>>> 14a27ac26a0a71b56722f86cdf8ec2779094ceaf
   --- a/docs/zh/connectors/changelog/connector-syslog.md
   +++ b/docs/zh/connectors/changelog/connector-syslog.md
   @@ -1,12 +1,3 @@
   -<<<<<<< HEAD
   -<details><summary> Change Log </summary>
   -
   -| Change | Commit | Version |
   -| --- | --- | --- |
   -|[Feature][Connector-V2][Syslog] Add Syslog source connector with RFC 3164 
over TCP support|https://github.com/apache/seatunnel/commit/7e29472|3.0.0|
   -
   -</details>
   -=======
    <!--
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
   @@ -27,4 +18,3 @@
    # 更新日志
    
    连接器发布后记录变更。
   ->>>>>>> 14a27ac26a0a71b56722f86cdf8ec2779094ceaf
   ```
   
   </details>
   
   The docs patch states that received/buffered messages cannot be replayed 
after failure, identifies the existing plaintext/all-interface behavior, 
documents explicit interface binding, and notes privileged-port requirements. 
It preserves the current source defaults and wire protocol. Save as 
`source-docs.patch` and apply after resolving the merge with `git apply --check 
source-docs.patch` followed by `git apply source-docs.patch`.
   
   <details><summary>Patch 2: EN/ZH source documentation</summary>
   
   ```diff
   diff --git a/docs/en/connectors/source/Syslog.md 
b/docs/en/connectors/source/Syslog.md
   index f254c1405ad..852ac50ddc9 100644
   --- a/docs/en/connectors/source/Syslog.md
   +++ b/docs/en/connectors/source/Syslog.md
   @@ -34,6 +34,14 @@ connector acts as a TCP listener and does not have a 
natural end-of-input.
    Each message is parsed into structured fields: facility, severity, 
timestamp, hostname, app name,
    process ID, and message body.
    
   +## Delivery and deployment limits
   +
   +Use `parallelism = 1`. The source does not persist TCP receive buffers or 
pending rows in checkpoint state and cannot replay them after a task failure. 
Receiving a TCP write is not an acknowledgement that the row reached a 
completed checkpoint or the sink. The receive path is at-most-once across 
failures; end-to-end exactly-once and at-least-once delivery are not guaranteed.
   +
   +RFC 3164 over TCP is plaintext and does not authenticate senders. `host` 
defaults to `0.0.0.0`, which listens on every network interface. Bind 
explicitly to `127.0.0.1` for a local sender, or to the intended private 
interface and restrict access using the deployment network controls. This 
source does not implement the Syslog sink connector's TLS options.
   +
   +Ports below 1024, including the conventional port 514, may require elevated 
privileges. The example uses the unprivileged port 5140.
   +
    ## Options
    
    | Name           | Type    | Required | Default   | Description             
                                                                                
             |
   @@ -104,4 +112,4 @@ This produces:
    
|----------|----------|-----------------|-----------|----------|---------|------------------------------------------------|
    | 4        | 2        | Oct 11 22:14:15 | mymachine | su       |         | 
'su root' failed for lonvick on /dev/pts/8     |
    
   -<ChangeLog />
   \ No newline at end of file
   +<ChangeLog />
   diff --git a/docs/zh/connectors/source/Syslog.md 
b/docs/zh/connectors/source/Syslog.md
   index a1c761c946c..8d07161c08c 100644
   --- a/docs/zh/connectors/source/Syslog.md
   +++ b/docs/zh/connectors/source/Syslog.md
   @@ -32,6 +32,14 @@ import ChangeLog from '../changelog/connector-syslog.md';
    每条消息将被解析为结构化字段:设施码(facility)、严重级别(severity)、时间戳、主机名、应用名、
    进程 ID 和消息内容。
    
   +## 投递与部署限制
   +
   +请设置 `parallelism = 1`。Source 不会把 TCP 接收缓冲区或待输出行保存到 checkpoint 
状态,因此任务失败后无法重放这些数据。发送端成功写入 TCP 连接并不表示数据行已进入完成的 checkpoint 或 
Sink。接收路径在故障恢复时为至多一次,不保证端到端精确一次或至少一次投递。
   +
   +RFC 3164 over TCP 使用明文传输,无法认证发送方。`host` 默认为 `0.0.0.0`,会监听所有网络接口。本机发送场景请显式绑定 
`127.0.0.1`;远程发送场景请绑定预期的内网接口,并通过部署网络控制限制访问。此 Source 不支持 Syslog Sink 连接器的 TLS 选项。
   +
   +1024 以下的端口(包括常用的 514)可能需要提升权限。示例使用非特权端口 5140。
   +
    ## 配置项
    
    | 名称           | 类型    | 必填 | 默认值    | 描述                                   
                                                       |
   @@ -102,4 +110,4 @@ logger -n 127.0.0.1 -P 5140 -T "来自 syslog 连接器的测试消息"
    
|----------|----------|-----------------|-----------|----------|---------|------------------------------------------------|
    | 4        | 2        | Oct 11 22:14:15 | mymachine | su       |         | 
'su root' failed for lonvick on /dev/pts/8     |
    
   -<ChangeLog />
   \ No newline at end of file
   +<ChangeLog />
   ```
   
   </details>
   
   Validation performed: scoped `./mvnw spotless:apply -nsu 
-Dmaven.gitcommitid.skip=true -pl seatunnel-connectors-v2/connector-syslog` 
passed; whitespace checks, reverse patch applicability checks and shared-POM 
XML parsing passed. No local functional tests were run. No CI exists for these 
unpushed patches. The old failed-job log endpoints now return HTTP 410, so I 
cannot attribute those historical failures from current raw logs.
   
   The bind/authentication-policy discussion and resource-limit requests remain 
open; this patch does not claim to settle them. Changing the default listener 
behavior or introducing a sender handshake needs an agreed 
protocol/configuration decision. After the contributor applies and reviews 
these changes, the resolved head still needs fresh CI and review.
   
   <!-- daniel-fcp-repair-20261023-pr10900 -->
   


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

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to