0.23版本choerodon-monitor服务接口报错

  • Choerodon平台版本:0.23

  • 运行环境:自主搭建

  • 问题描述:
    请求/choerodon/v1/{source_id}/site/audit/operational/logs(查询平台层操作记录)接口报错:
    Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘hzero_monitor.hpfm_tenant’ doesn’t exist\n### The error may exist in URL [jar:file:/choerodon/choerodon-monitor.jar!/BOOT-INF/lib/hzero-monitor-saas-1.4.0.RELEASE.jar!/mapper/AuditOpLogMapper.xml]\n### The error may involve defaultParameterMap\n### The error occurred while setting parameters\n### SQL: SELECT count(0) FROM hmnt_audit_op_log haol JOIN hpfm_tenant ht ON ht.tenant_id = haol.tenant_id JOIN iam_user iu ON iu.id = haol.user_id WHERE haol.tenant_id = ?\n### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘hzero_monitor.hpfm_tenant’ doesn’t exist\n; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘hzero_monitor.hpfm_tenant’ doesn’t exist"。
    hpfm_tenant表不是在hzero_platform库中的吗,为何choerodon-monitor服务会去调用hpfm_tenant表

hzero提供了一个数据权限的操作,
官方文档是:旨在在微服务应用上拦截配置的 全局 数据库表或特定 SQL ID 下数据库表的 SQL 拦截应用,以便在系统使用过程中去控制登录用户的数据权限。
我理解的是:两个不同的服务连接同一个ip下的数据库,想查询对方数据库的数据,可以不用feign的方式,可以直接数据名.表名写sql。
出现这个问题的原因应该是缓存不对,重启choerodon-monitor,要执行初始化job,在重启choerodon-admin