【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. 查看存储,发现再次创建了该序列的配置文件。

至此,证实了我的猜测。

相关推荐
2401_837163891 分钟前
如何为容器内多个列表实现统一滚动条
jvm·数据库·python
m0_674294642 分钟前
C#怎么清空Dictionary字典_C#如何管理内存集合【基础】
jvm·数据库·python
2402_854808373 分钟前
MongoDB GridFS分片时选择什么键比较好
jvm·数据库·python
2301_796588504 分钟前
mysql如何统计不同状态的数量_使用group by配合count函数
jvm·数据库·python
qq_189807036 分钟前
HTML怎么实现快捷跳转顶部_HTML固定悬浮锚点按钮【介绍】
jvm·数据库·python
m0_747854529 分钟前
c++怎么在写入文本文件时自动将所有换行符统一为Unix风格【详解】
jvm·数据库·python
.柒宇.9 分钟前
MySQL的PXC高可用实战
数据库·mysql
qq_1898070310 分钟前
mysql查询执行过程中如何追踪耗时_使用PROFILE分析指令周期
jvm·数据库·python
2401_8359568110 分钟前
如何监控表空间自动扩展_DBA_DATA_FILES中的MAXBYTES分析
jvm·数据库·python
羑悻的小杀马特10 分钟前
Pinecone向量数据库深度解析:从核心架构到LangChain集成实战
数据库·架构·langchain·pinecone