primary-leader,表示 RG Leader 的偏好节点,正常场景 MC 会让 Primary RG Leader 都保持在偏好节点。新建实例如果有 N 个节点,在启动流程中会创建 N 个 Primary RG,升级的实例会选择已有的 RG 添加 primary-leader 标签。tdsql_enable_partition_policy 控制,默认为 ON;关闭该参数后,新建的表(CREATE 或者 ALTER COPY DDL)不与任何表亲和调度,存量的亲和关系仍保留。BATCH LIMIT {batch_size} {delete_stmt}
batch_size 不为 0。parallel_suggested_scan_ranges 来确定划分任务数量,将查询范围进行拆分,以确保拆分粒度足够小,解决之前并行查询拆分粒度大而在某些场景下不能完全并行的问题。temptable_mmap_used 和 temptable_ram_used 两个状态变量来监控临时表占用的存储空间。EXPLAIN 或者 TRACE 可以看到,和非分区表一样。local_optimizer_switch 控制 Local 相关的优化,默认值:get=on,scan=on,parallel_direct_scan=on,join_direct_scan=on,preload=on,single_rg=offscan 参数控制。同时如果涉及二级索引的回表,由参数 preload 控制是否走 Local 的回表优化。parallel_direct_scan 控制。如果是多个相同分区 Policy 的以及 HASH 分区表的 JOIN 操作,由参数 join_direct_scan 控制是否开启多表 Direct 模式。get 用于控制点查时是否走 Direct 模式。single_rg 只有在用户保证只有一个 RG 的情况下才能打开。打开后 SQL 不会判断数据是否在本地,而是直接认为在本地,走 Direct 模式。set local_optimizer_switch = "scan=off"tdstore_lock_wait_timeout)相对较短,仅为 10s,避免发生死锁时事务被长时间阻塞。但是如此短暂的悲观锁超时时间,可能会导致非死锁场景下,热点数据上频繁发生悲观锁超时,对业务使用造成影响。tdstore_deadlock_detect 被启用后,TDSQL 可以在 5s 内检测到死锁,并提示用户 ERROR 1213 (40001): Deadlock found when trying to get lock; try restarting transaction.。错误信息会包括被回滚的事务 ID、执行该事务的 SQLEngine 的 Node ID 以及事务正在访问的 TDStore 的 Node ID。与此同时,负责检测死锁的 TDStore 的日志中,一条包含构成死锁的全部事务 ID 的错误日志 [deadlock detection] found cycle among {...} 会被打印({...} 中即为构成死锁的全部事务 ID)。tdstore_deadlock_detect 默认值为 OFF,但是对于新构建的实例,tdstore_deadlock_detect 的值会在构建好后被修改为 ON(这意味着如果用户使用 SET tdstore_deadlock_detect = default,其值仍然会被修改为 OFF)。在开启 tdstore_deadlock_detect 之后,用户可以一定程度上增加 tdstore_lock_wait_timeout 的配置值,来延长悲观锁等待超时时间。frominstall_my_<port>.ini 文件中,会覆盖 myport.cnf 中的配置优先生效。add_my_<port>.ini 文件中,会覆盖 myport.cnf 和 frominstall_my_<port>.ini 中的配置优先生效。SET PERSIST 或在 MC 修改的参数最终会持久化到 MC,会覆盖上述所有配置文件中的值优先生效。tdsql_ddl_fillback_mode = 'IngestBehind',tdsql_ddl_fillback_mode 默认为 'ThomasWrite'。CREATE TABLE sbtest1 (a INT AUTO_INCREMENT PRIMARY KEY, b INT, c INT) PARTITION BY HASH (a) PARTITIONS 3;INSERT INTO sbtest1 VALUES(1,1,1),(2,2,2),(3,3,3);SET SESSION tdsql_ddl_fillback_mode = 'IngestBehind';ALTER TABLE sbtest1 ADD INDEX idx_b(b);--IngestBehind 模式下非分区表添加索引、分区表添加唯一索引会报如下提示ALTER TABLE sbtest1 ADD UNIQUE INDEX idx_a(a);ERROR 8581 (HY000): Online alter table marco.sbtest2 failed, IngestBehind only supports adding non-unique index on non-system partition table, please set variable 'tdsql_ddl_fillback_mode' to others.CREATE TABLE sbtest2(a INT AUTO_INCREMENT PRIMARY KEY, b INT, c INT);INSERT INTO sbtest2 VALUES(1,1,1),(2,2,2),(3,3,3);ALTER TABLE sbtest2 ADD INDEX idx_b(b);ERROR 8581 (HY000): Online alter table marco.sbtest2 failed, IngestBehind only supports adding non-unique index on non-system partition table, please set variable 'tdsql_ddl_fillback_mode' to others.
SET parallel_query_switch = 'restricted_functions=on',支持并行查询。使用时请注意,SP 函数不能出现在 WHERE 条件中,否则会禁用并行执行;SP 函数必须定义为 DETERMINISTIC。INFORMATION_SCHEMA.TDSTORE_REPLICATION_GROUP_EVENT_INFO:展示 TDStore 层 Replication Group 相关任务执行情况,详细请参见 TDSTORE_REPLICATION_GROUP_EVENT_INFO。INFORMATION_SCHEMA.TDSTORE_REGION_EVENT_INFO:展示 TDStore 层 Region 相关任务执行情况,详细请参见 TDSTORE_REGION_EVENT_INFO。INFORMATION_SCHEMA.TDSTORE_COMMON_EVENT_INFO:展示 TDStore 层一些泛用任务的执行结果,详细请参见 TDSTORE_COMMON_EVENT_INFO。INFORMATION_SCHEMA.TDSTORE_INSTALL_SNAPSHOT_INFO:展示 TDStore 层 Install Snapshot 任务的执行情况,包括当前正在执行的任务以及执行完毕的历史任务,详细请参见 TDSTORE_INSTALL_SNAPSHOT_INFO。INFORMATION_SCHEMA.TDSTORE_SST_PROPS:展示 TDStore 中 SSTable 的属性,详细请参见 TDSTORE_SST_PROPS。INFORMATION_SCHEMA.TDSTORE_CF_OPTIONS:展示 SQLEngine 中 ColumnFamily 相关的配置项,详细请参见 TDSTORE_CF_OPTIONS。INFORMATION_SCHEMA.LOGSERVICE_PROCESSLIST 新增 err_msg 字段用来展示 LogService 运行时的错误,详细请参见 LOGSERVICE_PROCESSLIST。INFORMATION_SCHEMA.META_CLUSTER_RGS 中 rep_group_stats_approximate_size 字段,详细请参见 META_CLUSTER_RGS。INFORMATION_SCHEMA.META_CLUSTER_JOBS 表里的 job_desc 字段。METADATA_LOCKS 记录着当前 SQLEngine 元数据锁的占用情况,方便用户快速定位元数据锁(Metadata Locks, MDL)相关的问题,提高系统的稳定性和性能,详细请参见 METADATA_LOCKS。end_participant --rep_group_id=xxx --txn_id=xxxxxxxxxxxxxx
get_region_info 未提供正确 rep_group_id 时,返回全量 RegionInfo 的问题。SHOW PROCESSLIST 返回所有节点的 Node ID,包括当前的节点,同时不再是之前的 IP 信息,而是改为 Node ID 信息。EXPLAIN FORMAT=TREE 时显示下推相关的信息。OPTIMIZER_TRACE 提供下推相关的详细信息,如果没有下推,提供具体原因。同时提供 Local 优化的详细信息。dblogs/tdstore/slow_log。SHOW ENGINE ROCKSDB STATUS 命令可以获取到对应节点如 Memory、Bthread 等方面的统计信息。UPDATE 使用通配符作为条件报错 Data truncated 的问题。DROP PARTITION 走 OnlineCopy 路径,清理不掉数据的问题。RENAME INDEX 时没有按指定算法执行 ALTER 的问题。KILL 不生效的问题。变更类型 | 参数名称 | 描述 |
新增 | 是否启用死锁检测。 | |
新增 | 是否强制节点在满磁盘状态下接收 Raft Leader 发送的 configuration log。 默认为 true,确保多数派进入满磁盘状态后可以快速完成成员变更。 |
文档反馈