Кластер Ignite недоступен при попытке поместить значения в кеш воспламенения - PullRequest
0 голосов
/ 24 июня 2019

Для интеграционного тестирования я развернул клиент воспламенения внутри тестового контейнера докера, к которому я подключаюсь с тонким клиентом воспламенения. Затем я создаю тестовый кеш, вызывая getOrCreateCache и сохраняю ссылку на него. Тем не менее, когда я пытаюсь вызвать cache.put (ключ, значение), он выдает исключение ClientConnectionException, в котором говорится, что ошибка в кластере зажигания недоступна.

Исключение ClientConnectionException, которое я получаю.

Наконец, в самом конце моего тестирования у меня есть @AfterClass, который уничтожает тестовый кеш. Тем не менее, эта строка также дает мне воспламенить кластер недоступна ошибка.

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

Прежде чем я попытаюсь поместить значение в кеш, я даже распечатываю все кеши, и кеш, кажется, создан, и у меня, кажется, есть ссылка на него, когда я просматриваю отладчик.

Начальная настройка контейнера


 igniteServerContainer =
        new GenericContainer("apacheignite/ignite:2.5.0")
            .withNetwork(network)
            .withNetworkAliases("ignite")
            .withExposedPorts(10800);

    igniteServerContainer.start();

      igniteServerContainer.execInContainer("apache-ignite-fabric/bin/control.sh",  "--activate");

   ignite = Ignition.startClient(
        new ClientConfiguration().setAddresses(igniteServerContainer.getContainerIpAddress() + ":" + igniteServerContainer.getFirstMappedPort())
    );


//Cache population

ClientCache<String, TreeSet<Item>> cache = ignite.getOrCreateCache(CACHE_NAME);

key = generateKey();
value = generateValue();

cache.put(key, value);

Я следовал онлайн-примерам, и он должен нормально заполнять кэш, но я просто получаю ClientConnectionExceptions, говоря, что кластер недоступен, и я совершенно не уверен, почему он дает мне это после подключения к контейнеру ignite, а затем создавая кеш нормально.

...