This is an automated email from the ASF dual-hosted git repository.

davidzollo pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git


The following commit(s) were added to refs/heads/dev by this push:
     new 18259c3c90 [Docs][Connector-V2] Improve Doris IoTDBv2 Paimon 
SensorsData and StarRocks connector docs (#11796)
18259c3c90 is described below

commit 18259c3c90769b68f8a6d6869ceb9317ee75e18d
Author: Daniel Carter <[email protected]>
AuthorDate: Fri Aug 14 17:05:55 2026 +0800

    [Docs][Connector-V2] Improve Doris IoTDBv2 Paimon SensorsData and StarRocks 
connector docs (#11796)
    
    Co-authored-by: DanielCarter-stack <[email protected]>
    Co-authored-by: DanielCarter-stack 
<[email protected]>
---
 docs/en/connectors/sink/Doris.md       | 105 +++++++++++++++++++++++++++--
 docs/en/connectors/sink/IoTDBv2.md     |  49 ++++++++++++++
 docs/en/connectors/sink/Paimon.md      | 113 ++++++++++++++++++++++++-------
 docs/en/connectors/sink/SensorsData.md |  68 ++++++++++++++++++-
 docs/en/connectors/sink/StarRocks.md   | 117 ++++++++++++++++++++++++++++++---
 docs/zh/connectors/sink/SensorsData.md |   2 +-
 6 files changed, 413 insertions(+), 41 deletions(-)

diff --git a/docs/en/connectors/sink/Doris.md b/docs/en/connectors/sink/Doris.md
index d70c3ac2ee..5afacfc0bd 100644
--- a/docs/en/connectors/sink/Doris.md
+++ b/docs/en/connectors/sink/Doris.md
@@ -65,7 +65,7 @@ The internal implementation of Doris sink connector is cached 
and imported by st
 | data_save_mode                 | Enum    | no       | APPEND_DATA            
      | the data save mode, please refer to `data_save_mode` below              
                                                                                
                                                                                
                             |
 | save_mode_create_template      | string  | no       | see below              
      | see below                                                               
                                                                                
                                                                                
                             |
 | custom_sql                     | String  | no       | -                      
      | When data_save_mode selects CUSTOM_PROCESSING, you should fill in the 
CUSTOM_SQL parameter. This parameter usually fills in a SQL that can be 
executed. SQL will be executed before synchronization tasks.                    
                                       |
-| doris.config                   | map     | yes      | -                      
      | This option is used to support operations such as `insert`, `delete`, 
and `update` when automatically generate sql,and supported formats.             
                                                                                
                               |
+| doris.config                   | map     | yes      | -                      
      | Stream Load data description parameters passed to Doris. The most 
common keys are `format` (`json` or `csv`), `read_json_by_line` 
(`true`/`false`), `column_separator`, and `row_delimiter`. See the Doris Stream 
Load documentation for the full key set.                              |
 
 ## Redirect Behavior
 
@@ -411,7 +411,7 @@ sink {
 
 ### Use JSON format to import data
 
-```
+```hocon
 sink {
     Doris {
         fenodes = "e2e_dorisdb:8030"
@@ -427,12 +427,11 @@ sink {
         }
     }
 }
-
 ```
 
 ### Use CSV format to import data
 
-```
+```hocon
 sink {
     Doris {
         fenodes = "e2e_dorisdb:8030"
@@ -448,6 +447,7 @@ sink {
         }
     }
 }
+```
 
 ### Case-Sensitive Configuration
 
@@ -470,6 +470,95 @@ sink {
 }
 ```
 
+### Custom SQL Pre-processing
+
+When `data_save_mode = "CUSTOM_PROCESSING"`, the SQL set in `custom_sql` is 
executed on the target
+Doris cluster before the synchronization task reads data. This lets you 
prepare, clean, or seed the
+target table out-of-band of the connector's normal write path. The connector 
still writes through
+Stream Load afterwards.
+
+```hocon
+env {
+  parallelism = 1
+  job.mode = "BATCH"
+}
+
+source {
+  FakeSource {
+    row.num = 100
+    schema = {
+      fields {
+        F_ID = bigint
+        F_INT = int
+        F_BIGINT = bigint
+      }
+    }
+  }
+}
+
+sink {
+  Doris {
+    fenodes = "doris_e2e:8030"
+    username = root
+    password = ""
+    database = "e2e_sink"
+    table = "doris_e2e_unique_table"
+    data_save_mode = "CUSTOM_PROCESSING"
+    custom_sql = "INSERT INTO e2e_sink.doris_e2e_unique_table (F_ID, F_INT, 
F_BIGINT) VALUES (1, 123, 1234567890123);"
+    sink.enable-2pc = true
+    sink.label-prefix = "test_custom_sql"
+    save_mode_create_template = """CREATE TABLE IF NOT EXISTS 
`${database}`.`${table}` (${rowtype_fields}) ENGINE=OLAP UNIQUE KEY (`F_ID`) 
DISTRIBUTED BY HASH (`F_ID`) PROPERTIES ("replication_allocation" = 
"tag.location.default: 1")"""
+    doris.config = {
+      format = "json"
+      read_json_by_line = "true"
+    }
+  }
+}
+```
+
+### CDC With Schema Change
+
+This example shows MySQL-CDC streaming into Doris with `schema-changes.enabled 
= true` so that
+column additions, type widening, and other DDL changes from the upstream MySQL 
source are applied
+to the target Doris table.
+
+```hocon
+env {
+  parallelism = 1
+  job.mode = "STREAMING"
+  checkpoint.interval = 2000
+}
+
+source {
+  MySQL-CDC {
+    server-id = 5652-5657
+    username = "st_user_source"
+    password = "mysqlpw"
+    table-names = ["shop.products"]
+    url = "jdbc:mysql://mysql_cdc_e2e:3306/shop"
+
+    schema-changes.enabled = true
+  }
+}
+
+sink {
+  Doris {
+    fenodes = "doris_cdc_e2e:8030"
+    username = "root"
+    password = ""
+    database = "shop"
+    table = "products"
+    sink.label-prefix = "test-cdc"
+    sink.enable-2pc = true
+    sink.enable-delete = true
+    doris.config {
+      format = "json"
+      read_json_by_line = "true"
+    }
+  }
+}
+```
+
 ### Multiple table
 
 #### example1
@@ -599,9 +688,11 @@ Yes. Set `sink.enable-delete = "true"` to propagate DELETE 
operations from CDC s
 
 ### Are Doris column names case-sensitive?
 
-See the case-sensitivity example above for the exact behavior. If upstream 
field names still do not
-match the Doris schema, normalize them before the sink stage or align the 
target schema explicitly
-instead of relying on an undocumented `column_mapping` option.
+See the case-sensitivity example above for the exact behavior. By default 
(`case_sensitive = true`)
+the connector preserves the original case of `database` and `table`. Set 
`case_sensitive = false`
+to fold both names to lowercase before they reach Doris. If upstream field 
names still do not
+match the Doris schema, normalize them at the source stage (e.g. with a 
`Rename` transform) or
+align the target schema explicitly rather than relying on undocumented options.
 
 ### What data format does Doris Stream Load use?
 
diff --git a/docs/en/connectors/sink/IoTDBv2.md 
b/docs/en/connectors/sink/IoTDBv2.md
index 9f4ecc595b..0fc2ecc3bd 100644
--- a/docs/en/connectors/sink/IoTDBv2.md
+++ b/docs/en/connectors/sink/IoTDBv2.md
@@ -379,6 +379,55 @@ IoTDB> DESC "test_database"."0700HK";
 +-----------+---------+-------+
 ```
 
+#### Case 4: Combined TAG, ATTRIBUTE, and FIELD columns
+
+This case wires all three column categories at once: a TAG column for 
high-cardinality
+filterable metadata, an ATTRIBUTE column for low-cardinality profile-like 
metadata, and explicit
+FIELD columns for measurements. All three are required for a fully-tagged 
IoTDB-table write.
+
+```hocon
+sink {
+  IoTDBv2 {
+    node_urls = ["localhost:6667"]
+    username = "root"
+    password = "root"
+    sql_dialect = "table"
+    storage_group = "test_database"
+    key_device = "region"
+    key_timestamp = "ts"
+    key_tag_fields = ["tag"]
+    key_attribute_fields = ["model_id"]
+    key_measurement_fields = ["status", "arrival_date", "temperature"]
+  }
+}
+```
+
+The data format of IoTDB output is as follows:
+
+```shell
+IoTDB> SELECT * FROM "test_database"."0700HK";
++-----------------------------+----+--------+------+------------+-----------+
+|                         time| tag|model_id|status|arrival_date|temperature|
++-----------------------------+----+--------+------+------------+-----------+
+|2025-07-30T17:52:34.851+08:00|tag1|     id1|  true|  2024-11-12|       4.34|
+|2025-07-29T17:51:34.851+08:00|tag2|     id2| false|  2024-12-01|       5.54|
+|2025-07-28T17:50:34.851+08:00|tag3|     id3| false|  2024-12-22|       7.34|
++-----------------------------+----+--------+------+------------+-----------+
+```
+```shell
+IoTDB> DESC "test_database"."0700HK";
++-------------+---------+---------+
+|    ColumnName| DataType| Category|
++-------------+---------+---------+
+|         time|TIMESTAMP|     TIME|
+|          tag|   STRING|      TAG|
+|     model_id|   STRING|ATTRIBUTE|
+|       status|  BOOLEAN|    FIELD|
+| arrival_date|     DATE|    FIELD|
+|  temperature|   DOUBLE|    FIELD|
++-------------+---------+---------+
+```
+
 ## Changelog
 
 <ChangeLog />
diff --git a/docs/en/connectors/sink/Paimon.md 
b/docs/en/connectors/sink/Paimon.md
index 876d355b13..b8e20d9e50 100644
--- a/docs/en/connectors/sink/Paimon.md
+++ b/docs/en/connectors/sink/Paimon.md
@@ -6,7 +6,7 @@ import ChangeLog from '../changelog/connector-paimon.md';
 
 ## Description
 
-Sink connector for Apache Paimon. It can support cdc mode 、auto create table.
+Sink connector for Apache Paimon. It supports CDC mode and auto-create table.
 
 ### Comparison between SeaTunnel and Paimon version
 
@@ -116,10 +116,13 @@ sink {
 When you set `checkpoint.interval` to a value greater than 0 in batch mode, 
the paimon connector will commit the data to the paimon table when the 
checkpoint triggers after a certain number of records have been written. At 
this moment, the written data in paimon that is visible. 
 However, if you do not set `checkpoint.interval` in batch mode, the paimon 
sink connector will commit the data after all records are written. The written 
data in paimon that is not visible until the batch task completes.
 
-## Changelog
-You must configure the `changelog-producer=input` option to enable the 
changelog producer mode of the paimon table. If you use the auto-create table 
function of paimon sink, you can configure this property in 
`paimon.table.write-props` or `table_options`.
+## Changelog Producer
+
+Configure `changelog-producer` to enable the changelog producer mode of the 
Paimon table. If you use
+the auto-create table function of the Paimon sink, set this property in 
`paimon.table.write-props`
+or `table_options`. For existing tables created out-of-band, set it on the 
table itself.
 
-The changelog producer mode of the paimon table has [four 
mode](https://paimon.apache.org/docs/master/primary-key-table/changelog-producer/)
 which is `none`、`input`、`lookup` and `full-compaction`.
+The changelog producer mode of the Paimon table has [four 
modes](https://paimon.apache.org/docs/master/primary-key-table/changelog-producer/):
 `none`, `input`, `lookup`, and `full-compaction`.
 
 All `changelog-producer` modes are currently supported. The default is `none`.
 
@@ -127,35 +130,43 @@ All `changelog-producer` modes are currently supported. 
The default is `none`.
 * 
[`input`](https://paimon.apache.org/docs/master/primary-key-table/changelog-producer/#input)
 * 
[`lookup`](https://paimon.apache.org/docs/master/primary-key-table/changelog-producer/#lookup)
 * 
[`full-compaction`](https://paimon.apache.org/docs/master/primary-key-table/changelog-producer/#full-compaction)
-> note: 
-> When you use a streaming mode to read paimon table,different mode will 
produce [different results](../source/Paimon.md#changelog)。
+
+> **Note**
+>
+> When you use a streaming mode to read a Paimon table, different 
`changelog-producer` modes will
+> produce [different results](../source/Paimon.md#changelog). Pick `input` for 
the most faithful
+> pass-through of upstream CDC events, or `lookup` / `full-compaction` if the 
upstream does not emit
+> full changelog records.
 
 ## Filesystems
-The Paimon connector supports writing data to multiple file systems. 
Currently, the supported file systems are hdfs and s3.
-If you use the s3 filesystem. You can configure the 
`fs.s3a.access-key`、`fs.s3a.secret-key`、`fs.s3a.endpoint`、`fs.s3a.path.style.access`、`fs.s3a.aws.credentials.provider`
 properties in the `paimon.hadoop.conf` option.
-Besides, the warehouse should start with `s3a://`.
+The Paimon connector supports writing data to multiple file systems. 
Currently, the supported file systems are HDFS and S3.
+If you use the S3 filesystem, configure `fs.s3a.access-key`, 
`fs.s3a.secret-key`, `fs.s3a.endpoint`, `fs.s3a.path.style.access`, and 
`fs.s3a.aws.credentials.provider` properties in the `paimon.hadoop.conf` option.
+The warehouse path should start with `s3a://`.
 
 ## Schema Evolution
-Cdc Ingestion supports a limited number of schema changes. Currently supported 
schema changes includes:
+
+CDC ingestion supports a limited number of schema changes. The currently 
supported schema changes are:
 
 * Adding columns.
 
-* Modify column. More specifically, If you modify the column type, the 
following changes are supported:
+* Modifying a column type. More specifically, when you modify the column type, 
the following changes are supported:
 
-  * altering from a string type (char, varchar, text) to another string type 
with longer length,
-  * altering from a binary type (binary, varbinary, blob) to another binary 
type with longer length,
-  * altering from an integer type (tinyint, smallint, int, bigint) to another 
integer type with wider range,
-  * altering from a floating-point type (float, double) to another 
floating-point type with wider range,
-    
+  * altering from a string type (`char`, `varchar`, `text`) to another string 
type with longer length,
+  * altering from a binary type (`binary`, `varbinary`, `blob`) to another 
binary type with longer length,
+  * altering from an integer type (`tinyint`, `smallint`, `int`, `bigint`) to 
another integer type with wider range,
+  * altering from a floating-point type (`float`, `double`) to another 
floating-point type with wider range.
 
-  are supported. 
-  > Note:
-  > 
-  > If {oldType} and {newType} belongs to the same type family, but old type 
has higher precision than new type. Ignore this convert.
+  > **Note**
+  >
+  > If `{oldType}` and `{newType}` belong to the same type family, but the old 
type has higher
+  > precision than the new type, this conversion is ignored.
 
-* Drop columns.
+* Dropping columns.
 
-* Change columns.
+* Renaming columns (optionally combined with the same type-widening / 
column-position /
+  comment / nullability changes listed under "Modifying a column type" above — 
the change
+  handler applies those updates and renames the column in the same step when 
the name
+  differs).
 
 
 ## Examples
@@ -662,6 +673,64 @@ sink {
 }
 ```
 
+### Truncate target table on startup with Hive catalog
+
+This example recreates the Hive-catalogued Paimon table from the upstream 
schema on each job start
+(`schema_save_mode = "RECREATE_SCHEMA"`) and clears existing data so the sink 
behaves as a fresh
+overwrite. Useful for full-refresh batch jobs.
+
+```hocon
+env {
+  parallelism = 1
+  job.mode = "BATCH"
+}
+
+source {
+  FakeSource {
+    schema = {
+      fields {
+        pk_id = bigint
+        name = string
+        score = int
+      }
+      primaryKey {
+        name = "pk_id"
+        columnNames = [pk_id]
+      }
+    }
+    rows = [
+      { kind = INSERT, fields = [1, "A", 100] }
+      { kind = INSERT, fields = [2, "B", 100] }
+      { kind = INSERT, fields = [3, "C", 100] }
+      { kind = UPDATE_BEFORE, fields = [1, "A", 100] }
+      { kind = UPDATE_AFTER,  fields = [1, "A_1", 100] }
+      { kind = DELETE,        fields = [2, "B", 100] }
+    ]
+  }
+}
+
+sink {
+  Paimon {
+    warehouse = "hdfs:///tmp/paimon"
+    catalog_type = "hive"
+    catalog_uri = "thrift://hadoop04:9083"
+    database = "seatunnel_namespace12"
+    table = "st_test"
+    schema_save_mode = "RECREATE_SCHEMA"
+    data_save_mode = "DROP_DATA"
+    paimon.hadoop.conf = {
+      fs.defaultFS = "hdfs://nameservice1"
+      dfs.nameservices = "nameservice1"
+      dfs.ha.namenodes.nameservice1 = "nn1,nn2"
+      dfs.namenode.rpc-address.nameservice1.nn1 = "hadoop03:8020"
+      dfs.namenode.rpc-address.nameservice1.nn2 = "hadoop04:8020"
+      dfs.client.failover.proxy.provider.nameservice1 = 
"org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider"
+      dfs.client.use.datanode.hostname = "true"
+    }
+  }
+}
+```
+
 ## Changelog
 
 <ChangeLog />
diff --git a/docs/en/connectors/sink/SensorsData.md 
b/docs/en/connectors/sink/SensorsData.md
index 15aad0d4f7..61a9608b4f 100644
--- a/docs/en/connectors/sink/SensorsData.md
+++ b/docs/en/connectors/sink/SensorsData.md
@@ -227,6 +227,10 @@ sink {
 
 ### Profile Property Updates
 
+User profile records (`record_type = "users"`) update the attributes attached 
to a SensorsData user
+profile. Setting `null_as_profile_unset = true` makes null properties delete 
the corresponding
+profile attribute instead of leaving the previous value in place.
+
 ```hocon
 sink {
   SensorsData {
@@ -234,7 +238,7 @@ sink {
     time_free = true
 
     entity_name = users
-    record_type = profile
+    record_type = users
     schema = users
     distinct_id_column = user_id
     identity_fields = [
@@ -278,6 +282,68 @@ sink {
 }
 ```
 
+### User Details (Detail Records)
+
+User detail records (`record_type = "details"`) attach a per-record identifier 
to a SensorsData
+user. The `detail_id_column` provides that detail key, while 
`distinct_id_column` and
+`identity_fields` identify the parent user.
+
+```hocon
+sink {
+  SensorsData {
+    consumer = console
+    server_url = "http://10.129.27.43:8106/sa?project=sditest";
+    time_free = true
+
+    record_type = details
+    schema = fund_manager
+    distinct_id_column = c_id
+    detail_id_column = c_id
+    identity_fields = [
+      { target = "$identity_distinct_id", source = c_id }
+    ]
+    property_fields = [
+      { target = c_id, source = c_id, type = STRING }
+      { target = fund_amount, source = c_int, type = INT }
+      { target = "$is_valid", source = c_boolean, type = BOOLEAN }
+    ]
+  }
+}
+```
+
+### Dynamic Event Names With Multiple Identities
+
+This example builds the event name from the data row itself (`event_name = 
"${c_event}"`) and
+maps several identities at once (`$identity_login_id`, 
`$identity_distinct_id`). Records that fail
+to convert are skipped via `skip_error_record = true`.
+
+```hocon
+sink {
+  SensorsData {
+    consumer = console
+    server_url = "http://10.1.136.63:8106/sa?project=default";
+    time_free = true
+
+    record_type = events
+    schema = events
+    event_name = "${c_event}"
+    time_column = c_date
+    distinct_id_column = c_bigint
+    identity_fields = [
+      { source = c_bigint, target = "$identity_login_id" }
+      { source = c_bigint, target = "$identity_distinct_id" }
+    ]
+    property_fields = [
+      { target = c_tinyint, source = c_tinyint, type = INT }
+      { target = c_bigint,   source = c_bigint,   type = BIGINT }
+      { target = c_int,      source = c_int,      type = INT }
+      { target = c_boolean,  source = c_boolean,  type = BOOLEAN }
+    ]
+    skip_error_record = true
+  }
+}
+```
+
 ### Console Output (for Testing)
 
 ```hocon
diff --git a/docs/en/connectors/sink/StarRocks.md 
b/docs/en/connectors/sink/StarRocks.md
index 2d22517a64..6d6809d55a 100644
--- a/docs/en/connectors/sink/StarRocks.md
+++ b/docs/en/connectors/sink/StarRocks.md
@@ -303,7 +303,7 @@ sink {
 
 ### Use JSON format to import data
 
-```
+```hocon
 sink {
   StarRocks {
     nodeUrls = ["e2e_starRocksdb:8030"]
@@ -319,12 +319,11 @@ sink {
     }
   }
 }
-
 ```
 
 ### Use CSV format to import data
 
-```
+```hocon
 sink {
   StarRocks {
     nodeUrls = ["e2e_starRocksdb:8030"]
@@ -345,7 +344,7 @@ sink {
 
 ### Use save_mode function
 
-```
+```hocon
 sink {
   StarRocks {
     nodeUrls = ["e2e_starRocksdb:8030"]
@@ -355,7 +354,7 @@ sink {
     database = "test"
     table = "test_${schema_name}_${table_name}"
     schema_save_mode = "CREATE_SCHEMA_WHEN_NOT_EXIST"
-    data_save_mode="APPEND_DATA"
+    data_save_mode = "APPEND_DATA"
     batch_max_rows = 10
     starrocks.config = {
       format = "CSV"
@@ -366,6 +365,103 @@ sink {
 }
 ```
 
+### CDC With Schema Change
+
+This example shows MySQL-CDC streaming into StarRocks with 
`schema-changes.enabled = true` so that
+upstream MySQL DDL changes (column additions, type widening, etc.) are applied 
to the target
+StarRocks Primary Key table.
+
+```hocon
+env {
+  job.mode = "STREAMING"
+  checkpoint.interval = 2000
+}
+
+source {
+  MySQL-CDC {
+    username = "st_user_source"
+    password = "mysqlpw"
+    table-names = ["shop.products", "shop.orders", "shop.customers"]
+    url = "jdbc:mysql://mysql_cdc_e2e:3306/shop"
+
+    schema-changes.enabled = true
+  }
+}
+
+sink {
+  StarRocks {
+    nodeUrls = ["starrocks_cdc_e2e:8040"]
+    base-url = "jdbc:mysql://starrocks_cdc_e2e:9030/shop"
+    username = "root"
+    password = ""
+    database = "shop"
+    table = "${table_name}"
+    max_retries = 3
+    enable_upsert_delete = true
+    schema_save_mode = "RECREATE_SCHEMA"
+    data_save_mode = "DROP_DATA"
+    save_mode_create_template = """
+    CREATE TABLE IF NOT EXISTS shop.`${table_name}` (
+        ${rowtype_primary_key},
+        ${rowtype_fields}
+    ) ENGINE=OLAP
+    PRIMARY KEY (${rowtype_primary_key})
+    DISTRIBUTED BY HASH (${rowtype_primary_key})
+    PROPERTIES (
+        "replication_num" = "1",
+        "in_memory" = "false",
+        "enable_persistent_index" = "true",
+        "replicated_storage" = "true",
+        "compression" = "LZ4"
+    )
+    """
+  }
+}
+```
+
+### Timer Flush With MySQL-CDC
+
+This example wires `sink.flush.interval` into the streaming job so that the 
StarRocks sink flushes
+its buffer every 500 ms, independent of `batch_max_rows` and `batch_max_bytes`.
+
+```hocon
+env {
+  parallelism = 1
+  job.mode = "STREAMING"
+  checkpoint.interval = 300000
+  sink.flush.interval = 500
+}
+
+source {
+  MySQL-CDC {
+    server-id = 5670
+    username = "st_user_source"
+    password = "mysqlpw"
+    table-names = ["shop.products"]
+    url = "jdbc:mysql://mysql_starrocks_timer_flush_e2e:3306/shop"
+  }
+}
+
+sink {
+  StarRocks {
+    nodeUrls = ["starrocks_timer_flush_e2e:8030"]
+    base-url = "jdbc:mysql://starrocks_timer_flush_e2e:9030/timer_flush"
+    username = root
+    password = ""
+    database = "timer_flush"
+    table = "starrocks_timer_flush"
+    labelPrefix = "timer-flush-"
+    batch_max_rows = 100000
+    batch_max_bytes = 104857600
+    schema_save_mode = "IGNORE"
+    data_save_mode = "APPEND_DATA"
+    starrocks.config = {
+      format = "JSON"
+    }
+  }
+}
+```
+
 ### Multiple table
 
 #### example1
@@ -470,9 +566,9 @@ Yes. Enable upsert and DELETE propagation by setting 
`enable_upsert_delete = tru
 
 ### What is `labelPrefix` used for in StarRocks Sink?
 
-The current StarRocks Sink page does not list exactly-once as a supported 
connector capability.
-Use `labelPrefix` to control the prefix of the Stream Load labels generated by 
the sink.
-Keeping this prefix stable and unique helps reduce label collisions across 
retries or job restarts:
+`labelPrefix` controls the prefix of the Stream Load labels generated by the 
sink. StarRocks uses
+these labels to deduplicate ingestion requests, so keeping this prefix stable 
and unique per job
+helps avoid spurious "label already exists" errors across retries or restarts:
 
 ```hocon
 sink {
@@ -488,8 +584,9 @@ sink {
 }
 ```
 
-For the published connector contract, follow the **Key Features** matrix and 
the `labelPrefix`
-option entry on this page.
+Note that StarRocks Sink does not currently provide exactly-once delivery (see 
the **Key Features**
+matrix at the top of this page). Using a stable `labelPrefix` reduces label 
collisions but does not
+by itself give end-to-end exactly-once guarantees.
 
 ### Are StarRocks column names case-sensitive?
 
diff --git a/docs/zh/connectors/sink/SensorsData.md 
b/docs/zh/connectors/sink/SensorsData.md
index 9aa6d7688a..ad2e035880 100644
--- a/docs/zh/connectors/sink/SensorsData.md
+++ b/docs/zh/connectors/sink/SensorsData.md
@@ -234,7 +234,7 @@ sink {
     time_free = true
 
     entity_name = users
-    record_type = profile
+    record_type = users
     schema = users
     distinct_id_column = user_id
     identity_fields = [

Reply via email to