Салат сбой в кластере - PullRequest
       16

Салат сбой в кластере

3 голосов
/ 17 октября 2019

Я пытаюсь подключить салат к недавно назначенному мастеру (бывшему подчиненному) после отказа старого. Но все записи прекращаются. Запись продолжается после повторного подключения неудачного хоста, теперь как ведомого. И он продолжает писать новому хозяину (бывшему ведомому).

Я пытался установить периодические обновления топологии, а также адаптивные обновления для всех событий, но это не помогло. Есть ли другой параметр, который мне нужно использовать?

Вот как я настроил клиент:

final List<RedisURI> redisURIs = buildRedisURIs(redisServerSettings.getNodes());
final RedisClusterClient client = RedisClusterClient.create(clientResources, redisURIs);
final ClusterTopologyRefreshOptions refreshOptions =
        ClusterTopologyRefreshOptions.builder()
                                     .enableAllAdaptiveRefreshTriggers()
                                     .adaptiveRefreshTriggersTimeout(Duration.ofMinutes(2))
                                     .refreshTriggersReconnectAttempts(2)
                                     .enablePeriodicRefresh(Duration.ofMinutes(10))
                                     .build();
client.setOptions(ClusterClientOptions.builder().topologyRefreshOptions(refreshOptions).build());

1 Ответ

1 голос
/ 25 октября 2019

Я решил проблему.

Поскольку у салата обычно нет тайм-аута, он всегда ждал ответа от сервера. Установка времени ожидания привела к сбою некоторых транзакций, но после неудачных транзакций чтение и запись продолжались.

...