incubator-hugegraph icon indicating copy to clipboard operation
incubator-hugegraph copied to clipboard

[Bug] The backend store version is inconsistent

Open lanerbean opened this issue 2 years ago • 17 comments

Bug Type (问题类型)

server status (启动/运行异常)

Before submit

  • [X] 我已经确认现有的 IssuesFAQ 中没有相同 / 重复问题 (I have confirmed and searched that there are no similar problems in the historical issue and documents)

Environment (环境信息)

  • Server Version: 1.0.0 (Apache Release Version)
  • Backend: MySQL
  • OS: CentOS 7.x

Expected & Actual behavior (期望与实际表现)

When the HugeGraph Server and Hadoop cluster are shut down and restarted, an error is encountered, causing the startup to fail. error1

Vertex/Edge example (问题点 / 边数据举例)

No response

Schema [VertexLabel, EdgeLabel, IndexLabel] (元数据结构)

No response

lanerbean avatar May 13 '23 09:05 lanerbean

U could add & print the log (what's the differ version) and how to reproduce it?

imbajin avatar May 14 '23 12:05 imbajin

问一下楼主是怎么解决的,我这边也是同样的问题。

lp19910807 avatar May 22 '23 07:05 lp19910807

U could add & print the log (what's the differ version) and how to reproduce it?

您好,我是在3台虚拟机上部署的Hadoop集群,并在其中一台机器上部署了HugeGraph,每次关闭HugeGraph,Hadoop集群,并且关闭虚拟机之后,第二天重启Hadoop集群,再开启HugeGraph Server时,就会出现图数据版本不一致的问题。

我之前采用的解决方法非常暴力,直接删除了MySQL(后台图数据库)的hugegraph,然后在MySQL重新创建了hugegraph数据库,重新init和启动了HugeGraph Server。

这种方法,会导致之前导入的图数据都会丢失,需要重新导入,很不方便。不知道该如何回避这种问题的出现。

lanerbean avatar May 30 '23 09:05 lanerbean

U could add & print the log (what's the differ version) and how to reproduce it?

您好,我是在3台虚拟机上部署的Hadoop集群,并在其中一台机器上部署了HugeGraph,每次关闭HugeGraph,Hadoop集群,并且关闭虚拟机之后,第二天重启Hadoop集群,再开启HugeGraph Server时,就会出现图数据版本不一致的问题。

我之前采用的解决方法非常暴力,直接删除了MySQL(后台图数据库)的hugegraph,然后在MySQL重新创建了hugegraph数据库,重新init和启动了HugeGraph Server。

这种方法,会导致之前导入的图数据都会丢失,需要重新导入,很不方便。不知道该如何回避这种问题的出现。

我理解 hadoop 环境在这里应该和图是基本没有关系的吧, mysql 来说, 一台单独的虚拟机甚至是容器环境应该也都足矣了, 能否保持一个 clean 的环境试试呢? 或者你甚至可以在 server 的 docker 镜像中配置一下 mysql, 然后看看是否会有类似问题

imbajin avatar May 30 '23 09:05 imbajin

是不是因为HugeGraph和MySQL不在同一台机器上导致的呢?并且MySQL也是部署在虚拟机上的,应该也是关闭过服务又重启的

lanerbean avatar May 30 '23 09:05 lanerbean

是不是因为HugeGraph和MySQL不在同一台机器上导致的呢?并且MySQL也是部署在虚拟机上的,应该也是关闭过服务又重启的

虚拟机不会是影响点, 关键的问题应该是其他环境或者状态的变化, 最简单好排除的办法就是在容器里进行测试(获得一个 clean 的环境), 看是否还有同样的问题, 包括你在容器里可以把 mysql 也内嵌进去/或者是单独另一个容器关联都行.

imbajin avatar May 30 '23 09:05 imbajin

存储store的m 库没有数据导致,添加下name version,value 提示的版本号就可以,问题是BackendStore代码逻辑里写了insert 为啥没有执行呢?

robinhood-jim avatar Dec 14 '23 08:12 robinhood-jim

MysqlSystemStore 的init方法调用this.meta.writeVersion 应该将versin写入m表,问题是不管InitStore还是第一次启动,在mysql作为存储的情况下m表都是空的,导致下次启动时检查版本报错,我本地已重现两次,麻烦定位下问题点

robinhood-jim avatar Dec 15 '23 03:12 robinhood-jim

MysqlSystemStore 的init方法调用this.meta.writeVersion 应该将versin写入m表,问题是不管InitStore还是第一次启动,在mysql作为存储的情况下m表都是空的,导致下次启动时检查版本报错,我本地已重现两次,麻烦定位下问题点

@z7658329 could u take a look for it?

imbajin avatar Dec 15 '23 03:12 imbajin