В VoltDB Community edition Когда я загружаю CSV-файл (размер: 550 МБ) более 7 раз, а затем выполняю базовые операции агрегирования, отображается время ожидания запроса. Но затем я попытался увеличить время ожидания запроса через веб-интерфейс, и все же он показывает ошибку «тайм-аут запроса составляет 10 секунд». Что мне делать, если я хочу решить эту проблему?
Как увеличить время ожидания запроса в VoltDB
Ответы (1)
Как выглядит ваш файл конфигурации/развертывания? Чтобы увеличить время ожидания запроса, в файле deployment.xml должен быть следующий код:
<systemsettings>
<query timeout="30000"/>
</systemsettings>
Например, где 30000 — это 30 секунд. Время ожидания запроса для всего кластера устанавливается при первой инициализации базы данных с помощью voltdb init. Вы можете принудительно повторно инициализировать новый файл развертывания с указанным выше разделом:
voltdb init --force --config=new_deployment_file.xml
Или вы можете оставить кластер работать и просто использовать:
voltadmin update new_deployment_file.xml
Раздел Query Timeout в этой части документации также содержит дополнительную информацию:
https://docs.voltdb.com/AdminGuide/HostConfigDBOpts.php
Полное раскрытие: я работаю в VoltDB.
person
Andrew
schedule
27.06.2018
Спасибо, @andrew, но когда я попробовал выполнить описанные выше шаги и увеличил время ожидания запроса, оно по-прежнему показывает мне ошибку, поскольку время ожидания для конкретного запроса составляет 10 секунд, хотя я увеличил его на 300 секунд. Например: SQL-запрос был завершен через 10,001 секунды, потому что он превышено время ожидания для конкретного запроса. Тайм-аут для конкретного запроса в настоящее время составляет 10,0 секунд. Время ожидания запроса по умолчанию в настоящее время составляет 300000,0 секунд, и его можно изменить в разделе systemsettings файла развертывания. в org.voltdb.sysprocs.AdHoc_RO_SP.run(AdHoc_RO_SP.java:46)
- person Kunal Mali; 29.06.2018
@KunalMali - как вы вызываете запрос? Это через sqlcmd, VMC или с клиента?
- person BenjaminBallard; 29.06.2018
В веб-интерфейсе VoltDB на вкладке «SQL-запрос» рядом с кнопкой «Выполнить» есть значок шестеренки, где вы можете установить тайм-аут для конкретного запроса. Тайм-аут для конкретного запроса имеет приоритет над глобальным тайм-аутом по умолчанию. Возможно, если это не установлено, по умолчанию оно равно 10 секундам, но вы сможете переопределить его.
- person BenjaminBallard; 29.06.2018
@BenjaminBallard Я пытаюсь использовать как sqlcmd, так и VMC. Вышеупомянутая ошибка связана с sqlcmd. Я попытался изменить тайм-аут для конкретного запроса с помощью этого маленького механизма в веб-интерфейсе voltDB, но он все равно отображается как «Ошибка: тайм-аут запроса». Кроме того, он показывает ошибку через 15 секунд, тогда как я изменил его тоже через 300000 мс. Более того, я попытался изменить через вкладку VMC Admin › Advanced › Query timeout.
- person Kunal Mali; 29.06.2018