Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Agent 管理工具未更新TSeerServer缓存,下载的 agent 包是老的 #14

Open
troycheng opened this issue Jun 25, 2018 · 1 comment

Comments

@troycheng
Copy link
Contributor

问题现象:

由于需要部署的 agent 机器 gcc 版本较低,原来生成的 TseerAgent 所依赖的libstdc++.so版本较低无法使用,因此更新 TseerAgent 的编译选项,静态链接 libstdc++.a 重新生成 bin 文件,手动验证可以使用之后:

  1. 在管理平台->发布包管理中将老的包删除
  2. 上传新编译的包
  3. 重新生成命令,在目标机器执行,下载包并安装

此时问题出现,下载的包仍然是老的(对比 bin 文件 md5 可知)。

问题排查:

起初以为是上传覆盖未成功,但搜索文件发现,在 TseerServer/data/目录下其实新老包都存在,说明上传并没有问题。问题出现在获取的时候,没有拿到最新的包。于是将老的包从 data 目录下删除,在目标机器清理环境并重新下载 agent,然而发现下载的仍然是老的包。在更大范围搜索并没有老的包存在,于是查看脚本,发现是从 TseerServer下载(起初以为是resin 上的 web 项目在管理),于是猜测文件被缓存了,重启 TSeerServer,重新下载,生效,问题解决。

搜索代码,TSeerAgent 这个包缓存的逻辑应该是封装起来了,没有明显看到,但从 installscript.tgz 的处理方式来看,很可能是读入缓存后就再未做过更新,因此即便在 web 平台删除,重新上传 agent 包,下载的时候仍然还是老的包。

需修改:

  1. web 管理平台上操作 TseerAgent 的包之后,TSeerServer 缓存的文件需同步更新
@troycheng troycheng changed the title Agent 管理工具未更新 Agent 管理工具未更新TSeerServer缓存,下载的 agent 包是老的 Jun 25, 2018
@loveyacper
Copy link
Contributor

谢谢反馈;
应该是tseerserver做了缓存,这里我看下,缓存需要有强制刷新。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants