Документация говорит, что передать как атрибут транзакции (вызов /begin
):
maxTransactionSize: ограничение размера транзакции в байтах. Уважаемый только механизмом хранения RocksDB.
Мне удается это сделать, несмотря на тот факт, что php
-клиент игнорирует атрибут, устанавливая его вручную перед передачей экземпляра транзакции к обработчику:
$trx->set('maxTransactionSize', $config['maxTransactionSize'])
Это var_dump
атрибутов транзакции ($trx->attributes
) непосредственно перед вызовом begin
:
includes/libs/arangodb/lib/ArangoDBClient/StreamingTransactionHandler.php:50:
array(2) {
'collections' =>
array(3) {
'read' =>
array(0) {
}
'write' =>
array(0) {
}
'exclusive' =>
array(1) {
[0] =>
string(7) "actions"
}
}
'maxTransactionSize' =>
int(536870912)
}
Но транзакция завершается неудачно с:
ошибка: AQL: прерывание транзакции, поскольку достигнут максимальный размер транзакции в 134217728 байт (при выполнении)
Что я пропускаю / делаю неправильно?
Я проверял это на 3.5.4 и 3.6.1, с тем же результатом.