Skip to content

Jedis影子数据源bug #30

@hanxiantao

Description

@hanxiantao

1、影子Server拦截方法缺失

image
拦截JedisPool的构造函数方法为5个,但JedisConstructorInterceptor中if else分支逻辑为6个
缺少拦截该构造函数如下:

  public JedisPool(final GenericObjectPoolConfig poolConfig, final String host, int port,
      final int connectionTimeout, final int soTimeout, final String password, final int database,
      final String clientName)

JedisConstructorInterceptor中已经有该构造函数的判断
image

2、JedisClusterConnectionInterceptor和JedisPoolGetResourceInterceptor的scopeName不统一

image
image
JedisClusterConnectionInterceptor和JedisPoolGetResourceInterceptor的逻辑相同都是根据正常数据源来匹配影子数据源
Jedis客户端执行了JedisSlotBasedConnectionHandler.getConnectionFromSlot后,再调用JedisPool.getResource就会找不到影子数据源的情况

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions