上午被师父训了,主要也是怪我自己,一直没把代码的整体架构给捋顺- -.
今天一直就在看oms的阵列接入模块,从create方法一直往下看,基本上把create的流程给拉通了,但是还是有些不理解的,等明天去了问问师父。
下午定位了一个问题单,问题是这样的,测试人员在修改了系统时间之后,导致物理池无法解绑定。
定位问题一般从日志入手,由于是解除绑定失败,所以我先看了oms-agent的日志,用vim打开后,?ERROR没发现有符合条件的错误。然后我又查看oms-api日志,在oms-api中找到了时间修改的点,是在15:59时修改的时间,有了这个时间就只用定位15:59后的ERROR就可以了。最后用vim打开oms-controller的日志,?ERROR找到了报错的地点。报错的地点有三个ERROR信息:Timeout;There is no up agent;OMSException。在源码中找到抛出异常的位置,发现了产生问题的原因:在系统中,判断service活跃是以上一次的时间减去当前时间,如果绝对值小于某个阈值,则说明该service活跃,否则就down掉这个service。修改系统时间后解除绑定,由于没有活跃的service,就产生了timeout的异常,最终就导致解绑定失败。
明天的任务:继续按照今天的流程拉通阵列接入部分的其余代码;请教师父不懂的问题;帮同事定位问题单。