Giter Club home page Giter Club logo

Comments (22)

fengjiachun avatar fengjiachun commented on July 17, 2024

你好,看日志可能是快照被损坏了,能不能说下你详细的操作步骤?我这边无法再现

from sofa-jraft.

gumandy avatar gumandy commented on July 17, 2024

清空快照,顺序启动三个server,查看日志找到leader,把leader停掉,等待选举出新的leader,最后把刚刚停掉的server启动,就出现如上日志了,ps:三个server在同台windows

from sofa-jraft.

fengjiachun avatar fengjiachun commented on July 17, 2024

额。。。你好,快照是不能手动清除的

from sofa-jraft.

gumandy avatar gumandy commented on July 17, 2024

我把三个快照目录都删了再启动的集群,这跟一个新的集群有啥区别,中途又没动过快照

from sofa-jraft.

fengjiachun avatar fengjiachun commented on July 17, 2024

重建集群要删除所有数据,不止快照

from sofa-jraft.

fengjiachun avatar fengjiachun commented on July 17, 2024

snapshot是会截断日志的,你把快照删除了,日志也被截断了,raft 内部却不知道, 所以你需要把 raft meta 等数据都删了,才叫新集群

from sofa-jraft.

gumandy avatar gumandy commented on July 17, 2024

重建集群要删除所有数据,不止快照
是的我把全部{dataPath} 目录都删了,就是个崭新的集群
{dataPath} {groupId} {serverId} {initConf}

from sofa-jraft.

gumandy avatar gumandy commented on July 17, 2024

snapshot是会截断日志的,你把快照删除了,日志也被截断了,raft 内部却不知道, 所以你需要把 raft meta 等数据都删了,才叫新集群

应该是我描述得有问题,我是把所有data目录都删了,确定是个崭新的集群

from sofa-jraft.

fengjiachun avatar fengjiachun commented on July 17, 2024

@gumandy 我应该是看明白你的操作步骤了

  1. 你先停掉 leader
  2. 然后删除了所有数据(包括另外 2 个 follower)
  3. 然后启动之前停掉的节点
  4. 出现了上面的日志

如果是这样的操作流程的话,肯定是不行的,你删除没有停掉的节点的数据是不行的,没停掉的两个节点有内存状态,会认为磁盘数据还在
这不是崭新集群,崭新的集群是全部重启并删除数据

from sofa-jraft.

gumandy avatar gumandy commented on July 17, 2024

的操作流程的话,肯定是不行的,你删除没有停掉的节点的数据是不行的

1、删掉所有数据
2、启动崭新集群
3、停掉leader
4、等待重新选举成功
5、启动刚刚停掉的server
仅仅是第一步删掉所有数据,其他时候都没动过数据

from sofa-jraft.

fengjiachun avatar fengjiachun commented on July 17, 2024

我按照你的操作步骤没能再现问题,在你的机器上是能稳定再现的吗?
我按照我上面说的步骤是能再现的

from sofa-jraft.

gumandy avatar gumandy commented on July 17, 2024

@fengjiachun 我的机器上是稳定重现的

from sofa-jraft.

gumandy avatar gumandy commented on July 17, 2024

@fengjiachun 刷日志前还报了两个异常,贴出来日志里有

from sofa-jraft.

fengjiachun avatar fengjiachun commented on July 17, 2024

2019-03-19 11:35:57 [JRaft-Closure-Executor-1] INFO LocalSnapshotStorage:167 - Deleting snapshot /tmp/server1\snapshot\temp

我的系统是mac os, 你在windows中指定的 dataPath 是什么?

from sofa-jraft.

fengjiachun avatar fengjiachun commented on July 17, 2024

在 windows 中 “/tmp/server1\” 这个目测是不行的

from sofa-jraft.

gumandy avatar gumandy commented on July 17, 2024

@fengjiachun 系统win10
启动参数是/tmp/server1时稳定重现,但是初始启动能成功
启动参数是D:/tmp/server1时就没问题了

from sofa-jraft.

gumandy avatar gumandy commented on July 17, 2024

@fengjiachun 能根据/tmp/server1创建快照,为什么不能根据/tmp/server1删除快照,QAQ

from sofa-jraft.

fengjiachun avatar fengjiachun commented on July 17, 2024

恩 这个参数是目录,windows 肯定是不支持这个目录的,我们这边整个团队也没有一个 windows 电脑,所以写文档时没有对 windows 做周全的考虑,这个很抱歉

from sofa-jraft.

fengjiachun avatar fengjiachun commented on July 17, 2024

@fengjiachun 能根据/tmp/server1创建快照,为什么不能根据/tmp/server1删除快照,QAQ

创建快照目录时肯定就是失败的,不可能成成功创建快照

from sofa-jraft.

gumandy avatar gumandy commented on July 17, 2024

@fengjiachun 实不相瞒还真创建成功了,而且给出的客户端还能正常跑起来,快照里也存了数据,不然我也不会有第一步删数据操作了

from sofa-jraft.

fengjiachun avatar fengjiachun commented on July 17, 2024

windows 不会把 ”/tmp/server1“ 作为一个目录了吧? 是这样的吗?

from sofa-jraft.

fengjiachun avatar fengjiachun commented on July 17, 2024

先关闭了,我们近期会找台 windows 电脑,一次性尽量解决所有不兼容 windows 的问题

from sofa-jraft.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.