1
0
mirror of https://github.com/apple/foundationdb.git synced 2025-06-02 19:25:52 +08:00

2116 Commits

Author SHA1 Message Date
Hao Fu
d11b5b44e0
Remove boundaryAndExist ()
* Remove boundaryAndExist

Client knows whether an entry is a boundary, and client also can
see whether the record for that entry exist by checking whether
the rangeResult is empty. This field is useless.

This field breaks backward compatibility, need to remove it.
2022-12-07 18:08:15 -08:00
Junhyun Shim
48f387d4bf Merge remote-tracking branch 'origin/main' into mako-authz-token-generation 2022-12-07 09:06:39 +01:00
Junhyun Shim
36b4569a08 Merge remote-tracking branch 'origin/main' into mako-authz-token-generation 2022-12-07 08:49:20 +01:00
Daniel Luan
603f9ba95a make format_string parameters const reference 2022-12-06 14:19:06 -08:00
Daniel Luan
4be05e5a5d Upgrade C++ Standard to 20 2022-12-06 14:19:06 -08:00
Christian Wende
11b7f80580
Merge pull request from sfc-gh-cwende/mako-cwende-transaction-level-timeout-support
Mako: Timeout Support on Transaction Level
2022-12-06 20:07:07 +01:00
Christian Wende
f807f5d7d6 Mako: move setTransactionTimeoutIfEnabled out of Arguments 2022-12-06 18:17:59 +01:00
Christian Wende
c35046d3f1 Mako: Move some functionalities into member functions of Argument 2022-12-06 17:12:03 +01:00
Junhyun Shim
0c204586d7 fork a pipe-IPC server subprocess from main 2022-12-06 14:04:30 +01:00
Christian Wende
4f6b0a1c64
mako: name threads for better performance monitoring () 2022-12-06 13:01:58 +01:00
Christian Wende
80fd7a3cd1 Mako: Rename txn ~> tx for consistency 2022-12-05 17:36:14 +01:00
Christian Wende
8d69f6e9f0 Mako: Add option to set timeouts at transaction level 2022-12-05 16:47:30 +01:00
sfc-gh-tclinkenbeard
4b6098931c Merge remote-tracking branch 'origin/main' into expose-tag-throttled-duration 2022-12-04 08:40:04 -08:00
Aaron Molitor
39ffd52fd9 remove javadoc errors/warnings 2022-12-02 12:02:35 -06:00
Johannes M. Scheuermann
94b70c58a6 Update test cases 2022-12-02 15:35:24 +01:00
Johannes M. Scheuermann
29ec981e05 Fix format issue 2022-12-02 15:17:05 +01:00
Johannes M. Scheuermann
2af8493d56 Make new go example pass 2022-12-02 15:17:05 +01:00
Johannes M. Scheuermann
65a61d6561 Allow to create database in go bindings with connection string 2022-12-02 15:17:05 +01:00
Vaidas Gasiunas
9826bbce15
Tracking Multi-Version Database Initialization states, failing if client is not compatible to the server ()
* MVC: Keep track of database initialization state; some refactoring of database update for better readability

* Do not create unused temp directory in old binaries downloader

* MVC: Fail transactions with an error code on database initialization errors

* Exit client config tester immediately on errors

* Fail database operations for incompatible clients and database initialization errors

* Some tests for database initialization errors

* local_cluster: reopen fdbmonitor.log in append mode, close it before reopening

* Introduce an option ignore_incompatible_client restoring the behavior of indefinite wait when there is no client matching a cluster version

* Multi-Version API: remove atomics from initializationError

* Update GO bindings: adding option ignore_incompatible_client

* MVC to fail on incompatible clients: addressing review comments

* MVC: An option to fail in case of an incompatible client

* fdb_c_client_config_tester: update help text
2022-12-01 23:28:30 +01:00
A.J. Beamon
b40abf3ec0 Apply flake8 2022-11-30 15:45:39 -08:00
A.J. Beamon
ed9acd550e Properly generate operations with the _TENANT suffix.
Add atomic op functions to the tenant object in Python.
Fix a Python tester bug for tenant operations.
Fix a build error with the binding tester package.
2022-11-30 15:30:10 -08:00
Jingyu Zhou
edc4f69322
Merge pull request from sfc-gh-ajbeamon/bindingtester-add-missing-tenant-commands
Allow the binding tester API test to generate reads and writes on tenant objects
2022-11-28 09:27:01 -08:00
Vaidas Gasiunas
493ab95464
Define the old FDB release versions used for client testing in one place ()
* Auto-formatting fdb_c_shim_tests.py

* Define the old release versions used for testing in one place; Using PYTHONPATH to find python modules from other project directories

* Remove obsolete upgrade tests; add direct upgrade tests from older versions

* Trigger tests
2022-11-25 13:16:33 +01:00
A.J. Beamon
33a503424d Allow the binding tester API test to generate reads and writes on the tenant object (using the _TENANT suffix) 2022-11-22 14:31:36 -08:00
Junhyun Shim
72b4dc9852 Make client tests run in venv 2022-11-22 18:20:28 +01:00
A.J. Beamon
4a6b29deff
Merge pull request from LukasMoll/flake8-bindings-python-tests
bindings/python/tests Applied flake8
2022-11-21 09:22:41 -08:00
sfc-gh-tclinkenbeard
453f3f44c6 Merge remote-tracking branch 'origin/main' into expose-tag-throttled-duration 2022-11-21 09:17:48 -08:00
Marian Dvorsky
f7d1310d0d
Suppress LSAN leak reports from ConnectionReaderActorState () 2022-11-21 17:58:22 +01:00
Junhyun Shim
a4157e0c51 Expose TokenSign as a public library to be used by Mako 2022-11-21 14:33:45 +01:00
Lukas Molleman
f57c977d73 bindings/python/tests Applied flake8 2022-11-21 12:08:53 +01:00
Johannes Scheuermann
f40b8da3e9
Allow to close database in go bindings ()
* Allow to close database in go bindings
2022-11-19 09:38:10 +01:00
A.J. Beamon
877a9388b8
Merge pull request from LukasMoll/bindings-python-fdb-flake8
/bindings/python/fdb Applied flake8
2022-11-18 08:41:18 -08:00
Ankita Kejriwal
3036f2458f
Merge pull request from sfc-gh-akejriwal/commitproxies
Add a transaction option to bypass storage quota enforcement
2022-11-15 15:22:11 -08:00
sfc-gh-tclinkenbeard
d1529aafaf Mark proxy_tag_throttled error retryable 2022-11-15 15:00:39 -08:00
Ankita Kejriwal
08c9ee7198 Update the generated.go file with the new option 2022-11-15 11:57:35 -08:00
LukasMoll
f780ed33d8
Merge branch 'main' into bindings-python-fdb-flake8 2022-11-15 09:08:23 +01:00
Dennis Zhou
6a86369097
apitester: add better support for blob api commands + tenant abstraction ()
* blob/apitester: rename tenantDebugString() -> debugTenantStr()

* blob/apitester: fix int64_t initialization to -1

* blob/apitester: add missing override for randomOperation()

* blob/cpp: cpp blob tenant operations

* apitester: add tenant to execution context

* apitester: DatabaseOps abstraction

This creates a base abstract class for Database and Tenant operations to
share.

* blob/apitester: add setup phase to verifyRange() prior to operations

This let's us ensure blob storage is setup prior to running apitester
against the cluster.

* apitester: expand execOperation() to take a tenant

Now that db operations can be transparently applied to tenants or
databases through the IDatabaseOps interface, allow execOperation() to
take a tenant accordingly.

* blob/testerapi: blobbify in TesterApiWorkload setup

Before we were blobbifying wholesale through TestRunner. This makes the
change to blobbifying and verifying in setup, so the workload can
properly test database and tenant scope functions.
2022-11-14 10:49:51 +01:00
sfc-gh-tclinkenbeard
7fc85d86b4 Add fdb_transaction_get_tag_throttled_duration function to C bindings 2022-11-13 11:22:57 -08:00
Vaidas Gasiunas
b5182dc43f
Define client config tests as python unit tests () 2022-11-11 15:59:18 +01:00
Christian Wende
502652d5f9
Mako: Add Timeout Support ()
* Mako: Add Timeout Support

* Mako: Change log levels, do not count timeouts as errors, and add function that checks if error is expected for async run mode

* Mako: Fix formatting
2022-11-10 14:04:45 +01:00
Vaidas Gasiunas
0160570c2a
Failing client initialization on errors in external clients; Update package version to 7.3.0 ()
* Network setup to fail on the initialization failures of external clients

* MVC: A more intuitive error when failing to load an API function

* Testing initializing FDB client with different configuration options

* Enable strict external client configuration check only for new API versions

* Upgrade FDB package version to 7.3.0; Update upgrade tests
2022-11-10 13:01:41 +01:00
Vaidas Gasiunas
37420c7c72
API Tests: Fix atomic operations workload for tests with restarts on timeouts ()
* run_c_api_tests an option to disable log dump

* ApiTester: Utility for self-conflicting transactions

* ApiTester: A reusable code for making write transactions self-conflicting; Make atomic operation transactions self-conflicting
2022-11-10 10:23:28 +01:00
Lukas Molleman
3bf017d59a C:/Program Files/Git/bindings/python/fdb/ Applied flake8 2022-11-09 20:43:43 +01:00
Junhyun Shim
ab6acd7752 Update go bindings option file with go 1.19 2022-11-09 15:37:19 +01:00
Jingyu Zhou
010dcb8f81
Merge pull request from LukasMoll/bindings-bindingtester-flake8
/bindings/bindingtester/ Applied flake8
2022-11-07 09:16:10 -08:00
Jingyu Zhou
79818c28dd
Merge pull request from LukasMoll/bindings-c-flake8
/bindings/c/ Applied flake8
2022-11-07 09:15:47 -08:00
Christian Wende
4b66b0e4ef
Mako: Initialize Arguments::num_report_files to 0 () 2022-11-07 16:28:17 +01:00
Vaidas Gasiunas
ce3038bfe5
Use a network option for retaining temporary client lib copies instead of a client knob () 2022-11-07 14:46:17 +01:00
Christian Wende
d3cf71ece0
Fix unintended behavior in Mako ()
* Fix errors statistic in sync mode

* Fix error statistics and restart behavior in async mode

* Fix #iterations stopping criterion

* Prevent edge cases with regards to target tps and iteration specification

* Fix mistake in async logic

* fix throttling and add one more case to validation

* small changes

* Mako: Remove unnecessary force_inline's and small change to header include statement

* Mako: Replace `auto err = fdb::Error{}`

* Mako: Move error statistics updates into future.hpp

* Mako: Async: Rename restartIteration -> onIterationEnd

* Mako: Move transaction creation in sync mode

* Mako: Clean up future.hpp by moving stats updates out of it
2022-11-07 10:44:19 +01:00
Lukas Molleman
c87b6ba48b revert sys.path placement 2022-11-04 21:32:21 +01:00