Merge pull request #1298 from ajbeamon/fix-ryow-onerror-reset
RYOW onError no longer resets a transaction when it gets a non-retrya…
This commit is contained in:
commit
b5d2debda7
|
@ -7,12 +7,10 @@ Release Notes
|
|||
|
||||
Features
|
||||
--------
|
||||
|
||||
* Improved replication mechanism, a new hierarchical replication technique that further significantly reduces the frequency of data loss events even when multiple machines (e.g., fault-tolerant zones in the current code) permanently fail at the same time. `(PR #964) <https://github.com/apple/foundationdb/pull/964>`_.
|
||||
|
||||
* Added background actor to remove redundant teams from team collection so that the healthy team number is guaranteed not exceeding the desired number. `(PR #1139) <https://github.com/apple/foundationdb/pull/1139>`_
|
||||
|
||||
* Show the number of connected coordinators per client in JSON status `(PR #1222) <https://github.com/apple/foundationdb/pull/1222>`_
|
||||
|
||||
* Get read version, read, and commit requests are counted and aggregated by server-side latency in configurable latency bands and output in JSON status. `(PR #1084) <https://github.com/apple/foundationdb/pull/1084>`_
|
||||
* Added configuration option to choose log spilling implementation `(PR #1160) <https://github.com/apple/foundationdb/pull/1160>`_
|
||||
* Added configuration option to choose log system implementation `(PR #1160) <https://github.com/apple/foundationdb/pull/1160>`_
|
||||
|
@ -25,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
|
||||
-----------
|
||||
|
@ -35,9 +34,8 @@ Fixes
|
|||
-----
|
||||
|
||||
* Python: Creating a ``SingleFloat`` for the tuple layer didn't work with integers. `(PR #1216) <https://github.com/apple/foundationdb/pull/1216>`_
|
||||
* 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 #1298) <https://github.com/apple/foundationdb/pull/1298>`_
|
||||
* Standardized datetime string format across all backup and restore command options and outputs. `(PR #1248) <https://github.com/apple/foundationdb/pull/1248>`_
|
||||
* Added `USE_EIO_FILE` 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`_
|
||||
* 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`_
|
||||
|
||||
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