#amazon-dynamodb
#amazon-dynamodb
Вопрос:
Я знаю, что могу устанавливать различные тайм-ауты на стороне клиента в моем клиенте DynamoDB. Но каковы тайм-ауты на стороне сервера?
Например, если я установлю для clientExecutionTimeout или requestTimeout значение 1 сек, будет ли Dynamodb продолжать работать даже после истечения времени ожидания моего клиента? Или мои тайм-ауты настройки клиента отправляются в DynamoDB таким образом, что, как только тайм-аут моего клиента достигнут, Dynamodb выдает исключение тайм-аута и останавливает обработку по его завершении?
Кроме того, если Dynamodb будет обрабатывать мой запрос до тех пор, пока не будет достигнут тайм-аут настройки клиента, какое максимальное значение я могу установить для своего тайм-аута? Могу ли я установить часовой тайм-аут и заставить узел DynamoDB вечно ждать в том редком случае, если он по какой-либо причине не сможет обработать мой запрос?
Ответ №1:
Это интересный вопрос, и я не думаю, что вы получите на него окончательный ответ, поскольку AWS не публикует информацию.
По моему личному опыту, очевидного тайм-аута нет. Я запустил сканирование, на возврат которого ушло несколько часов, и это работает нормально.
AWS публикует все исключения, которые может выдавать DynamoDB, и ничего не говорится о таймаутах запроса.
Предположительно, базовая инфраструктура может задерживать соединение, но со стороны AWS было бы серьезной оплошностью, если бы они не упомянули об этом, или если бы DynamoDB сначала приостановил соединение и выдал приятное исключение.
По общему признанию, это не окончательно, но я почти уверен, что DynamoDB никогда не выполняет тайм-аут запроса на своей стороне.