Xin Dong
daead84fdd
Merge master
2020-08-14 14:07:08 -07:00
Xin Dong
0e97851451
Use reference to avoid extra copy.
2020-08-09 22:11:29 -07:00
Xin Dong
a46e620baa
Merge branch 'master' into feature/range-split-points-based-on-size
2020-08-06 15:23:11 -07:00
Chaoguang Lin
5f6093b59e
Add an option to enable write in special key space, which is by default not allowed
2020-07-08 15:49:34 -07:00
Chaoguang Lin
784d0f6d00
A basic feasible version for exclude and include commands
2020-07-06 11:02:48 -07:00
Xin Dong
2126f46195
Added client side support for range split
2020-07-02 14:05:11 -07:00
Chaoguang Lin
18ff6efbf3
Add failure module for special key space
2020-06-27 12:22:32 -07:00
Chaoguang Lin
f011ff2c66
Merge remote-tracking branch 'upstream/master' into add-management-api-into-special-key-space
2020-06-23 11:23:18 -07:00
Chaoguang Lin
fc8715dacd
Adding write support for special-key-space
2020-06-23 11:21:03 -07:00
sfc-gh-tclinkenbeard
99bf993815
Replace BOOST_NOEXCEPT with noexcept
2020-06-09 22:39:19 -07:00
Andrew Noyes
a2fd6d46a0
Cancel pending special key space reads on destroy
...
Previously the special key space would take a reference to the
transaction, but this doesn't make sense since the transaction might not
be refcounted
2020-05-21 17:37:11 +00:00
Andrew Noyes
1d6209e304
Check for cross-module reads
2020-05-08 05:37:37 +00:00
Andrew Noyes
f4cc1d3a4f
Remove more auto-added headers
2020-05-04 20:44:57 -07:00
Andrew Noyes
4a0925e9a6
Allow reading conflict ranges after ryw disabled tx commits
2020-05-04 16:43:20 +00:00
Andrew Noyes
0c514e91c7
Use approximate write range for set_versionstamped_key
2020-05-04 04:43:50 +00:00
Andrew Noyes
7f9e9224d2
Disallow reading write conflict range for SetVersionstampedKey
2020-05-01 01:41:25 +00:00
Andrew Noyes
f1d9c0cb97
Refactor/cleanup
2020-04-30 00:30:37 +00:00
Andrew Noyes
ff2e82c7b2
Wait for timeout in pendingReads
2020-04-30 00:30:37 +00:00
Andrew Noyes
4fce3032d9
Rename debug_onIdle
2020-04-30 00:30:37 +00:00
Andrew Noyes
fdd6581167
Add write conflict range
2020-04-30 00:30:37 +00:00
Andrew Noyes
e1c3c73d4c
Rudimentary read your own read conflict range
2020-04-30 00:30:37 +00:00
chaoguang
9408915ab9
reformat code
2020-04-06 13:38:18 -07:00
chaoguang
5b6ae4da7f
A simple intergration to put conflictingKeys into special-key-space
2020-04-03 16:11:20 -07:00
Xin Dong
d20ce99774
Resolved the review comment and renamed the functions
2020-02-12 14:57:40 -08:00
Xin Dong
0c16d43c2f
Added necessary plumbings to expose byte sample collected by storage servers to fdb_c library
2020-02-12 14:57:40 -08:00
Alex Miller
eb64eede8d
Make a smaller range inaccessable after writing a versionstamped key
...
A transaction's read version is the lower bound of what a transaction's
commit version could be. Thus, we can narrow the conflict range of a
versionstamped key, and thus reduce the amount of the keyspace that is
rendered inaccessable, by filling in the read version on the
versionstamped key and using that as the lower bound of the conflict
range.
This allows reads to still be done to versionstampled keys lower than
the read version of the current transaction.
2020-01-16 21:41:59 -08:00
Andrew Noyes
9d045c51e4
Add suggested nodiscards, and mention UNCANCELLABLE actors
2019-08-16 09:24:57 -07:00
Andrew Noyes
4b97a7506d
Add some prudent [[nodiscard]]'s
2019-08-16 09:24:57 -07:00
Jingyu Zhou
e8e48e0dbd
Fix size calculation
...
Mutations in writeRangeToNativeTransaction() is already counted, so there is no
need to count them again.
2019-07-16 15:21:13 -07:00
Jingyu Zhou
562bf6511a
Fix approximate size calculation
2019-07-12 16:53:37 -07:00
Jingyu Zhou
c70a426f04
Update approximate size calculation
2019-07-10 15:00:50 -07:00
Jingyu Zhou
8ef8b59fcc
Use ThreadFuture for getApproximateSize
...
Change return type to int64_t and fix C and Python binding to use the correct
type.
2019-07-10 14:58:07 -07:00
Jingyu Zhou
c50a675bf0
Add transaction getApproximateSize() API
...
The size is the summation of expected size of mutations, read conflict ranges,
and write conflict ranges.
2019-07-10 14:51:52 -07:00
A.J. Beamon
2035b36257
Make default and persistent options specifyable via annotations to fdb.options. Fix some issues with persisting these options in the multi-version client. Make size limit option not persistent.
2019-06-28 13:24:32 -07:00
Jingyu Zhou
9c2257a0e5
Add transaction size option
2019-06-19 07:45:23 -07:00
Alec Grieser
64e45e6826
retry limit and max delay transaction options are no longer reset after onError
2019-03-21 18:50:02 -04:00
Alec Grieser
22f592ce6e
reset the timeout only if the API version is less than 610 to allow transactions with longer timeouts than the database default
2019-03-21 16:47:12 -04:00
Alec Grieser
7c8a1c8db7
Revert "start the timeout actor only after the first read to allow transaction timeouts longer than the default db timeout"
...
This reverts commit df8826115d
.
2019-03-21 14:45:43 -04:00
Alec Grieser
df8826115d
start the timeout actor only after the first read to allow transaction timeouts longer than the default db timeout
2019-03-21 10:24:02 -04:00
Alec Grieser
148a21a31c
set the timeout actor upon transaction creation if necessary
...
initialize lockaware and maxbackoff in options constructor rather than NativeAPI transaction constructor
2019-03-20 11:13:38 -06:00
Alec Grieser
5f73b7d6ae
Resolves #775 : Support setting Transaction options at the Database level
...
This selects a few useful transaction options that users may want to set for every transaction and adds them to the database options.
2019-03-20 11:13:38 -06:00
Alex Miller
c6a65389ae
Remove noexcept macro and replace with BOOST_NOEXCEPT.
...
BOOST_NOEXCEPT does what the noexcept macro was supposed to do, but in a
way that is correctly maintained over time.
2019-03-05 22:06:12 -08:00
mpilman
0bb60e5a3b
Use proper fwd decl in NativeAPI
...
Also NativeAPI.h -> NativeAPI.actor.h
2019-02-19 15:16:59 -08:00
Evan Tschannen
a654183f63
Merge pull request #791 from ajbeamon/remove-cluster-from-iclientapi
...
Remove cluster from IClientApi (phase 2 of removing DB names)
2018-11-10 10:16:18 -08:00
Robert Escriva
268093a96d
Adjust all includes to be relative to the root.
...
Remove the use of relative paths. A header at foo/bar.h could be included by
files under foo/ with "bar.h", but would be included everywhere else as
"foo/bar.h". Adjust so that every include references such a header with the
latter form.
Signed-off-by: Robert Escriva <rescriva@dropbox.com>
2018-10-19 17:35:33 +00:00
A.J. Beamon
c831051474
This removes the idea of clusters from IClientApi.
2018-09-21 15:58:14 -07:00
Balachandar Namasivayam
529d0497f1
Proxy going OOM when applying high volumes of writes to a proxy, particular in a sudden fashion before ratekeeper can control the workload.
...
Address this issue by proactively monitoring the memory used by commit batches and dropping requests if a certain memory limit is exceeded.
2018-06-01 15:21:40 -07:00
Alec Grieser
0bae9880f1
remove trailing whitespace from our copyright headers ; fixed formatting of python setup.py
2018-02-21 10:25:11 -08:00
A.J. Beamon
080a454051
fix: getVersionstamp would return broken promise if a transaction was disposed before being set. getAddressesForKey would not return when resetPromise was set.
2018-01-31 13:47:36 -08:00
FDB Dev Team
a674cb4ef4
Initial repository commit
2017-05-25 13:48:44 -07:00