DAX с перебоями Нет доступных конечных точек - PullRequest
1 голос
/ 04 апреля 2019

Сценарий:

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

com.amazonaws.AmazonClientException: Unable to call cluster endpoint: No endpoints available
at com.amazon.dax.client.dynamodbv2.ClusterDaxClient$ClusterReadRetryHandler.check(ClusterDaxClient.java:699)
at com.amazon.dax.client.dynamodbv2.ClusterDaxClient.invoke(ClusterDaxClient.java:649)
....    
IOException: No endpoints available
at com.amazon.dax.client.cluster.Cluster.readClient(Cluster.java:680)
at com.amazon.dax.client.dynamodbv2.ClusterDaxClient$2.getClient(ClusterDaxClient.java:138)
at com.amazon.dax.client.dynamodbv2.ClusterDaxClient.invoke(ClusterDaxClient.java:631)
... 23 more

Чтобы прояснить, периодически это означает, что некоторые запросы будут успешными, а некоторые - неудачными, только чтобы запросы снова были успешными в течение одного теста (интеграция или производительность). На самом деле, большинство из этих тестовых прогонов будут успешными без этой ошибки, но иногда это происходит, как описано в последнем предложении.

Экземпляр dev DAX и DynamoDB являются постоянными экземплярами, а это означает, что выполнение этих тестов не приводит к повторной инфраструктуре / развертыванию экземпляров DAX или DynamoDB для чистого листа (они остаются включенными и работают между тестовыми прогонами).

Вопрос:

Кто-нибудь еще видел подобную картину такого прерывистого поведения в мелкомасштабных тестах (например, тестирование интеграции / e2e) или более масштабных тестах (например, тестирование производительности) с DAX? Я знаю, что это обсуждалось в других билетах для сценариев, когда люди не могут подключиться к DAX, но не было никаких проблем или сценариев, которые я видел, идентифицируя прерывистое поведение, подобное этому.

...