【Mycat2】关于序列功能的一个 Bug

创建序列前 Mycat 的 sequences/ 目录情况:

创建一个 MySQL 生成方式的序列。

sql 复制代码
/*+ mycat:setSequence{"name":"sharding_db_not_tb111","clazz":"io.mycat.plug.sequence.SequenceMySQLGenerator"} */;

因为没有官方文档支持,起初尝试使用 dropSequencedeleteSequenceunsetSequence 注释,发现都不行。后查看 Mycat 2 源码发现确实没有设计删除序列的功能。

,

执行如下 Mycat 注释创建一个序列。

sql 复制代码
/*+ mycat:setSequence{"name":"sharding_db_not_tb111","clazz":"io.mycat.plug.sequence.SequenceMySQLGenerator"} */;

查看操作系统 Mycat 配置目录中的 sequences/ 子目录下生成了相应的配置文件。

上面说过无法通过 Mycat 语法删除这个序列,因而直接通过操作系统物理删除。可见,该配置文件已经删除了。

再次使用 Mycat 注释创建该序列。显示执行成功。

但查看存储时,却没有再次生成该配置文件。

这就很奇怪!!!

我分析怀疑是 Mycat 有缓存导致的,GC 没及时清理,导致误判该序列及配置文件已存在。

下面验证一下:

  1. 重启 Mycat 。

  2. 再次创建该序列。

  3. 查看存储,发现再次创建了该序列的配置文件。

至此,证实了我的猜测。

相关推荐
就叫飞六吧4 分钟前
MySQL 驱动里那个 `cj` 到底是什么?
数据库·mysql
MageGojo8 分钟前
短链还原 API 怎么接入:展开跳转链路、查看状态码和最终落地页
数据库·redis·缓存
蚰蜒螟20 分钟前
从mkdir命令到磁盘:Linux内核目录创建过程深度解析
linux·运维·数据库
我是一颗柠檬21 分钟前
【Redis】字符串与哈希Day3(2026年)
数据库·redis·后端·database
sakoba21 分钟前
MySQL常见问题学习
数据库·学习·mysql
小二·22 分钟前
向量数据库深度对比:PGVector vs Qdrant vs Milvus vs Chroma(附性能测试数据)
数据库·wpf·milvus
sleven fung27 分钟前
Milvus 向量数据库
开发语言·数据库·python·langchain·milvus
赵渝强老师42 分钟前
【赵渝强老师】崖山数据库的数据字典
数据库·oracle
quan26311 小时前
20260529,日常开发-查老数据全量更新闭坑
java·mysql·主从·主从延迟
java_cj1 小时前
MySQL 8.0 新特性深度解析:降序索引、Doublewrite Buffer 与 redo log 无锁优化
数据库·mysql