timyao
(Timyao)
1
【 TiDB 使用环境】生产环境
【 TiDB 版本】V7.1.1
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】
【附件:截图/日志/监控】
问题:
1.TICDC changefeed 参数–start-ts值,只能是TSO(长串数字)么?是否可以是日期,如“2023-07-31 13:55:00”
2.官方文档说,–start-ts的值可以取dumpling生成的metadata文件的Pos值(长串数字TSO),但是我的metadata Pos却是一个日期,这是为何?
我的工具版本是:dumpling-v7.2.0-linux-amd64.tar.gz
metadata的结果内容是:
Started dump at: 2023-08-01 00:02:54
SHOW MASTER STATUS:
Log: tidb-binlog
Pos: 2023-07-31 13:55:00
GTID:
Finished dump at: 2023-08-01 02:15:13
导出命令中,指定了 --snapshot “2023-07-31 13:55:00” (特地比gc_safe_point顺延了1分钟)
当前的gc_safe_point=20230731-21:54:00.184 +0800
3.默认情况下 --snapshot “2023-07-31 13:55:00” 应该是 mysql.tidb中的system_tz的时区吧?(我的集群设置的是UTC)
timyao
(Timyao)
2
问题2:自己测试了下,不指定–snapshot “2023-07-31 13:55:00”
或–snapshot 值是TSO值
导出的metadata,Pos值,不再是日期而是一个TSO值
关于问题1和3,还没验证,谁有经验的可否帮忙解答下。
dumpling 不太熟,找到下相关文档
https://docs.pingcap.com/zh/tidb/stable/ticdc-faq#ticdc-创建任务时如何选择-start-ts
tso 转时间也很方便的
https://docs.pingcap.com/zh/tidb/stable/configure-time-zone
看系统时区,我的是上海
[root@shawnyan ~]# ll /etc/localtime
lrwxrwxrwx. 1 root root 35 Feb 10 22:19 /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai
timyao
(Timyao)
4
请问,TICDC changefeed 参数–start-ts值,可否指定为日期?
start-ts
的类型是 uint64 不是日期类型
redgame
(Ti D Ber Pa Amoi Ul)
6
–snapshot 参数的时间是相对于 TiDB 服务器所设置的系统时区的
timyao
(Timyao)
7
老师,那我这个情况,metadata的Pos值,已经是一个日期了,
ICDC changefeed 参数–start-ts值又必须是TSO值的话,我怎么找到全量本分Pos值对应的TSO值呢?
timyao
(Timyao)
8
SELECT @@global.time_zone, @@session.time_zone, @@global.system_time_zone;
我的三个结果都是UTC,是不是表示,–snapshot 值对应的就是UTC
转换tso
SELECT TIDB_PARSE_TSO(431675774157717575);
SELECT conv(concat(bin(unix_timestamp(‘2022-01-06 12:30:59’) * 1000),‘000000000000000001’),2,10);