做商业地产常用的网站,logo制作软件哪个好,太原做网站软件,电商平台建设实施方案这几天经历了一次心酸的历程#xff0c;使用了rocksdb第三方库#xff0c;编译器是7.2#xff0c;rocksdb是20190701从github上取下来的#xff0c;由于rocksdb自己的CMakeList.txt中使用了-marchnative编译参数#xff0c;强制使用了编译代码服务器的cpu指令集#xff0…这几天经历了一次心酸的历程使用了rocksdb第三方库编译器是7.2rocksdb是20190701从github上取下来的由于rocksdb自己的CMakeList.txt中使用了-marchnative编译参数强制使用了编译代码服务器的cpu指令集由于是一个集群集群中的服务器cpu型号信息不一定都一致导致集群中部分服务器起不来。引起了大领导的关注自己一下子提起了精神
事情的经过是这样的
我们发布了一款数据库产品部署在一个大的集群中集群中大概有200台服务器但是部分服务器节点的进程启动不起来。在一台服务器A上编译打包之后部署到其他的服务器当时其他的服务器是一个大集群里面有几十台服务器就用B来代表其中的一台服务器吧但是B启动时直接失败可以看到的有用信息比较少。 (1)、后来改成了可以调试的版本优先分析coredump可以看到有用的gdb信息比较少直接在进程启动时就崩溃了。
(2)、尝试在main函数入口处加打印来获取崩溃的模块的信息但是在测试过程中main函数中的打印一个也没有出现log文件也没有生成我个人直接崩溃
(3)、跟其他组的资深同事聊了半天也没有得到实质的帮助此时2天已经过去了MP催了几次了
(4)、直接领导也给了一些帮助让加一些编译参数经过漫长的尝试测试结果也是失败了
经过直接领导的指导应该调整下测试的方式但是领导也不清楚具体原因我也懵了让自己研究作为入职公司16个月的资深工程师来说觉得应该好好深入的研究下rocksdb的源码
(1)、各大网站一顿查找国内网站没有给什么帮助stackflow给了一部分帮助
(2)、开始研究rocksdb源码中编译部分经过一整夜的研究查找资料最后得出的是rocksdb内部开启的对cpu指令集的调整参数-marchnative修改rocksdb的编译参数编译下代码这个过程比较长这时已经早上6:55就让机器自己编译吧洗了把脸去外面找点吃的回来经过2小时的验证就是这个问题。由于需要在各种版本上验证因此需要考虑各种情况。
(3)、经过测试ok了 总结 本人以前是搞通信的硕士毕业最早是做C开发的现在从事分布式数据库方面的工作这次居然使用到了了os 计算机组成原理CPU架构等方面的知识由于以前所学基础知识扎实这次对问题的解决得到了帮助。