CacheCloud-功能升级和Bug修复日志

2016-03-18:添加机器后不能立刻出现在机器列表中(fixed,详情)

  • 表现:添加机器后不能立刻出现在机器列表中。
  • 原因:最早的版本必须等到quartz收集完机器信息才显示。
  • 解决:添加机器信息后,立即显示在列表中,不过机器信息显示收集中。

2016-03-19:sentinel必须写死在配置中(fixed,详情)

  • 表现:sentinel列表必须写死在配置中。
  • 原因:历史原因造成,cachecloud在内部用了固定的三台机器,为了偷懒。
  • 解决:sentinel可以灵活配置。

2016-03-21:保存机器收集信息报错(fixed,详情)

  1. 表现:保存机器收集信息,提示和virtual相关的报错
  2. 原因:mysql5.7中virtual是关键字
  3. 解决:在mybatis的mapper中兼容

2016-03-28:修复redis cluster节点都在一台机器时,机器挂掉后,无法显示运维界面(fixed,详情)

  • 表现:应用运维界面为空白,收到空指针
  • 原因:所有实例都挂了,无法获取slot信息,造成空指针
  • 解决:如果出现,暂时先返回空的Map

2016-03-29:修复机器信息统计在centos7 debian等操作系统失效(fixed,详情)

  • 表现:收集机器信息报错,
  • 原因:centos 各个版本, redhat, ubuntu执行top对应的信息不同,解析方法没有兼容造成。
  • 解决:使用正则表达式解决。

2016-03-31:启动脚本问题。(fixed,详情)

  • 问题: /etc/init.d/cachecloud-web start 启动失败
  • 原因: 操作系统不兼容
  • 解决方法:使用nohup java形式启动,使用kill pid关闭,详见start.sh和stop.sh

2016-04-03: 修复机器更新异常。(fixed,详情)

  • 问题:cachecloud后台机器管理中,修改机器信息提示更新失败。
  • 原因:代码逻辑问题
  • 解决方法:添加和更新用一个方法实现。

2016-04-07: 修复应用运维界面,运维后页面不刷新 (fixed,详情)

  • 问题:应用运维界面在执行failover, add slave等操作后,页面刷新不太正常
  • 原因: javascript刷新有问题
  • 解决方法:js的页面刷新使用错误,虽然比较好解决,但是这个不刷新会对集群节点关系产生错觉(之前一直是手动刷新解决的)

2016-04-07: 去掉InstanceInfo中的parentId(对应instance_info表)(fixed,详情)

  • 问题:parentId起初设计是代表当前节点是否为master(parentId>0代表slave, parentId=0代表master),但是这个设计是有问题的,因为后期在运维过程中,主从关系关系会发生变化,需要维护parentId这个字段的一致性。
  • 解决方法:去掉parentId,完全使用实时主从关系。

2016-04-07: JedisCluster初始化不需要指定主从关系(fixed,详情)

  • 问题:JedisCluster初始化用到的nodeList是不需要指定主从关系的,具体可以参考Jedis中JedisClusterConnectionHandler的initializeSlotsCache方法,它会自动发现集群信息。

2016-04-16: 已存在Redis接入CacheCloud(fixed,详情)

2016-04-21: admin用户密码可配置(fixed,详情)

  • 问题: admin的密码写在代码常量中,不太方便修改
  • 解决: 改到local.properties和online.properties进行配置。

2016-04-21: 获取机器最大的redis端口时,存在debian操作系统不兼容问题(fixed,详情)

  • 问题: 获取机器最大的redis端口时,存在debian操作系统不兼容,报错。
  • 解决: 去掉繁复的shell,直接用简单shell+java进行解析。

2016-04-24: 修复删除机器不能删除机器相关的定时任务(fixed,详情)

  • 问题: 删除机器信息功能,没有关闭掉机器相关的定时任务。
  • 解决: 代码问题,调换了删除机器信息和定时任务的顺序。

2016-05-04: 应用驳回后无法显示驳回状态(fixed,详情)

2016-05-04: 优化审批流程(fixed,详情)

  • 问题: 审批流程稍复杂
  • 解决:
    (1) 申请后,列表中只有驳回和审批处理,不再有通过按钮。
    http://i1.itc.cn/20160504/3084_292b02d8_b5d4_b056_959b_27b8664e8e26_1.png

(2.1) 审批处理成功了,只有通过按钮
http://i1.itc.cn/20160504/3084_5c4a1c3a_a2cb_1106_f855_3aaf189fb777_1.png

(2.2) 审批处理失败了,仍然回到(1)
http://i1.itc.cn/20160504/3084_292b02d8_b5d4_b056_959b_27b8664e8e26_1.png

2016-05-04: 配置修改迁移到应用界面(fixed,详情)

  • 问题: 之前隐藏在实例中
  • 解决:
    http://i1.itc.cn/20160504/3084_c96a8c9f_7e85_96e9_fc5d_df78209d97c2_1.png
配置修改申请成功后,会修改应用下所有节点的配置,例如修改appendonly=yes,那么所有节点的appendonly都变为yes

2016-05-06: 服务器ssh端口暴露在配置文件中(fixed,详情)

  • 问题: 服务器ssh端口在代码里,对很多运维人员不是很友好。
  • 解决: 添加到配置文件,默认值是22。(测试local.properties,线上online.properties)
    1
    cachecloud.machine.ssh.port = 22

2016-05-09: 优化客户端上报数据存储(fixed,详情)

目前开源版本中还没有给出完整的客户端上报代码,此更新是为了保持与cachecloud内部版保持一致。

2016-05-12: 排除配置修改、网络流量展示、客户端实例列表中的下线应用(fixed,详情)

  • 问题: 配置修改、网络流量展示、客户端实例列表中包含了下线应用,如果应用实例比较多,会造成展示和修改超时。
  • 解决: 过滤掉下线实例