Commit Graph

1720 Commits

Author SHA1 Message Date
Vaidas Gasiunas 5205b565ab
Upgrade Tests: Testing downgrade from 7.2 to 7.1 (#7179) 2022-05-18 11:59:29 +02:00
Ray Jenkins 7594f5c0f9
Mako add distributed tracing client (#7180)
* Add support for specifying distributed client tracer in Mako.

Introduces a new command line option --distributed_tracer_client. Defaults to disabled, user may specify
disabled, log_file, network_lossy, or sim_end.

Testing locally and verified with distributed tracing receiver. Note: We use a simple integer here
to denote tracer type rather directly using the TracerType enum in flow/Tracing.h. Including Tracing.h pulls in
FDBTypes.h and results in conflicts with several classes, including Database.
2022-05-17 15:23:14 -05:00
Vaidas Gasiunas 9966e3f7f7 Api Tester: print workload progress statistics in regular time intervals 2022-05-17 17:35:01 +02:00
Kevin Hoxha 4e6265537a Add correct transaction latency in ResumableStateForRunWorkload::onTransactionSuccess() 2022-05-16 14:06:55 -07:00
Alec Grieser 940ca2c6b8
Merge pull request #7166 from imperatorx/keyarrayresult-add-getter
Update KeyArrayResult.java
2022-05-16 14:03:24 -07:00
Ray Jenkins 3edc3431fe Update go bindings. 2022-05-16 14:48:40 -05:00
imperatorx 5e01c171be
Update KeyArrayResult.java
Add missing getter
2022-05-16 20:02:36 +02:00
Clement Pang 89c5901228 make MappedKeyValue constructor public 2022-05-16 09:49:50 -07:00
Vaidas Gasiunas 194d5d99e3
Merge pull request #7157 from sfc-gh-vgasiunas/vgasiunas-fix-upgrade-test
Restoring checks after each step in upgrade test
2022-05-16 09:12:22 +02:00
Hao Fu 853e6a346b
Optimization: support removing index conditionally (#7116) 2022-05-13 10:10:43 -07:00
Vaidas Gasiunas 7c9a213127 Upgrade Tests: removing failing downgrade test to 7.1 2022-05-13 11:47:57 +02:00
Markus Pilman 452315ee78
Build mockkms and add mockkms test (#7153) 2022-05-12 15:07:02 -07:00
Vaidas Gasiunas 1992898323 Add a regression test to upgrade from 7.1 to 7.2 and downgrade back 2022-05-12 15:34:03 +02:00
Vaidas Gasiunas c84e0b0d7a
Merge pull request #7085 from sfc-gh-vgasiunas/vgasiunas-cluster-wiggle-test
Cluster wiggle test
2022-05-11 13:06:33 +02:00
Markus Pilman 524365083d
Merge pull request #7106 from sfc-gh-ahusain/ahusain-fdb-mock-kms
FDB native MockKMS REST server implementation
2022-05-10 09:10:54 -07:00
Markus Pilman e1ab0f5c4d
Merge pull request #7086 from sfc-gh-vgasiunas/vgasiunas-upgrade-tests-71
Upgrade Tests: Including 7.1 into the upgrade paths
2022-05-10 09:09:55 -07:00
Hao Fu 968c2cad43
Reduce workload in CycleMultiClientIntegrationTest (#7100) 2022-05-09 11:48:45 -07:00
Ata E Husain Bohra d6e5549226 FDB native MockKMS REST server implementation - Golang
Description

Major changes include:
1. FDB native MockKMS REST server implementation - Golang based.
2. Implements "getEncryptionKeys" endpoint utilized by
   FDB RESTKmsConnector module.
3. Ability to inject faults to induce errors at various points
   during query execution

NextSteps:

Need to integrate MockKMS to FDB build system.

Testing

1. Implements mockkms_test.go module providing extensive test coverage
   for newly added code.
2. Postman based local testing.
2022-05-07 20:53:13 -07:00
A.J. Beamon 68a46ca14d
Merge pull request #6852 from sfc-gh-jfu/jfu-list-tenants
Add listTenants commands to python and java bindings
2022-05-06 08:37:17 -07:00
Vaidas Gasiunas 27c0113305 Upgrade Tests: Including 7.1 into the upgrade paths 2022-05-06 15:21:57 +02:00
Vaidas Gasiunas fab8f35683 Cluster wiggle test 2022-05-06 15:00:40 +02:00
Vaidas Gasiunas 254da4d796
Merge pull request #7065 from sfc-gh-jslocum/arm_bg_fix
Fix for arm BG tests
2022-05-05 11:18:44 +02:00
Jon Fu c001d55c24 push tenant_list result as a packed tuple to stay consistent with other operations 2022-05-04 16:33:46 -04:00
Josh Slocum a7fdb42db8 Fix for arm BG tests 2022-05-04 14:54:16 -05:00
Jon Fu b5556c57f9 adjust instruction ordering in tenant_list api for binding tester 2022-05-04 13:59:19 -04:00
Jon Fu 9798e5fc83 Merge branch 'main' of github.com:apple/foundationdb into jfu-list-tenants 2022-05-04 12:49:43 -04:00
Jon Fu 96a35264b4 return tenant_list as one operation and validate with assertions 2022-05-04 12:48:48 -04:00
Hao Fu 97eb12381b
implement equals and hashCode in MappedKeyValue (#7041) 2022-05-03 12:24:26 -07:00
Hao Fu fa2e85f1d3
Add comment about getMappedRange parameters (#7044) 2022-05-02 15:17:14 -07:00
Rajiv Ranganath cf6e39af79 docs: add `GET_RANGE_SPLIT_POINTS`
Add `GET_RANGE_SPLIT_POINTS` instruction documentation.
2022-05-02 13:31:20 -07:00
Ray Jenkins dc9e782ccc
OpenTelemetry Tracing Perf Fixes (#6990) 2022-05-02 14:56:51 -05:00
Josh Slocum 57e1b487f1 Fixing ASAN alloc-dealloc-mismatch 2022-05-02 12:56:05 -05:00
Jon Fu ff216c2f57 add tenant list metadata to binding tester 2022-05-02 13:42:11 -04:00
Jon Fu d953b961b7 Merge branch 'main' of github.com:apple/foundationdb into jfu-list-tenants 2022-04-29 13:16:54 -04:00
Jon Fu 2afaf55a48 fixed some binding tests and split stack operation between key and value of tenant list 2022-04-29 13:16:04 -04:00
Josh Slocum 14e7738455 review comments 2022-04-27 16:08:00 -05:00
Josh Slocum 92da9d12d4 Improvements to fix 2022-04-27 16:08:00 -05:00
Josh Slocum 1bd72dc99e Allowing for blob granules to initialize at start of TesterBlobGranuleCorrectness 2022-04-27 16:08:00 -05:00
Vaidas Gasiunas 6f841446a5 API Tests: Enable client logs. Dump out the logs in case of an error 2022-04-27 10:02:20 -04:00
Vaidas Gasiunas d021b404ea ApiTester: Fix error code handing in case of a timeout 2022-04-27 10:02:20 -04:00
Junhyun Shim 1ee7702779
Merge pull request #6489 from sfc-gh-jshim/mako-cpp-async
Refactor Mako for C++ and add asynchronous execution support
2022-04-27 10:49:21 +02:00
Junhyun Shim 2f9506f5cd Introduce hard cap to latency sampling & apply clang format 2022-04-26 11:19:48 +02:00
Junhyun Shim 81211989f1 Disable new sample collection after first bad_alloc
- Add more info to --async_xacts description
- Clean up unused macro in fdb_api.hpp
2022-04-26 10:54:39 +02:00
Jon Fu a5e52c9450 Merge branch 'main' of github.com:apple/foundationdb into jfu-list-tenants 2022-04-25 14:56:20 -04:00
Ray Jenkins 1c5bf135d5
Revert "Migrate to OpenTelemetry tracing. (#6855)" (#6941)
This reverts commit 5df3bac110.
2022-04-25 09:29:56 -05:00
Junhyun Shim 81f9279db2 Fix GCC error about memset-ing atomic vars 2022-04-25 15:09:29 +02:00
Junhyun Shim d431a9f11b Wrap platform-specific PATH_MAX header in another 2022-04-25 13:53:05 +02:00
Junhyun Shim c4ac1ab9d0 Fix SGETRANGE 2022-04-25 13:24:56 +02:00
Junhyun Shim cfdff223ff Merge remote-tracking branch 'origin/main' into mako-cpp-async 2022-04-25 13:21:14 +02:00
Junhyun Shim 3536cab730 Apply clang format 2022-04-25 10:48:11 +02:00
Junhyun Shim 6224ea834b Emulate mako.c's commit behavior during populate() 2022-04-25 10:44:20 +02:00
Junhyun Shim 3205fe8ca4 Fix key selector handling
Also match selectors for OP_(S)GETRANGE
Add Transaction::getKey()
2022-04-22 22:31:32 +02:00
Vaidas Gasiunas 1064035c46 Update generated.go to include the client_tmp_dir option 2022-04-22 14:33:18 +02:00
Vaidas Gasiunas bc0096683f Remove an unused class member 2022-04-22 14:14:09 +02:00
Vaidas Gasiunas 9897712307 Merge remote-tracking branch 'apple/main' into vgasiunas-client-tmp-dir 2022-04-22 13:00:09 +02:00
Vaidas Gasiunas f9cb9deb1d Use build-local temp directory for C API tests 2022-04-22 11:57:29 +02:00
Vaidas Gasiunas caaf43da12
Merge pull request #6900 from sfc-gh-jslocum/bg_client_api_tests
Blob granule client API tests
2022-04-22 09:21:31 +02:00
Jon Fu 9e79ff49a6 address code review comments and add more places for test code 2022-04-21 16:58:32 -04:00
Vaidas Gasiunas b4fa9e23f6 Upgrade Tests: Use build local tmp directory for temp client library copies 2022-04-21 19:27:19 +02:00
Junhyun Shim c27635f607 Apply changes made to mako.c in main branch 2022-04-21 13:53:28 +02:00
Vaidas Gasiunas abbc047e5f Upgrade Tests: Dump entire log in case of errors 2022-04-21 10:12:25 +02:00
Junhyun Shim 7304c337f8 Aggressive inlining 2022-04-21 08:32:12 +02:00
Ivan Goncharov a2a7b959a5 Update bindings/c/CMakeLists.txt
Co-authored-by: Andrew Noyes <andrew.noyes@snowflake.com>
2022-04-20 15:56:18 -05:00
imorph 7a46d8b9cd Add new c libs to client package
Fixes: #6822
2022-04-20 15:56:18 -05:00
Josh Slocum 3c036300cc Addressing review comments 2022-04-20 14:34:19 -05:00
Junhyun Shim 3f9f781226 Fix typo 2022-04-20 19:41:07 +02:00
Binglin Chang 408c0cf1c9
Fix compile errors on ubuntu 20.04 (#4931) 2022-04-20 10:00:46 -07:00
Josh Slocum 40052c1394 Added Blob Granule API Tester 2022-04-20 10:15:43 -05:00
Josh Slocum 8fa25aa013 Adding blob granule client test target and local cluster setup 2022-04-20 10:15:43 -05:00
Junhyun Shim b7e493f030 Simplify string generation 2022-04-20 16:27:21 +02:00
Ray Jenkins 5df3bac110
Migrate to OpenTelemetry tracing. (#6855) 2022-04-20 09:26:37 -05:00
Junhyun Shim d202d482d9 Preserve key string generation behavior of mako.c 2022-04-20 14:16:06 +02:00
Junhyun Shim 50dcde0ca5 fmt::format for key string generation is slow 2022-04-20 10:27:57 +02:00
Junhyun Shim 278009e1c8 Let OP_TRANSACTION to measure one iteration of '-x' 2022-04-20 04:45:29 +02:00
Junhyun Shim 0cf1349c37 Optimizations and restructuring 2022-04-19 16:34:11 +02:00
Vaidas Gasiunas 79b2ebeb4b Upgrade Tests: Test upgrade from 7.0 to 7.2 2022-04-19 11:53:33 +02:00
Lukas Joswiak 7b737e91a1 Disable upgrade tests an non-x86_64 architectures 2022-04-15 16:28:11 -07:00
Vaidas Gasiunas 5abdb1e655 Upgrade Tests: Disable upgrade tests in sanitizer builds 2022-04-15 16:33:48 +02:00
Junhyun Shim e74a676e26 Perf-optimize synchronous execution path
- Wrap timer ops into if blocks
- Pull key/value buffer out to upper level function
2022-04-15 07:50:12 +02:00
Junhyun Shim a994588e72 Add assert header 2022-04-14 16:28:46 +02:00
Junhyun Shim 4b3f6cbd0b Introduce post-step functions
- To try accessing data from ready future for get* APIs,
simulating real workload.
- Adapt to modified blob granules API
2022-04-14 14:40:44 +02:00
Vaidas Gasiunas 0a6b74ad3f Upgrade Tests: Remove 6.2 from regression testing, because of sporadic failures 2022-04-14 14:30:55 +02:00
Jon Fu c0aa361885 add TENANT_LIST to existing tests 2022-04-13 16:25:01 -04:00
Jon Fu c683795f6b add python bindings and revise test code 2022-04-13 14:20:24 -04:00
Jon Fu 718119af83 simplest initial implementation of Java listTenants 2022-04-13 14:20:17 -04:00
Junhyun Shim dfa35c860e Merge remote-tracking branch 'upstream/main' into mako-cpp-async 2022-04-13 19:53:44 +02:00
Junhyun Shim c650d5366f Prefix sources and headers with license comment
Add include guards
2022-04-13 19:21:36 +02:00
Junhyun Shim 18787da562 Change fdb.hpp > fdb_api.hpp 2022-04-13 19:09:12 +02:00
Vaidas Gasiunas a03ba928e4 Upgrade Tests: Introduce transaction retry limit; Trace long retry chains; An option to run the test binary with gdb 2022-04-13 16:50:02 +02:00
Junhyun Shim 194e3dafea Add TX Parser for OP_OVERWRITE 2022-04-13 15:27:05 +02:00
Vaidas Gasiunas f7636ecf3b Upgrade Tests: Addressing review comments 2022-04-13 14:17:23 +02:00
Junhyun Shim b756e8b1e7 Update Mako documentation 2022-04-13 11:35:52 +02:00
Junhyun Shim 0256c08cab Apply clang format 2022-04-13 10:58:05 +02:00
Junhyun Shim 1de56eabf0 Avoid async queueing for immediately completed steps 2022-04-13 10:55:44 +02:00
Vaidas Gasiunas 9e46128b6f Upgrade Test: Include only currently working tests into the ctest suite 2022-04-12 20:03:29 +02:00
Vaidas Gasiunas 1e2541f1db Upgrade Tests: Log long waits on futures 2022-04-12 19:44:06 +02:00
Vaidas Gasiunas 580010e64c Merge remote-tracking branch 'apple/main' into vgasiunas-upgrade-test 2022-04-12 13:43:36 +02:00
Aaron Molitor 1328c34323 update version to 7.2.0 -- address pr comments 2022-04-11 23:23:27 -05:00
Aaron Molitor 5ba8b82ba6 update version to 7.2.0 -- address pr comments 2022-04-11 23:23:27 -05:00
Aaron Molitor f49b761d14 update version to 7.2.0 -- pr comment 2022-04-11 23:23:27 -05:00
Aaron Molitor cbaef8f03b update version to 7.2.0 2022-04-11 23:23:27 -05:00
Johannes M. Scheuermann dca18ac71e Add support for the reboot command in go bindings 2022-04-11 14:56:18 -07:00
Josh Slocum 6276cebad9
Blob integration (#6808)
* Fixing leaked stream with explicit notify failed before destructor

* better logic to prevent races in change feed fetching

* Found new race that makes assert incorrect

* handle server overloaded in initial read from fdb

* Handling more blob error types in granule retry

* Fixing rollback metadata problem, added better debugging

* Fixing version race when fetching change feed metadata

* Better racing split request handling

* fixing assert

* Handle change feed popped check in the blob worker

* fix: do not use a RYW transaction for a versionstamp because of randomize API version (#6768)

* more merge conflict issues

* Change feed destroy fixes

* Fixing change feed destroy and move race

* Check error condition in BG file req

* Using relative endpoints for blob worker interface

* Fixing bug in previous fix

* More destroy and move race fixes

* Don't update empty version on destroy in case it gets rolled back. moved() and removing will take care of ensuring it is not read

* Bug fix (#6796)

* fix: do not use a RYW transaction for a versionstamp because of randomize API version

* fix: if the initialSnapshotVersion was pruned, granule history was incorrect

* added a way to compress null bytes in printable()

* Fixing durability issue with moving and destroying change feeds

* Adding fix for not fully deleting files for a granule that child granules need to re-snapshot

* More destroy and move races

* Fixing change feed destroy and pop races

* Renaming bg prune to purge, and adding a C api and unit test for it

* more cleanup

* review comments

* Observability for granule purging

* better handling for change feed not registered

* Fixed purging bugs (#6815)

* fix: do not use a RYW transaction for a versionstamp because of randomize API version

* fix: if the initialSnapshotVersion was pruned, granule history was incorrect

* added a way to compress null bytes in printable()

* fixed a few purging bugs

Co-authored-by: Evan Tschannen <evan.tschannen@snowflake.com>
2022-04-08 14:15:25 -07:00
Lukas Joswiak 73a7c32982
Add fdbcli command to read/write version epoch (#6480)
* Initialize cluster version at wall-clock time

Previously, new clusters would begin at version 0. After this change,
clusters will initialize at a version matching wall-clock time. Instead
of using the Unix epoch (or Windows epoch), FDB clusters will use a new
epoch, defaulting to January 1, 2010, 01:00:00+00:00. In the future,
this base epoch will be modifiable through fdbcli, allowing
administrators to advance the cluster version.

Basing the version off of time allows different FDB clusters to share
data without running into version issues.

* Send version epoch to master

* Cleanup

* Update fdbserver/storageserver.actor.cpp

Co-authored-by: A.J. Beamon <aj.beamon@snowflake.com>

* Jump directly to expected version if possible

* Fix initial version issue on storage servers

* Add random recovery offset to start version in simulation

* Type fixes

* Disable reference time by default

Enable on a cluster using the fdbcli command `versionepoch add 0`.

* Use correct recoveryTransactionVersion when recovering

* Allow version epoch to be adjusted forwards (to decrease the version)

* Set version epoch in simulation

* Add quiet database check to ensure small version offset

* Fix initial version issue on storage servers

* Disable reference time by default

Enable on a cluster using the fdbcli command `versionepoch add 0`.

* Add fdbcli command to read/write version epoch

* Cause recovery when version epoch is set

* Handle optional version epoch key

* Add ability to clear the version epoch

This causes version advancement to revert to the old methodology whereas
versions attempt to advance by about a million versions per second,
instead of trying to match the clock.

* Update transaction access

* Modify version epoch to use microseconds instead of seconds

* Modify fdbcli version target API

Move commands from `versionepoch` to `targetversion` top level command.

* Add fdbcli tests for

* Temporarily disable targetversion cli tests

* Fix version epoch fetch issue

* Fix Arena issue

* Reduce max version jump in simulation to 1,000,000

* Rework fdbcli API

It now requires two commands to fully switch a cluster to using the
version epoch. First, enable the version epoch with `versionepoch
enable` or `versionepoch set <versionepoch>`. At this point, versions
will be given out at a faster or slower rate in an attempt to reach the
expected version. Then, run `versionepoch commit` to perform a one time
jump to the expected version. This is essentially irreversible.

* Temporarily disable old targetversion tests

* Cleanup

* Move version epoch buggify to sequencer

This will cause some issues with the QuietDatabase check for the version
offset - namely, it won't do anything, since the version epoch is not
being written to the txnStateStore in simulation. This will get fixed in
the future.

Co-authored-by: A.J. Beamon <aj.beamon@snowflake.com>
2022-04-08 12:33:19 -07:00
Vaidas Gasiunas f91acd323c Merge remote-tracking branch 'apple/main' into vgasiunas-upgrade-test 2022-04-08 20:27:45 +02:00
Vaidas Gasiunas b267246bac Upgrade Test: enable GRV caching only for API version >= 710 2022-04-08 20:25:02 +02:00
Tao Lin eb270d44b7 Remove unnecessary FDB_API_CHANGED 2022-04-08 10:18:16 -07:00
Tao Lin 73ed34d2fb Fixes #6793: Upgrade from 7.0.0 to 7.1.0 fails because of missing function fdb_transaction_get_mapped_range 2022-04-08 09:32:18 -07:00
Vaidas Gasiunas b544adad12 Merge remote-tracking branch 'apple/main' into vgasiunas-upgrade-test 2022-04-08 15:01:29 +02:00
Vaidas Gasiunas ac48e5000e Upgrade Test: Include upgrade from 7.0 in ctest 2022-04-07 19:32:57 +02:00
Jon Fu b0ae22f16d Merge branch 'main' of github.com:apple/foundationdb into jfu-grv-cache-multi-threaded 2022-04-06 12:28:28 -04:00
Vaidas Gasiunas ef0ec3d893 Merge remote-tracking branch 'apple/main' into vgasiunas-upgrade-test 2022-04-06 12:01:52 +02:00
Junhyun Shim 61e950e065 Run clang format 2022-04-01 15:18:10 -07:00
Junhyun Shim ebf86f9cff Fix incorrect stats collection 2022-04-01 15:16:00 -07:00
Junhyun Shim d0b7eddbcc Break mako.cpp into separate files
- future wait and common error handling
- operations and sub-op steps
- blob granules API invocation prep
- asynchronous benchmark execution
2022-04-01 11:54:20 -07:00
Chaoguang Lin 7d365bd1bb
Remote ikvs debugging (#6465)
* initial structure for remote IKVS server

* moved struct to .h file, added new files to CMakeList

* happy path implementation, connection error when testing

* saved minor local change

* changed tracing to debug

* fixed onClosed and getError being called before init is finished

* fix spawn process bug, now use absolute path

* added server knob to set ikvs process port number

* added server knob for remote/local kv store

* implement simulator remote process spawning

* fixed bug for simulator timeout

* commit all changes

* removed print lines in trace

* added FlowProcess implementation by Markus

* initial debug of FlowProcess, stuck at parent sending OpenKVStoreRequest to child

* temporary fix for process factory throwing segfault on create

* specify public address in command

* change remote kv store knob to false for jenkins build

* made port 0 open random unused port

* change remote store knob to true for benchmark

* set listening port to randomly opened port

* added print lines for jenkins run open kv store timeout debug

* removed most tracing and print lines

* removed tutorial changes

* update handleIOErrors error handling to handle remote-ikvs cases

* Push all debugging changes

* A version where worker bug exists

* A version where restarting tests fail

* Use both the name and the port to determine the child process

* Remove unnecessary update on local address

* Disable remote-kvs for DiskFailureCycle test

* A version where restarting stuck

* A version where most restarting tests green

* Reset connection with child process explicitly

* Remove change on unnecessary files

* Unify flags from _ to -

* fix merging unexpected changes

* fix trac.error to .errorUnsuppressed

* Add license header

* Remove unnecessary header in FlowProcess.actor.cpp

* Fix Windows build

* Fix Windows build, add missing ;

* Fix a stupid bug caused by code dropped by code merging

* Disable remote kvs by default

* Pass the conn_file path to the flow process, though not needed, but the buildNetwork is difficult to tune

* serialization change on readrange

* Update traces

* Refactor the RemoteIKVS interface

* Format files

* Update sim2 interface to not clog connections between parent and child processes in simulation

* Update comments; remove debugging symbols; Add error handling for remote_kvs_cancelled

* Add comments, format files

* Change method name from isBuggifyDisabled to isStableConnection; Decrease(0.1x) latency for stable connections

* Commit the IConnection interface change, forgot in previous commit

* Fix the issue that onClosed request is cancelled by ActorCollection

* Enable the remote kv store knob

* Remove FlowProcess.actor.cpp and move functions to RemoteIKeyValueStore.actor.cpp; Add remote kv store delay to avoid race; Bind the child process to die with parent process

* Fix the bug where one process starts storage server more than once

* Add a please_reboot_remote_kv_store error to restart the storage server worker if remote kvs died abnormally

* Remove unreachable code path and add comments

* Clang format the code

* Fix a simple wait error

* Clang format after merging the main branch

* Testing mixed mode in simulation if remote_kvs knob is enabled, setting the default to false

* Disable remote kvs for PhysicalShardMove which is for RocksDB

* Cleanup #include orders, remove debugging traces

* Revert the reorder in fdbserver.actor.cpp, which fails the gcc build

Co-authored-by: “Lincoln <“lincoln.xiao@snowflake.com”>
2022-03-31 17:08:59 -07:00
Tao Lin 001909be08
Fixes for when getMappedRange cannot parse as tuple (#6665) 2022-03-31 14:06:45 -07:00
A.J. Beamon 5469b57a2b Add a note that opening a tenant does not check whether that tenant exists in the cluster 2022-03-31 11:39:50 -07:00
A.J. Beamon be7315473a Move tenant creation/deletion into a TenantManagement class 2022-03-30 16:31:28 -07:00
A.J. Beamon 6570ae44c6 Use special keys to create/delete tenants 2022-03-30 16:31:28 -07:00
Jon Fu 995f1b3601 Support tuples in Java tenants 2022-03-30 16:31:28 -07:00
A.J. Beamon a2a97e7176 Add tenant support to the Java bindings 2022-03-30 16:31:28 -07:00
Jon Fu 4677b59fd8 Merge branch 'main' of github.com:apple/foundationdb into jfu-grv-cache-multi-threaded 2022-03-30 15:29:56 -04:00
Jon Fu f266695a76 clear shared state map entries on version upgrade and use currentProtocolVersion instead of piping version through function parameters 2022-03-30 15:28:55 -04:00
A.J. Beamon fc68cdf45f
Merge pull request #6693 from sfc-gh-ajbeamon/python-tenant-management-module
Move Python tenant management to its own module
2022-03-30 12:03:08 -07:00
Jon Fu 3283d07b4c Merge branch 'main' of github.com:apple/foundationdb into jfu-grv-cache-multi-threaded 2022-03-30 13:44:28 -04:00
Jon Fu 9d0a520fe0 add ProtocolVersion to shared state and state cluster map 2022-03-30 13:28:06 -04:00
Xiaoxi Wang e644c6da49
Merge pull request #6716 from sfc-gh-xwang/memory-test-ide
fix cmake error after adding memory test when OPEN_FOR_IDE=ON
2022-03-29 14:23:16 -07:00
Jon Fu 53d252fda0 Merge branch 'main' of github.com:apple/foundationdb into jfu-grv-cache-multi-threaded 2022-03-29 17:23:08 -04:00
Jon Fu bdbe78e48f address code review comments 2022-03-29 17:20:22 -04:00
Andrew Noyes d727e7648e Fix a few memory issues found by ASAN 2022-03-29 12:39:12 -07:00
Xiaoxi Wang bc3e5cdaa1 fix cmake error when OPEN_FOR_IDE=ON 2022-03-29 12:02:56 -07:00
Josh Slocum 721c64b698 Adding Blob Granule Client C Unit Tests 2022-03-28 15:42:33 -05:00
A.J. Beamon 3cf0ea5950
Merge pull request #6697 from sfc-gh-ajbeamon/fix-tenant-map-range-read-bug
Fix bug in tenant map range reads when the end key is outside of the tenant map range
2022-03-28 10:55:33 -07:00
Steve Atherton 478ff1eb76
Merge pull request #6652 from sfc-gh-anoyes/anoyes/fast-alloc
Move most usage of FastAlloc to malloc
2022-03-26 15:46:05 -07:00
A.J. Beamon 2475c4e2d6 Fix various non-compiling code errors. 2022-03-25 15:56:49 -07:00
A.J. Beamon 48447c2788 Add the tenant management module to CMakeLists. Don't test tenants before API version 710. 2022-03-25 14:35:16 -07:00
A.J. Beamon e8a38bb048 Fix bug in tenant map range reads when the end key is outside of the tenant map range. 2022-03-25 14:24:25 -07:00
A.J. Beamon b4cfcc10d3 Move Python tenant management to its own module 2022-03-25 11:36:35 -07:00
Josh Slocum bf3da72637 Merge branch 'main' into bg_client_bindings_improvements 2022-03-24 15:56:30 -05:00
Josh Slocum b42c49ca0a Adding full file length for future-proofing 2022-03-24 15:56:03 -05:00
Josh Slocum b92c6ea92c granule parallelism, metrics, and other improvements to bg client bindings 2022-03-24 13:44:09 -05:00
Vaidas Gasiunas 68a9abd3c5 Upgrade Test: Derive API version from the versions tested; Improve handing of error situations 2022-03-24 17:23:17 +01:00
Vaidas Gasiunas c63a1a18dd Upgrade Tests: Check workload progress after each upgrade step 2022-03-24 12:36:22 +01:00
A.J. Beamon 77ce0f4fc7 Add a unit test in Python to exercise some of the tenant code. Add some comments to the allocate and delete tenant implementations. 2022-03-23 15:50:06 -07:00
A.J. Beamon 8b92d3fccd Use special keys to create/delete tenants 2022-03-23 14:46:56 -07:00
Jon Fu 8e848f16df Support tuples in python tenants 2022-03-23 14:46:55 -07:00
A.J. Beamon ce03f5783d Add tenant support to Python 2022-03-23 14:46:55 -07:00
A.J. Beamon ca653c77ee
Tenant binding tester support (#6642)
* Add binding tester support for tenants

* Configure tenant_mode=optional_experimental in the binding tester

* Use the special key-space to delete tenants in between binding tester runs.

* Separate tenant tester spec into its own file.
2022-03-23 13:57:45 -07:00
Jon Fu 344198793d remove TODO comment 2022-03-23 16:50:55 -04:00