Service Fabric — тайм-аут ожидания репликации

Я получаю следующую ошибку, когда пытаюсь совершить действительно большую транзакцию

 System.TimeoutException: Timed out waiting for replication; id=a633f605-ef3a-480c-b80e-83a5be3bd610@132477999374053794@urn:WorkElements/dataStore@132471608259433275, timeout=4000ms, txn=132502740949510949 ---> System.Fabric.FabricTransientException: Throttling transaction writes due to slow disk throughput. Message: Higher incoming load than the disk throughput at Microsoft.ServiceFabric.Replicator.Transaction.ThrowReplicationException(Exception e, Boolean abortNeeded) at Microsoft.ServiceFabric.Replicator.Transaction.PrivateAddOperation(OperationData metaData, OperationData undo, OperationData redo, Object operationContext, Int64 stateProviderId) at Microsoft.ServiceFabric.Replicator.Transaction.

Есть ли способ увеличить этот тайм-аут более 4 секунд?


person Josh    schedule 19.11.2020    source источник


Ответы (1)


Есть аргумент тайм-аута, который вы можете передать надежным методам сбора.

время ожидания TimeSpan — количество времени ожидания завершения операции перед созданием исключения TimeoutException. В основном используется для предотвращения взаимоблокировок. По умолчанию 4 секунды.

См. эти документы for more информация.

person LoekD    schedule 20.11.2020
comment
Не произойдет ли тайм-аут репликации при фиксации транзакции? Этот метод не принимает параметр тайм-аута. И нигде или как я могу переопределить его глобально? У меня есть тысячи потенциальных мест для установки, если это должно произойти для каждого метода. - person Josh; 20.11.2020