异步创建索引时,ingest数据如何保证与增量数据不冲突的?

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】v7.0.0
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
我在看《TiDB Adding Index Acceleration》这个md时有些问题。对于加速构建这种模式,假设ingest的sst与rocksdb bottom level发生冲突导致无法插入,会存在这种问题吗?如果存在,目前是咋处理的?
【资源配置】
【附件:截图/日志/监控】

附上你看的内容链接,另外,是官方写的吗?

在 TiDB 中,异步创建索引的过程中,如果同时有数据的写入或更新操作,可能会导致索引数据与增量数据冲突。为了避免这种情况,TiDB 采用了以下两种方式来保证索引数据的正确性:

  1. 在异步创建索引的过程中,TiDB 会将新写入的数据同时写入原表和索引表。这样可以保证索引表中的数据与原表中的数据保持一致。同时,TiDB 会记录哪些数据已经被写入索引表,以便在索引创建完成后,将这些数据从原表中删除。

  2. 在异步创建索引的过程中,TiDB 会将增量数据写入一个临时表中,而不是直接写入原表。这样可以避免索引数据与增量数据冲突。当索引创建完成后,TiDB 会将临时表中的数据写入索引表,并将这些数据从原表中删除。

需要注意的是,异步创建索引的过程中,可能会导致查询结果不一致的问题。因为在索引创建完成之前,查询可能会同时访问原表和索引表,而这两个表中的数据可能不一致。为了避免这种情况,TiDB 会在查询时自动选择正确的表进行查询,以保证查询结果的正确性。

总之,TiDB 通过将新写入的数据同时写入原表和索引表,或者将增量数据写入临时表中,来保证索引数据的正确性。同时,在查询时自动选择正确的表进行查询,以避免查询结果不一致的问题。

https://github.com/pingcap/tidb/blob/master/docs/design/2022-06-07-adding-index-acceleration.md 官方的文档

我理解他的加速创建索引的流程是这样的:
1.对于存量的数据,创建snapshot 从tikv拉取数据,创建sst 导入到tikv
2.对于增量数据,按照正常的数据io写入

我的疑问是:假设增量的索引数据,因为rocksdb本省的compact到最后一层,这时与存量数据的sst 出现了overlap导致无法插入。是否有这种问题?如果有 那么现在是如何解决的?