v4.0.0_CE mysqltest缺少 init_for_ce.sql

使用 OBD 1.6.0 部署 OBServer v4.0.0.0,obclient 版本为最新的 2.2.0
执行 obd mysqltest --need-init 提示找不到 init_for_ce.sql,查看源码文件中也没有该sql
是不是版本不对?

感谢反馈,代码同步时出现了问题,我们马上处理;

1 个赞

你如果着急用的话这个文件的内容直接发给你;

1 个赞

好啊多谢,可以发到我的邮箱 the_bigticket@outlook.com

已经处理,请刷新代码

收到,可以直接将这个 .sql 文件加到 v4.0.0_CE 发布的commitid 6af7f9a 版本里使用吗?还是需要使用master 上最新的代码版本?

试用master上的最新代码吧

1 个赞

最新gitee 上pull 到的master 代码 也会有如下这个问题,不知道为啥一直无法 make install,能帮忙看下吗

CMake Error at cmake_install.cmake:173(file):
file INSTALL cannnot find
“oceanbase/build_debug/src/sql/parser/libob_sql_proxy_parser_static.a”:
No such file or directory.

tools/deploy/init_for_ce.sql 中的 source init_create_tenant_routines.sql;
没有看到有这个 init_create_tenant_routines.sql 文件呢?

我刚刚看了下,这个文件是非必须的,我们后续会删去这个文件,当然也欢迎直接在各个开源网站上给我们提pr

1 个赞

非必要但是目前注释掉这句后执行 obd mysqltest --need-init 会报错,有规避的办法吗?

有什么报错?

–local execute: obcllient --prompt “Oceanbase(\u@\d)>” -h 10.xx.xx.xx -P 12881 -uroot -Doceanbase -c < ./init_for_ce.sql – exited code 1, error output:
Error 1305 (42000) at line 17: procedure test.adjust_sys_resource does not exist

[ERROR] Failed to Excute ./init_for_ce.sql: ERROR 1305 (42000) at line 17: procedure test.adjust_sys_resource does not exist

init_for_ce.sql 和 init.sql 里的 adjust_sys_resource 和 create_tenant_by_memroy_resource() 两个存储过程是在哪里创建的?

抱歉是我看错了,init_for_ce.sql 和 init.sql 里的 adjust_sys_resource 和 create_tenant_by_memroy_resource() 两个存储过程是在 init_create_tenant_routines.sql内,这个我们后续看能不能集合下,一起放开源文件里。
这个试用的是自己编译的rpm包配合obd使用么,还是直接用的官网的rpm包

是最新的社区版代码自己编译的rpm 包配合obd 使用,官方发布的 v4.0.0 rpm包应该是没有 init_for_cq.sql 的版本吧

另外编译 debug 或者 release 时还有因为 CMakeLists.txt 中调整了 OB_BUILD_LIBOB_SQL_PROXY_PARSER ,结果make 时没有编译静态依赖 oceanbase/build_debug/src/sql/parser/libob_sql_proxy_parser_static.a从而导致make install 找不到依赖文件而失败的问题,我上面也提到了,麻烦一起看下?v4.0.0_CE 源码构建安装失败,提示找不到 libob_sql_proxy_parser_static.a

好的,这边看下,我们这边排查下是不是还有其他文件也有遗漏的

1 个赞

init_create_tenant_routine.sql的问题这边已经跟进了,正在后后续流程,同时发现有一个case有点问题,也更改了下。
此外在执行obd mysqltest操作时需要在${oceanbase源码}/tools/deploy/下进行,后续代码更新后麻烦注意下。这是一个obd易用性的问题,内部也进行了反馈

1 个赞

赞,期待。

确实是有这个问题的,在非/tools/deploy/ 下执行 obd test mysqltest ,即使手动指定 --test-dir suit-dir 等目录,如果不是绝对路径,也会无法定位到目标文件,还会去 /.obd 目录去查找,大概率也无法找到;

建议要么把 test file 跟obd 的安装目录解耦,要么从 ob ce 的 tools/deploy/mysqltest/ 里去掉,只留一份,不然obd 升级或者 obce 拉取新的代码后很容易版本对应不上

可以的,如果有改进建议也可以提issue给我们,这边会有同学持续跟进。mysqltest测试目前有阻塞问题,也可以先进行sysbench、tpcc、tpch的性能测试。期间若存在什么问题,欢迎开贴交流。