Markus Pilman
35f7843d84
Merge remote-tracking branch 'origin/main' into features/private-request-streams
2022-03-21 12:33:53 +01:00
Josh Slocum
8205771e8f
ReplyPromiseStreams need synchronous disconnect to avoid change feed races
2022-03-18 17:05:12 -05:00
Josh Slocum
37e7c80f26
Merge branch 'main' into blob_integration
2022-03-17 18:45:42 -05:00
A.J. Beamon
513e8887dd
Add a new C unit test that uses tenants. Fix simulation issue where resetting a transaction could cause in-flight operations to pick up the simulated default tenant for the next retry. Use the new list tenant JSON format in the tenant management test. Fix missing raw_access option in special key space correctness test.
2022-03-17 12:10:19 -07:00
A.J. Beamon
4079b9f23d
Lazily assign the default tenant in simulated tests so that we can enforce that raw access isn't used on tenant transactions. Update various tests to avoid using raw access or system key access after they have performed other operations on the transaction.
2022-03-17 12:10:19 -07:00
A.J. Beamon
d0dc756c6d
Allow disabling tenant mode in simulation. Fix a few bugs.
2022-03-17 12:10:18 -07:00
A.J. Beamon
05495908b8
Implement some tenant tests
2022-03-17 12:10:18 -07:00
Markus Pilman
118b53b7cf
Merge remote-tracking branch 'origin/main' into features/private-request-streams
2022-03-17 12:06:44 +01:00
sfc-gh-tclinkenbeard
58de6e22cc
Add BalanceOnRequests boolean parameter for ModelInterface
2022-03-16 14:25:32 -07:00
Jon Fu
9731d96797
Merge branch 'main' of github.com:apple/foundationdb into jfu-grv-cache-multi-threaded
2022-03-16 14:32:33 -04:00
Jon Fu
7ab205391b
Revert "remove all multi-version client code related to grv cache"
...
This reverts commit 6d05ecffc2 .
2022-03-16 14:26:36 -04:00
Jingyu Zhou
2acc222d9a
Detect stale GRV proxy replies
...
Each GetReadVersionReply now has the GRV proxy ID that sent it so that the
client can detect old GRV proxy's replies and avoid apply stale version vector
changes.
2022-03-15 14:23:07 -07:00
A.J. Beamon
a1dfd92a43
Fix merge conflict between tenants and checkpointing API. Avoid using .toString() in trace event details and rename (and move) a couple variables.
2022-03-15 14:18:06 -07:00
A.J. Beamon
7464c7747c
Merge pull request #6600 from sfc-gh-ajbeamon/add-tenant-support-back-to-mapped-range
...
Add tenant support back to mapped range requests
2022-03-15 13:46:32 -07:00
Josh Slocum
e8e69e7c56
Fix formatting
2022-03-15 15:15:16 -05:00
He Liu
c3a68d661e
Physical Shard Move ( #6264 )
...
Physical Shard Move part I: Checkpoint creation, transfer and restore.
2022-03-15 13:03:23 -07:00
Josh Slocum
ce5b567971
Cleanup the cleanup
2022-03-15 15:02:28 -05:00
A.J. Beamon
a04934465c
Add tenant support back to mapped range requests. Fix ACTOR warning.
2022-03-15 12:41:08 -07:00
A.J. Beamon
e8077b65e1
Merge pull request #6559 from sfc-gh-ajbeamon/fdb-tenant-client
...
Add client support for tenants
2022-03-15 12:40:17 -07:00
A.J. Beamon
22faf8e5b3
Ignore tenants when setting watches on the metadataVersionKey or sending mutations or conflict ranges that use the metadataVersionKey.
2022-03-15 10:46:31 -07:00
A.J. Beamon
a70adf9fcd
Convert cached ranges to relative ranges when using tenants.
2022-03-15 09:23:30 -07:00
A.J. Beamon
149ca44b9b
Disallow setting raw access on a transaction that has specified a tenant
2022-03-15 09:23:30 -07:00
A.J. Beamon
0536e56725
The tenant cache uses a simpler eviction policy. Some various improvement around the use of futures. Add documentation for C API and fix inaccurate statement in special keys documentation.
2022-03-15 09:23:30 -07:00
A.J. Beamon
06f088e088
Pass along versions with GetKeyServerLocationsRequests, if we have them.
2022-03-15 09:23:30 -07:00
A.J. Beamon
68069c9784
Undo some unused changes. Fix tenant cache eviction.
2022-03-15 09:23:30 -07:00
A.J. Beamon
8bc2b283e1
Create a special keys API to create, delete, and read tenants. Remove the C API to create/delete tenants.
2022-03-15 09:23:30 -07:00
A.J. Beamon
1e1098ca9a
Don't check whether tenants are enabled when watch is called. Support unknown_tenant error.
2022-03-15 09:23:30 -07:00
A.J. Beamon
ecccfd0868
Add cache invalidation to tenant cache. Send tenant ID along with tenant name in requests to validate that the tenant hasn't changed. Fix a few bugs.
2022-03-15 09:23:30 -07:00
A.J. Beamon
fb73e1857a
Some get key requests should not happen within a tenant. Don't set read_system_keys in watch logic unless necessary. Set access_system_keys in a couple movekeys functions.
2022-03-15 09:23:30 -07:00
A.J. Beamon
2a21126028
Don't apply read prefixes on the client. Cache tenant data locally.
2022-03-15 09:23:30 -07:00
A.J. Beamon
a168faf219
Fix bugs in serialization and tenant prefix management on the client.
2022-03-15 09:21:27 -07:00
A.J. Beamon
c635dcd3ad
Add tenant support in the FDB native client
2022-03-15 09:21:27 -07:00
Markus Pilman
117ee637db
Merge remote-tracking branch 'origin/main' into features/private-request-streams
2022-03-15 17:17:47 +01:00
Markus Pilman
bed799220a
Addressed review comments, added test
2022-03-15 16:57:26 +01:00
Jingyu Zhou
800478ad5e
Add a new client error code stale_version_vector
2022-03-14 20:50:12 -07:00
Josh Slocum
8d88b7ca41
making range assigner boundary changes fully synchronous to ensure no races with things reading assignments
2022-03-14 14:39:00 -05:00
Josh Slocum
98eeaac1b7
More debugging and fixing a stuck merge cursor
2022-03-14 11:57:56 -05:00
sfc-gh-tclinkenbeard
8dcac2f76d
Fix typos
2022-03-13 10:02:11 -03:00
Jingyu Zhou
9b8c101158
Fix a rare race with version vector cache
...
The events that led to the assertion failure are:
Many txn started, some get ReadVersion1, some get ReadVersion2.
Recovery happened.
GRV proxy change detected and the client version cache is cleared.
Old GRV responded with ReadVersion1, and client version cache is updated to ReadVersion1.
A txn starts reading with ReadVersion2, triggering the assertion.
The fix is to throw an error to trigger transaction restart so that a new GRV
will update the version cache.
2022-03-12 12:03:01 -08:00
Josh Slocum
82eef0c7f7
Better CF tracing for client and server
2022-03-11 16:50:38 -06:00
Josh Slocum
2a506f2dff
Updating SS desired every mutation to avoid CF merge deadlock
2022-03-10 20:11:49 -06:00
Josh Slocum
211e5b579a
Adding back debug stream uid to help track down bugs
2022-03-10 13:55:42 -06:00
Josh Slocum
903f7adbc4
more cleanup
2022-03-10 13:53:06 -06:00
Tao Lin
e2c7c30faf
GetMappedRange support serializable & check RYW & continuation ( #6181 )
2022-03-10 10:05:44 -08:00
Josh Slocum
1f964ac085
BM focused cleanup
2022-03-09 15:04:17 -06:00
Josh Slocum
b21d0943b9
client-focused cleanup
2022-03-09 10:01:25 -06:00
Josh Slocum
e71b3533f9
Merge branch 'main' into blob_integration
2022-03-09 08:59:56 -06:00
Markus Pilman
8fac0081a8
Merge remote-tracking branch 'origin/main' into features/private-request-streams
2022-03-09 11:00:00 +01:00
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
63b8b838a2
Merge pull request #6558 from sfc-gh-ajbeamon/special-keys-limits
...
Add support for a limits hint in special keys range reads
2022-03-08 15:32:59 -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
Josh Slocum
58f5cea39b
fix typo
2022-03-07 11:20:24 -06:00
Josh Slocum
04f678d515
Fixing sample logic
2022-03-07 11:20:24 -06:00
Josh Slocum
665e182bcc
TSS Metrics improvements
2022-03-07 11:20:24 -06: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
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
A.J. Beamon
36435af4f5
Add support for a limits hint in special keys. Fix a typo and resolve some comment formatting weirdness.
2022-03-06 21:52:39 -08:00
Jingyu Zhou
1a5bf25b5c
Update code base to use fmt 8.1.1
2022-03-04 15:52:06 -08:00
A.J. Beamon
1555c0e2aa
Fix conflict between two recent merges by using the new errorUnsuppressed function.
2022-03-04 12:41:21 -08:00
A.J. Beamon
cdebda35ab
Merge pull request #5725 from sfc-gh-jfu/jfu-grv-cache
...
Add transaction option for clients to use cached read versions
2022-03-04 09:17:27 -08:00
Josh Slocum
2b8882ca0a
Adding exponential backoff for consecutive change feed stream failures
2022-03-02 18:46:40 -06:00
Xiaoxi Wang
e73c0a31e6
add wiggle_server_ids and wiggle_server_addresses in status json
2022-03-02 10:03:23 -08:00
Xiaoge Su
5e39da7741
fixup! Reformat the source
2022-02-28 18:03:52 -08:00
Xiaoge Su
02e396274f
Fix the compile error on NativeAPI.actor.cpp
2022-02-28 18:03:52 -08:00
Zhe Wu
aadd706a0a
Port back addressed comments for fixing get key location issue
2022-02-28 16:08:57 -08:00
Zhe Wu
0bdae35a2c
Address comments and move updateFailedEndpointRefreshTime
2022-02-24 16:35:30 -08:00
Zhe Wu
9c99c59b0c
Fix get key location overloading proxies
2022-02-24 16:35:30 -08:00
Josh Slocum
e5b4fb3d80
Adding explicit popVersion to change feed reply, like tlogs have
2022-02-24 15:20:18 -06: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
Dan Lambright
8cc9a5af1a
Rebase 02/23
2022-02-23 14:23:28 -05:00
Jon Fu
ce1d71472d
Merge branch 'main' of github.com:apple/foundationdb into jfu-grv-cache
2022-02-23 12:35:25 -05:00
Markus Pilman
cf31e14904
Merge remote-tracking branch 'origin/main' into features/private-request-streams
2022-02-23 10:29:32 +01:00
Renxuan Wang
622d89b552
Rebase on main.
...
Since we changed ClusterConnectionString's status flag from boolean to enum in #6422 , we need to update this PR correspondingly.
2022-02-22 16:29:59 -08:00
Renxuan Wang
481587a8c6
Turn on hostname logic.
2022-02-22 16:29:59 -08:00
Jon Fu
ae071a7211
clean up debug trace lines
2022-02-22 17:16:11 -05:00
Jon Fu
b60cc02aa2
fix compile error
2022-02-22 13:10:30 -05:00
Jon Fu
31d56b2f50
adjust knob setting, revert trace changes, and disable cache if onError retries transactions
2022-02-22 12:42:53 -05:00
Markus Pilman
dc973fb67e
Allow List and first test
2022-02-22 11:15:16 +01:00
Josh Slocum
a7a3dccba5
TSS Mismatch Quarantine fix
2022-02-17 19:16:07 -06:00
Josh Slocum
ef25e4fdfb
Sending empty version back immediately to establish stream connection and acknowledgement queue for change feed stream requests
2022-02-17 18:10:17 -06:00
Josh Slocum
38a75a8b89
Merge branch 'main' into blob_integration
2022-02-17 17:47:38 -06:00
Josh Slocum
26480c4705
change feed popping fixes
2022-02-15 15:12:23 -06:00
Jon Fu
d399daebed
Merge branch 'main' of github.com:apple/foundationdb into jfu-grv-cache
2022-02-15 15:09:40 -05:00
Jon Fu
6f1c3d50bb
add debug traces for testing
2022-02-15 15:08:53 -05:00
Vaidas Gasiunas
092b5cee4b
MVC2.0: Rollback added code
2022-02-14 13:50:42 -08:00
Jon Fu
a63d218e9d
simplify test workload and adjust ratekeeper throttling strategy
2022-02-11 16:41:14 -05:00
Jon Fu
2e63ac6963
code review changes: additional test checks, cleanup extra code, mark internal option hidden
2022-02-10 17:01:09 -05:00
Jon Fu
458e708272
addressed code review comments: renamed variables, small functional changes, style changes
2022-02-10 16:17:54 -05:00
Josh Slocum
f4c235f134
propagating change_feed_popped correctly
2022-02-09 09:34:13 -06:00
Sreenath Bodagala
72e06369a4
Merge remote-tracking branch 'apple-upstream/main' into version-vector-prototype
2022-02-08 17:47:57 +00:00
Jon Fu
7e5ad88780
formatting for Github CI
2022-02-07 15:31:59 -05:00
Jon Fu
9c0a512cf5
Merge branch 'main' of github.com:apple/foundationdb into jfu-grv-cache
2022-02-07 14:51:12 -05:00
Jon Fu
ec2bbf0343
clean up some more trace lines and leftover code snippets
2022-02-07 14:50:04 -05:00
Josh Slocum
9b3f6fe452
More bugs in streaming split
2022-02-07 13:25:14 -06:00
Josh Slocum
88b1593681
Removing incorrect assert
2022-02-07 11:56:14 -06:00
Josh Slocum
88cab7fb67
More change feed fetching improvements and optimizations
2022-02-07 11:19:51 -06:00
Josh Slocum
c48ca9430d
Fixes for streaming split keys
2022-02-07 10:36:22 -06:00
Josh Slocum
809ec24184
More change feed buffer tuning
2022-02-07 08:19:19 -06:00
Josh Slocum
1736eabd33
fixes for split metrics stream
2022-02-04 18:24:55 -06:00
Josh Slocum
41a274ed9c
Fixing bug and refactoring iterative range splitting
2022-02-04 17:10:46 -06:00