RYOW onError no longer resets a transaction when it gets a non-retryable error and the transaction is not already in an error state (as of API version 610).
This commit is contained in:
parent
178ebfec30
commit
bf170493c6
|
@ -23,6 +23,7 @@ Features
|
|||
* Added a new atomic op `CompareAndClear`. `(PR #1105) <https://github.com/apple/foundationdb/pull/1105>`_
|
||||
* Added support for IPv6. `(PR #1176) https://github.com/apple/foundationdb/pull/1178`_
|
||||
* FDB can now simultaneously listen to TLS and unencrypted ports to facilitate smoother migration to TLS. `(PR #1157) https://github.com/apple/foundationdb/pull/1157`_
|
||||
* Added `DISABLE_POSIX_KERNEL_AIO` knob to fallback to libeio instead of kernel async I/O (KAIO) for systems that do not support KAIO or O_DIRECT flag. `(PR #1283) https://github.com/apple/foundationdb/pull/1283`_
|
||||
|
||||
Performance
|
||||
-----------
|
||||
|
@ -33,7 +34,7 @@ Fixes
|
|||
-----
|
||||
|
||||
* Python: Creating a ``SingleFloat`` for the tuple layer didn't work with integers. `(PR #1216) <https://github.com/apple/foundationdb/pull/1216>`_
|
||||
* Added `DISABLE_POSIX_KERNEL_AIO` knob to fallback to libeio instead of kernel async I/O (KAIO) for systems that do not support KAIO or O_DIRECT flag. `(PR #1283) https://github.com/apple/foundationdb/pull/1283`_
|
||||
* In some cases, calling ``OnError`` with a non-retryable error would partially reset a transaction. As of API version 610, the transaction will no longer be reset in these cases and will instead put the transaction into an error state. `(PR #) <>`_
|
||||
|
||||
Status
|
||||
------
|
||||
|
|
|
@ -1097,7 +1097,12 @@ public:
|
|||
return Void();
|
||||
} catch( Error &e ) {
|
||||
if ( !ryw->resetPromise.isSet() ) {
|
||||
ryw->resetRyow();
|
||||
if(ryw->tr.apiVersionAtLeast(610)) {
|
||||
ryw->resetPromise.sendError(transaction_cancelled());
|
||||
}
|
||||
else {
|
||||
ryw->resetRyow();
|
||||
}
|
||||
}
|
||||
if( e.code() == error_code_broken_promise )
|
||||
throw transaction_cancelled();
|
||||
|
|
Loading…
Reference in New Issue