收起左侧

飞牛文件同步存在逻辑BUG会导致文件无法被加载甚至丢失

1
回复
146
查看
[ 复制链接 ]

1

主题

0

回帖

0

牛值

江湖小虾

说明:

我是一个Java开发,为了防止我忘了push代码,使用飞牛同步将项目文件目录添加了飞牛同步任务同步到我的飞牛NAS。

(这个项目文件是我存放几十个不同项目文件的目录,小文件很多)

今天程序开发时,遇到新增的程序文件变更内容后无法被IntelliJ IDEA加载、停止目录同步时文件直接消失的严重问题。

(在之前也遇到文件无法被IntelliJ IDEA正确加载的问题,我通过重命名包命或者修改文件名又好了,当时还以为是Intellij IDEA的问题,直到出现今天的情况,我想可能是因为飞牛同步导致的)

经历:

(由于停止飞牛同步任务后,ProPurchaseOrder.java文件不见了,所以无法提供文件内容)

我正使用IntelliJ IDEA开发Java程序,新增了业务的java文件编辑完成后,去编辑别的文件完成后重新编译运行突然提示文件丢失。提示:

image.png

我打开ProPurchaseOrderMapper.java,ProPurchaseOrder的引用标红如下:

image.png

Intellij IDEA打开entity包,发现ProPurchaseOrder.java文件不存在了。

在没有停止飞牛同步任务时,使用Windows的资源管理器打开entity目录ProPurchaseOrder.java是存在的,在状态栏显示一个圈圈代表正在同步中,但是IntelliJ IDEA无法加载这个文件。(由于文件在后续操作中已经不见了, 所以无法提供截图)

于是我就想停止飞牛同步任务,看看重启IntelliJ IDEA之后能否再加载这个文件,在飞牛同步中删除了这个目录的同步任务

此时,更严重的问题出现了:ProPurchaseOrder.java文件不见了,同时不见的还有一起修改的ProPurchaseOrderController.java、ProPurchaseOrderService.java、ProPurchaseOrderServiceImpl.java

(还好昨晚下班有push代码,可以从代码仓库找回来,但是今天变更的代码内容全没了。损失了这次修改的内容)

经上所述,我的分析存在以下我认为是比较严重的问题:

  • 飞牛同步在同步文件时会占用文件,影响其他编辑器加载这个文件
  • 飞牛同步在停止目录的同步任务时,会删除未同步完成的文件

我还发现,删除了同步任务同步日志也会被删除。日志最重要的作用就是记录,不代表任务删除了,日志也要删除,除非用户自己选择删除日志。

无论如何,删除任务或者同步任务失败什么,文件不应该被删除,如果我没有push代码,这个文件内容将会找不回来了,所以是一个比较大的隐患。希望飞牛团队能够注意到这个帖子,同时提醒用户注意这个情况,以免造成什么损失。

软件版本截图:

image.png

image.png

image.png

收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

317

主题

1万

回帖

0

牛值

管理员

fnOS1.0上线纪念勋章

感谢反馈。像 IntelliJ IDEA 这类开发工具,在编辑项目时会频繁产生临时文件、索引文件,并且会有高频的文件修改、重命名、删除等操作,整体文件变化比较复杂。当前飞牛同步暂时还不太适合这类复杂场景下作为实时工作目录使用。

如果需要继续在该目录下使用,建议先关闭“按需同步”模式,改为完整同步后再操作;更稳妥的方式是将 IDEA 项目编辑完成后再启用飞牛同步,避免频繁变更过程中出现同步状态异常或文件不一致的情况。这个情况已经记录后续我们也会继续关注这类使用场景的体验优化。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则