Skip to content

Commit

Permalink
ticdc: add binary_encoding_method to openapi v2 (pingcap#14877)
Browse files Browse the repository at this point in the history
  • Loading branch information
CharlesCheung96 authored Dec 7, 2023
1 parent a874ae8 commit 3b92dfe
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 7 deletions.
22 changes: 21 additions & 1 deletion ticdc/ticdc-changefeed-config.md
Original file line number Diff line number Diff line change
Expand Up @@ -207,8 +207,14 @@ max-log-size = 64
flush-interval = 2000
# redo log 使用存储服务的 URI。默认值为空。
storage = ""
# 是否将 redo log 存储到文件中。默认值为 false。
# 是否将 redo log 存储到本地文件中。默认值为 false。
use-file-backend = false
# 控制 redo 模块中编解码 worker 的数量,默认值为 16。
encoding-worker-num = 16
# 控制 redo 模块中上传文件 worker 的数量,默认值为 8。
flush-worker-num = 8
# redo log 文件的压缩行为,可选值为 "" 和 "lz4"。默认值为 "",表示不进行压缩。
compression = ""
[integrity]
# 是否开启单行数据的 Checksum 校验功能,默认值为 "none",即不开启。可选值为 "none" 和 "correctness"。
Expand Down Expand Up @@ -283,4 +289,18 @@ batching-max-messages=1000
batching-max-publish-delay=10
# Pulsar Producer 发送消息的超时时间,默认 30 秒。
send-timeout=30
[sink.cloud-storage-config]
# 向下游存储服务保存数据变更记录的并发度,默认值为 16。
worker-count = 16
# 向下游存储服务保存数据变更记录的间隔,默认值为 "2s"。
flush-interval = "2s"
# 单个数据变更文件的字节数超过 `file-size` 时将其保存至存储服务中,默认值为 67108864,即 64 MiB。
file-size = 67108864
# 文件保留的时长,仅在 date-separator 配置为 day 时生效,默认值为 0,表示禁用文件清理。假设 `file-expiration-days = 1` 且 `file-cleanup-cron-spec = "0 0 0 * * *"`,TiCDC 将在每天 00:00:00 时刻清理已保存超过 24 小时的文件。例如,2023/12/02 00:00:00 将清理 2023/12/01 之前(注意:不包括 2023/12/01)的文件。
file-expiration-days = 0
# 定时清理任务的运行周期,与 crontab 配置兼容,格式为 `<Second> <Minute> <Hour> <Day of the month> <Month> <Day of the week (Optional)>`,默认值为 "0 0 2 * * *",表示每天凌晨两点执行清理任务
file-cleanup-cron-spec = "0 0 2 * * *"
# 上传单个文件的并发数,默认值为 1,表示禁用并发。
flush-concurrency = 1
```
28 changes: 22 additions & 6 deletions ticdc/ticdc-open-api-v2.md
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,9 @@ curl -X GET http://127.0.0.1:8300/api/v2/health
| `level` | `STRING` 类型,同步数据的一致性级别。(非必选) |
| `max_log_size` | `UINT64` 类型,redo log 的最大值。(非必选) |
| `storage` | `STRING` 类型,存储的目标地址。(非必选) |
| `use_file_backend` | `BOOL` 类型,是否将 redo log 存储到本地文件中。(非必选) |
| `encoding_worker_num` | `INT` 类型,redo 模块中编解码 worker 的数量。(非必选)|
|`flush_worker_num` | `INT` 类型,redo 模块中上传文件 worker 的数量。(非必选) |

`filter` 参数说明如下:

Expand Down Expand Up @@ -330,6 +333,7 @@ curl -X GET http://127.0.0.1:8300/api/v2/health
| `terminator` | `STRING` 类型,换行符,用来分隔两个数据变更事件。默认值为空,表示使用 `"\r\n"` 作为换行符。(非必选) |
| `transaction_atomicity` | `STRING` 类型,事务一致性等级。(非必选) |
| `only_output_updated_columns` | `BOOLEAN` 类型,对于 MQ 类型的 Sink 中的 `canal-json``open-protocol`,表示是否只向下游同步有内容更新的列。默认值为 `false`。(非必选) |
| `cloud_storage_config` | storage sink 配置。(非必选) |

`sink.column_selectors` 是一个数组,元素参数说明如下:

Expand All @@ -340,12 +344,13 @@ curl -X GET http://127.0.0.1:8300/api/v2/health

`sink.csv` 参数说明如下:

| 参数名 | 说明 |
|:--------------------|:------------------------------------------------|
| `delimiter` | `STRING` 类型,字段之间的分隔符。必须为 ASCII 字符,默认值为 `,`|
| `include_commit_ts` | `BOOLEAN` 类型,是否在 CSV 行中包含 commit-ts。默认值为 `false`|
| `null` | `STRING` 类型,如果这一列是 null,那这一列该如何表示。默认是用 `\N` 来表示。 |
| `quote` | `STRING` 类型,用于包裹字段的引号字符。空值代表不使用引号字符。默认值为 `"`|
| 参数名 | 说明 |
|:-------------------------|:------------------------------------------------|
| `delimiter` | `STRING` 类型,字段之间的分隔符。必须为 ASCII 字符,默认值为 `,`|
| `include_commit_ts` | `BOOLEAN` 类型,是否在 CSV 行中包含 commit-ts。默认值为 `false`|
| `null` | `STRING` 类型,如果这一列是 null,那这一列该如何表示。默认是用 `\N` 来表示。 |
| `quote` | `STRING` 类型,用于包裹字段的引号字符。空值代表不使用引号字符。默认值为 `"`|
| `binary_encoding_method` | `STRING` 类型,二进制类型数据的编码方式,可选 `"base64"``"hex"`。默认值为 `"base64"`|

`sink.dispatchers`:对于 MQ 类的 Sink,可以通过该参数配置 event 分发器,支持以下分发器:`default``ts``rowid``table` 。分发规则如下:

Expand All @@ -362,6 +367,17 @@ curl -X GET http://127.0.0.1:8300/api/v2/health
| `partition` | `STRING` 类型,事件分发的目标 partition。 |
| `topic` | `STRING` 类型,事件分发的目标 topic。 |

`sink.cloud_storage_config` 参数说明如下:

| 参数名 | 说明 |
|:------------|:----------------------------------|
| `worker_count` | `INT` 类型,向下游存储服务保存数据变更记录的并发度。 |
| `flush_interval` | `STRING` 类型,向下游存储服务保存数据变更记录的间隔。 |
| `file_size` | `INT` 类型,单个数据变更文件的字节数超过 `file-size` 时将其保存至存储服务中。 |
| `file_expiration_days` | `INT` 类型,文件保留的时长。|
| `file_cleanup_cron_spec` | `STRING` 类型,定时清理任务的运行周期,与 crontab 配置兼容,格式为 `<Second> <Minute> <Hour> <Day of the month> <Month> <Day of the week (Optional)>`|
| `flush_concurrency` | `INT` 类型,上传单个文件的并发数。|

### 使用样例

以下请求会创建一个 ID 为 `test5`,sink_uri 为 `blackhole://` 的同步任务。
Expand Down
2 changes: 2 additions & 0 deletions ticdc/ticdc-server-config.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ data-dir = ""
gc-ttl = 86400 # 24 h
tz = "System"
cluster-id = "default"
# 控制 GOGC Tuner 自动调节的最大内存阈值(单位为 byte):设置较小的阈值会提高 GC 频率;设置较大的阈值会降低 GC 频率并使 TiCDC 进程占用更多的内存资源;超过阈值后 GOGC Tuner 会停止工作。默认值为 0,表示禁用 GOGC Tuner。
gc-tuner-memory-threshold = 0

[security]
ca-path = ""
Expand Down

0 comments on commit 3b92dfe

Please sign in to comment.