A.J. Beamon
402fa4dd9e
Merge pull request #6428 from sfc-gh-ajbeamon/fdb-tenant-add-interfaces
...
Add server-side and protocol support for tenants
2022-03-08 15:33:18 -08:00
A.J. Beamon
6f7adb04a5
Send a version along with GetKeyServerLocationsRequests to allow the proxy to reject missing tenants more quickly. Change the commit proxy tenant map to be unversioned.
2022-03-08 13:33:56 -08:00
A.J. Beamon
5003a0d662
Remove unnecessary parameter from clampRangeToTenant
2022-03-08 12:01:51 -08:00
A.J. Beamon
07169b1f11
Add unknown_tenant error to documentation. Avoid doing an extra tenant lookup in the clampRangeToTenant function.
2022-03-07 10:37:22 -08:00
A.J. Beamon
3ae98189af
Server processes send unknown_tenant responses back to clients, which is meant to be retried after updating the tenant cache. Fix bug where key selectors could be truncated after applying the tenant prefix.
2022-03-06 21:54:21 -08:00
A.J. Beamon
72a34945ce
Add the ability to disable tenants. Server processes verify the ID of tenants being read or written.
2022-03-06 21:54:21 -08:00
A.J. Beamon
b4feddea8d
Fix a couple bugs. Don't store old versions in tenant map indefinitely.
2022-03-06 21:54:21 -08:00
A.J. Beamon
e898e59d18
Fix merge issue that caused tenant serialization problems. Fix case where arena was passed by value rather than reference. Watches should check the tenant map at the latest version rather than the watch version.
2022-03-06 21:54:21 -08:00
A.J. Beamon
c99c7cf55f
Apply tenant prefixes on the storage server. The commit proxy can serve tenant location requests. Fix some bugs.
2022-03-06 21:54:21 -08:00
A.J. Beamon
bd3920c23d
Wait to initialize the SS tenant map until after the storage server has been added. Add some extra logging around inserting and erasing tenants.
2022-03-06 21:54:21 -08:00
A.J. Beamon
b8192828d9
Add support for the global tenant prefix to tenant map entries
2022-03-06 21:54:21 -08:00
A.J. Beamon
9c4773164e
Add ID to requests
2022-03-06 21:54:21 -08:00
A.J. Beamon
5fa9d3e1b7
Add a tenant parameter to read and commit requests. Store a map of all tenants on commit proxy and storage servers. Add an option to require tenant mode.
2022-03-06 21:54:21 -08:00
Neethu Haneesha Bingi
8796a763a5
Rocksdb knobs for compaction, storageserver canCommit() waiting if rocksdb overloaded.
2022-03-04 12:41:17 -08:00
A.J. Beamon
250a88e682
Enforce that trace event suppression calls happen first when using trace event call chaining. Fix various instances where we weren't following this requirement.
2022-02-24 12:25:52 -08:00
Josh Slocum
b324cf4bc4
Fixing TSS buggify in restarting tests
2022-02-03 06:46:28 -06:00
A.J. Beamon
0803abedaa
Adjust the name order of constructor variable initialization to match declaration order.
2022-01-28 10:27:13 -08:00
Andrew Noyes
c967e6246b
Fix uninitialized memory in storage server ( #6282 )
2022-01-26 13:24:35 -08:00
He Liu
5e0b1fd13f
Resolved comments.
2022-01-21 16:58:42 -08:00
He Liu
0421562ce9
Resolved comments.
2022-01-21 16:58:42 -08:00
He Liu
b7388a714b
Added get, scan, and commit counters.
2022-01-21 16:58:42 -08:00
He Liu
da8453eb5d
Added systemClearRange.
2022-01-21 16:58:42 -08:00
He Liu
f14c832031
Added storage engine metrics in SS.
2022-01-21 16:58:42 -08:00
A.J. Beamon
d8e161f89e
Refactor NativeAPI transactions to create and pass around a reference counted state object. Watches no longer use the tranasction info object but instead use their own state.
2021-12-17 11:57:39 -08:00
Josh Slocum
f6ea67120e
Adding explicit empty version back to change feeds for now
2021-12-10 10:04:05 -06:00
Andrew Noyes
def41697bf
Merge pull request #6083 from sfc-gh-tclinkenbeard/remove-temporaries
...
Avoid creating unnecessary temporary objects
2021-12-06 13:24:56 -08:00
Tao Lin
9b0a9c4503
Return error when getRangeAndFlatMap has more & Improve simulation tests ( #6029 )
2021-12-03 12:50:07 -08:00
sfc-gh-tclinkenbeard
3b5d23ef88
Remove unnecessary temporary objects when appending to vector of pairs
2021-12-01 18:15:16 -08:00
Evan Tschannen
b0aad44831
change feed requests with an explicit end need to get empty versions at the end boundary
2021-11-23 15:01:44 -08:00
Evan Tschannen
3360000a91
fix: an empty mutation vector did not mean that all of the data was returned
2021-11-23 15:01:44 -08:00
Evan Tschannen
e97d337ffe
fix: when a feed transitions from atLatest to not atLatest stall all updates at the blocked version
2021-11-23 15:01:44 -08:00
Evan Tschannen
10a925b7e9
do not return mutations larger than the dequeVersion
2021-11-23 15:01:44 -08:00
Evan Tschannen
f3bb1d8f51
properly handle an active change feed stream when removed
2021-11-23 15:01:44 -08:00
Jon Fu
8f6934c4d0
Merge branch 'master' of github.com:apple/foundationdb into jfu-fix-ss-segfault
2021-11-16 18:03:32 -05:00
Evan Tschannen
964d0209ca
Merge pull request #5637 from sfc-gh-ljoswiak/features/data-loss-prevention
...
Data loss protection when joining new cluster
2021-11-15 15:26:32 -08:00
Evan Tschannen
6e81b83924
fix: cleanup change feeds which have been completely removed from a storage server
2021-11-15 11:47:42 -08:00
Evan Tschannen
94a51e57a5
Merge branch 'master' into feature-changefeed-empty-versions
...
# Conflicts:
# fdbclient/StorageServerInterface.h
2021-11-14 19:13:05 -08:00
Evan Tschannen
6909754b21
changefeeds now have a whenAtLeast function for efficiently learning when the version has updated but no mutations have been committed
2021-11-14 19:08:46 -08:00
Tao Lin
2d5f924278
GetKeyValuesAndFlatMap should return error if not retriable
2021-11-12 09:35:28 -08:00
Lukas Joswiak
c93052121f
Fix issue where transaction spans would not be recorded
2021-11-10 13:33:49 -08:00
Daniel Smith
499dbcdb18
Don't fail fetchKeys when server overloaded is returned
2021-11-10 14:15:42 -05:00
Daniel Smith
b50b3de5d0
Allow SS to respond with server overloaded
2021-11-10 11:52:02 -05:00
Tao Lin
fdb3b72e35
Introduce GetRangeAndFlatMap to push computations down to FDB
...
Re-introduce #5609
2021-11-09 13:52:28 -08:00
Lukas Joswiak
15e0d5b29f
Add explicit transaction options when reading cluster ID
2021-11-09 12:29:49 -08:00
Lukas Joswiak
4640045243
Fix rare simulation failures
...
When partitions appear before a cluster has fully recovered, it was
possible to have different tlogs persist different cluster IDs because
they were involved in different partitions. This would affect recovery
when a quorum was eventually reached. The solution to this is to avoid
persisting the cluster ID before a cluster has fully recovered, to make
sure all nodes agree on the cluster ID.
2021-11-09 12:29:48 -08:00
Lukas Joswiak
aa3383f0e3
Exclude when joining new cluster
2021-11-09 12:29:48 -08:00
Lukas Joswiak
3e2c65bb11
Allow tlog to join another cluster but retain its data
2021-11-09 12:29:48 -08:00
Lukas Joswiak
30867750b5
Add protection against storage and tlog data deletion when joining a new cluster
2021-11-09 12:29:47 -08:00
Jon Fu
396cd58b21
cancel ss core and ss actor collection after termination and before context switch
2021-11-04 16:05:23 -04:00
Tao Lin
586cc3b102
Revert "Introduce GetRangeAndFlatMap to push computations down to FDB"
2021-11-04 08:46:56 -07:00