`
carlosfu
  • 浏览: 572656 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Ba8b5055-9c58-3ab0-8a1c-e710f0495d2c
BigMemory实战与理...
浏览量:30130
53b2087e-c637-34d2-b61d-257846f73ade
RedisCluster开...
浏览量:149290
C9f66038-7478-3388-8086-d20c1f535495
缓存的使用与设计
浏览量:122808
社区版块
存档分类
最新评论

CacheCloud bug修复日志

 
阅读更多


CacheCloud从3月17日正式开源,虽然在我们内部一直运行正常,开源后虽然没有大的问题,但还是遇到很多小问题,比如操作系统兼容性问题,数据库版本问题,一些配置不灵活等等问题。

期间感谢大家的反馈,现在将CacheCloud修复的问题列出来,希望将来这个能一直更新下去,有问题去github issue一下。

 

搜狐视频Redis云平台CacheCloud的github主页:https://github.com/sohutv/cachecloud

 欢迎关注、star、拍砖保密保密保密保密保密,Q群:534429768

  

 

2016-03-18:添加机器后不能立刻出现在机器列表中

1. 表现:添加机器后不能立刻出现在机器列表中。

2. 原因:最早的版本必须等到quartz收集完机器信息才显示。

3. 解决:添加机器信息后,立即显示在列表中,不过机器信息显示收集中。

 

 

2016-03-19:sentinel必须写死在配置中

1. 表现:sentinel列表必须写死在配置中。

2. 原因:历史原因造成,cachecloud在内部用了固定的三台机器,为了偷懒。

3. 解决:sentinel可以灵活配置,具体可以看:

https://github.com/sohutv/cachecloud/commit/e596d4326fac911f4172158de1ae03abb14f9830

 

 

2016-03-21:保存机器收集信息报错

1. 表现:保存机器收集信息,提示和virtual相关的报错

2. 原因:mysql5.7中virtual是关键字

3. 解决:在mybatis的mapper中兼容

具体参考:https://github.com/sohutv/cachecloud/commit/d6e1ffb1ebd9bd1df9b55535da9fec7000167559

 

 

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

1. 表现:应用运维界面为空白,收到空指针

2. 原因:所有实例都挂了,无法获取slot信息,造成空指针

3. 解决:如果出现,暂时先返回空的Map

具体参考:https://github.com/sohutv/cachecloud/commit/b5f8d7dbc78df4354f995c61b6513a6f6188e809

 

 

2016-03-29:修复机器信息统计在centos7 debian等操作系统失效

1. 表现:收集机器信息报错,

2. 原因:centos 各个版本, redhat, ubuntu执行top对应的信息不同,解析方法没有兼容造成。

3. 解决:使用正则表达式解决。

 

 

2016-03-31:启动脚本问题。

问题: /etc/init.d/cachecloud-web start 启动失败

状态:已经修复,详见:https://github.com/sohutv/cachecloud/commit/6ba783a2367aec69d6c1abcd1c65b592a7274cca

解决方法:使用nohup java形式启动,使用kill pid关闭,详见start.sh和stop.sh

 

2016-04-03: 修复机器更新异常。

问题:cachecloud后台机器管理中,修改机器信息提示更新失败。

状态:已经修复,详见:https://github.com/sohutv/cachecloud/commit/ad0d54bbe0a24f3f1eb94b96e34168b0e2d65f61

解决方法:添加和更新用一个方法实现。

 

2016-04-07: 修复应用运维界面,运维后页面不刷新

问题:应用运维界面在执行failover, add slave等操作后,页面刷新不太正常

状态:已经修复。

解决方法:js的页面刷新使用错误,虽然比较好解决,但是这个不刷新会对集群节点关系产生错觉(之前一直是手动刷新解决的).

详见:https://github.com/sohutv/cachecloud/commit/607dc8d254329f71666e6fc34e5c2a0b96cd4dd7

 

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

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

状态:已经修复

解决方法:去掉parentId,完全使用实时主从关系。

详见:https://github.com/sohutv/cachecloud/commit/dccb8b2304977bd462fd637c9f1571f04577804b

 

2016-04-07: JedisCluster初始化不需要指定主从关系

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

 

private void initializeSlotsCache(Set<HostAndPort> startNodes, GenericObjectPoolConfig poolConfig) {
    for (HostAndPort hostAndPort : startNodes) {
      Jedis jedis = new Jedis(hostAndPort.getHost(), hostAndPort.getPort());
      try {
        cache.discoverClusterNodesAndSlots(jedis);
        break;
      } catch (JedisConnectionException e) {
        // try next nodes
      } finally {
        if (jedis != null) {
          jedis.close();
        }
      }
    }

    for (HostAndPort node : startNodes) {
      cache.setNodeIfNotExist(node);
    }
  }
 

 

状态:已经修复

详见:https://github.com/sohutv/cachecloud/commit/4b8c4ecf335dc024637f3b69b5adc2ce4e0828c4

 

  • 大小: 27.8 KB
  • 大小: 21.2 KB
  • 大小: 3 KB
分享到:
评论
2 楼 方塘半亩 2017-02-22  
如果存进redis的是Object的byte[],在《实例统计信息-命令执行》tab页,使用get命令获取就会乱码了,
1 楼 方塘半亩 2017-02-21  
String result = SSHUtil.execute(ip, shell);

返回结果乱码吗?

相关推荐

Global site tag (gtag.js) - Google Analytics