Каков тайм-аут DynamoDB на стороне сервера, если есть?

#amazon-dynamodb

#amazon-dynamodb

Вопрос:

Я знаю, что могу устанавливать различные тайм-ауты на стороне клиента в моем клиенте DynamoDB. Но каковы тайм-ауты на стороне сервера?

Например, если я установлю для clientExecutionTimeout или requestTimeout значение 1 сек, будет ли Dynamodb продолжать работать даже после истечения времени ожидания моего клиента? Или мои тайм-ауты настройки клиента отправляются в DynamoDB таким образом, что, как только тайм-аут моего клиента достигнут, Dynamodb выдает исключение тайм-аута и останавливает обработку по его завершении?

Кроме того, если Dynamodb будет обрабатывать мой запрос до тех пор, пока не будет достигнут тайм-аут настройки клиента, какое максимальное значение я могу установить для своего тайм-аута? Могу ли я установить часовой тайм-аут и заставить узел DynamoDB вечно ждать в том редком случае, если он по какой-либо причине не сможет обработать мой запрос?

Ответ №1:

Это интересный вопрос, и я не думаю, что вы получите на него окончательный ответ, поскольку AWS не публикует информацию.

По моему личному опыту, очевидного тайм-аута нет. Я запустил сканирование, на возврат которого ушло несколько часов, и это работает нормально.

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

Предположительно, базовая инфраструктура может задерживать соединение, но со стороны AWS было бы серьезной оплошностью, если бы они не упомянули об этом, или если бы DynamoDB сначала приостановил соединение и выдал приятное исключение.

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