try {
RedisConnection<Object, V> connection = connectionWriteOp(slot);
RedisAsyncConnection<Object, V> async = connection.getAsync();
asyncOperation.execute(promise, async);
ex.set(new RedisTimeoutException());
timer.newTimeout(timerTask, config.getTimeout(), TimeUnit.MILLISECONDS);
promise.addListener(createReleaseWriteListener(slot, connection));
} catch (RedisConnectionException e) {
ex.set(e);
timer.newTimeout(timerTask, config.getRetryInterval(), TimeUnit.MILLISECONDS);