Commit Graph

1795 Commits

Author SHA1 Message Date
Dennis Zhou 4ea4546cb6 blob/java: verifyBlobRange() with latestVersion 2022-09-21 14:07:16 -07:00
Dennis Zhou 86eac7386f blob/java: fix verifyBlobRange() calling wrong function
verifyBlobRange() accidentally called list_blobbified_ranges().
2022-09-21 14:04:58 -07:00
Dennis Zhou 2caf0c7726 blob/java: add purge at latestVersion 2022-09-21 09:46:55 -07:00
Junhyun Shim 2e51a110f2 Fix Python binding's fdb_c lookup
All python documentations indicate you shouldn't put prefixes like 'lib' or
suffixes like '.so', '.dll', or '.dylib' in argument to ctypes.util.find_library(),
unlike ctypes.CDLL() which demands an exact file name.
I suppose this case hasn't been tested.
2022-09-20 22:47:04 +02:00
Vaidas Gasiunas 97eddbc06a
Extend ApiTester with support for testing database operations (#8221)
* ApiTester: Refactoring removing unnecessary transaction actor classes

* ApiTester: enable executing non-transactional database operations

* ApiTester: a test for fdb_database_list_blobbified_ranges

* ApiTester: Fix memory ownership of the end key in randomGetRangeOp

* ApiTester: reuse get range result validation in blob granule tests
2022-09-20 16:21:38 +02:00
A.J. Beamon 3a1fa5bd7c
Merge pull request #8223 from sfc-gh-ajbeamon/change-literal-string-ref
Convert literal string ref instances to use _sr suffix
2022-09-19 12:53:17 -07:00
1inker db1f858c64
ANSI C syntax mandates declare functions without parameters with void in parameters list. K&R syntax is obsolete. (#8222) 2022-09-19 12:09:05 -07:00
A.J. Beamon 4fd64630e8 Convert literal string ref instances to use _sr suffix 2022-09-19 11:35:58 -07:00
Dennis Zhou c65ecb08d1 bindings/c: fix std++fs dependency
Beginning with clang 9, <filesystem> support is included without needing
to link anything else.

https://releases.llvm.org/9.0.0/projects/libcxx/docs/UsingLibcxx.html
2022-09-13 15:01:27 -07:00
Dennis Zhou 540b814446
Merge pull request #8158 from sfc-gh-dzhou/api-version
ApiVersion cleanups
2022-09-13 14:00:22 -07:00
A.J. Beamon e4ce779d8c
Merge pull request #8144 from sfc-gh-ajbeamon/tenant-support-for-api-tester
Tenant support for client testing framework
2022-09-13 09:40:52 -07:00
A.J. Beamon 2d68e246fb Fix a couple other merge issues 2022-09-13 08:23:26 -07:00
Dennis Zhou 4f582e3709 bindingtester: move API_VERSIONS array to global 2022-09-12 17:08:57 -07:00
Dennis Zhou 88d8242bb6 bindings: clean up ApiVersion settings
Currently ApiVersion is scattered and hardcoded across the bindings.
Let's at least clean it up so it's once per file or less and use some
redirection against FDB_API_VERSION or API_VERSION.
2022-09-12 17:08:57 -07:00
Dennis Zhou fed00e0f0c ApiTester: TMP_DIR ApiVersion gate 2022-09-12 17:08:57 -07:00
Dennis Zhou d6d69379a8 ApiVersion: tenant specific guards 2022-09-12 17:08:56 -07:00
A.J. Beamon b0f4e0b997 Fix some merge issues 2022-09-12 15:42:31 -07:00
A.J. Beamon b9c8bdeec6 Extract randomTenant() function; add back accidentally deleted line; move the new multi tenant test and fix a name error in its spec 2022-09-12 15:03:30 -07:00
A.J. Beamon 8086fc819e Some refactoring of tenants in the API tester. This mainly changes it so that tenants are stored on the ApiWorkload and any subclasses can use them. Update the setup phase to work across tenants. 2022-09-12 15:03:30 -07:00
Sagar Vemuri 00276d5700 Move the test to be multithreaded 2022-09-12 15:02:44 -07:00
Sagar Vemuri ccf405c17a Add more workload operations support 2022-09-12 15:02:44 -07:00
Sagar Vemuri 52150a5cf7 Add a new multi-tenant specific Transaction Executor 2022-09-12 15:01:39 -07:00
Sagar Vemuri ba314fbc12 Plumb tenant id from individual workload operation to transaction executor 2022-09-12 14:57:29 -07:00
Sagar Vemuri 6b17326135 Add tenant support 2022-09-12 14:40:47 -07:00
A.J. Beamon 0c91336461 Remove unnecessary special key-space relaxed option in binding tenant management 2022-09-12 14:30:28 -07:00
Jingyu Zhou 48a5fb9e4b
Merge pull request #8094 from sfc-gh-dadkins/sfc-gh-dadkins/fix-c-bindings
Add missing fdb_cpp ->fdb_c dependency.
2022-09-12 09:42:40 -07:00
Vaidas Gasiunas 81fff640bd
Testing with invalid cluster files, fixing update from changed cluster file (#8126)
* ApiTester: test with invalid cluster files

* More asserts in monitorProxies

* ApiTester: Test tampering the cluster file

* Fix update of connection string from the cluster file to use the new connection string only if it valid

* ApiTester: add linker dependency on std++fs

* upgrade_test: no-cleanup-on-error option

* ApiTester: use atomic operations to change and access the transaction handle
2022-09-10 09:23:00 +02:00
A.J. Beamon 726d5215a0
Remove API 720 guards for tenants (experimental feature) and the cluster ID special keys (#8108)
* Remove API 720 guards for tenants (experimental feature) and the cluster ID special keys (no need to guard)

* Enable the relaxed special key access in transactions that need to use special key-space APIs introduced in 7.2
2022-09-08 17:22:36 +02:00
Vaidas Gasiunas b6fb1034a9
Fix crashes on database create errors (#8115)
* ApiTester: enable access to database instances in workloads

* ApiTester: Inject database create errors

* Fix getClusterProtocol and database shared object initialization in case of database create errors

* Check deferred error in all Thread-Safe API calls returning a future

* ApiTester: disable injection of database create errors for tests with old versions
2022-09-08 09:21:51 +02:00
Jon Fu 1c2afeff8d add raw access to create tenant api 2022-09-07 09:10:34 -07:00
Vaidas Gasiunas 599e57b5f2
Use distinct base trace file names for client threads (#7922)
* Save thread indexes for client instances in MVC

* An option to inlude client thread identifiers into trace file names

* Avoid using new trace file options in client versions not supporting them

* Remove redundant include generated by IDE

* Use different base trace file names for client threads by default. Provide an option to revert to using a shared base file name

* Fixing typos in the description of trace_share_among_client_threads
2022-09-06 18:46:42 +02:00
Junhyun Shim f2e68d0566
Merge pull request #8102 from sfc-gh-jshim/fdbcli-tls-connect
Make FDBCLI check coordinator :tls suffix
2022-09-06 16:17:49 +02:00
Junhyun Shim 738a101a58 Add test for fdbcli's coordinator TLS suffix check 2022-09-05 19:27:22 +02:00
Vaidas Gasiunas f60a1e488f
Fixing TSAN error in API Tests: future callback trying to accessed destroyed scheduler (#8016)
* ApiTester: More asserts on workload status; Fixing data race in the cleanup phase

* ApiTester: comments explaining assumptions behind synchronization in TransactionContext; declaring immutable fields as const

* Add build dependency between fdb_c_shim and fdb_c
2022-09-05 13:39:10 +02:00
Dan Adkins 457c5b336a Add missing fdb_cpp ->fdb_c dependency. 2022-09-02 17:41:24 -07:00
Josh Slocum 2251ae0fc2
Added summarize blob granules c api and tests (#8076)
* Added summarize blob granules c api and tests

* addressing review comments

* format
2022-09-02 17:08:51 +02:00
Dennis Zhou 9f948531e1 blob/java: update documentation for blob api 2022-08-31 09:23:33 -07:00
Vaidas Gasiunas 9fb45f349f
Make FDB C shim library static (#8040) 2022-08-31 12:31:07 +02:00
Josh Slocum 825a58880e
Reworked multi-version client readBlobGranules to not get stuck on client version changes (#8017)
* Reworked multi-version client readBlobGranules to not get stuck on version changes

* Addressing review comments
2022-08-30 09:16:09 +02:00
Junhyun Shim 6bcfbf421e Merge remote-tracking branch 'origin/main' into authz-general-tls-and-integration-test 2022-08-26 09:20:31 +02:00
Josh Slocum cfc5ab550e
Update BlobGranules API tests (#7947)
* blob granule fixes from api tests

* Adding BlobGranuleErrors workload

* bug fixes and debugging improvements for blob granule api tests

* cleanup and refactoring of bg api tests

* better memory management for loadAndMaterialize
2022-08-23 17:47:02 -05:00
Junhyun Shim e88d5aa607 Apply new fdb.options to go binding 2022-08-23 22:50:06 +02:00
Dennis Zhou fb3ce21d19 blob/java: verifyBlobRange() java bindings 2022-08-16 13:29:23 -07:00
Dennis Zhou 3d400cff64 blob: verifyBlobRange() c api 2022-08-16 13:29:23 -07:00
Dennis Zhou 045076339d bindings/java: implement getBlobGranuleRanges() bindings 2022-08-16 13:29:23 -07:00
Dennis Zhou 1c2109dcbd blob: add rangeLimit to getBlobGranuleRanges() 2022-08-16 13:29:23 -07:00
Dennis Zhou 03d5942859 blob/java: listBlobbifiedRanges java bindings 2022-08-16 13:29:23 -07:00
Dennis Zhou e4f433a480 bindings/java: add KeyRange bindings 2022-08-16 13:29:23 -07:00
Dennis Zhou d2fd29dc52 blob/java: add (un)blobbifyRange api 2022-08-16 13:29:23 -07:00
Dennis Zhou 2d6b2e490c blob/java: make purgeBlobGranules signatures match 2022-08-16 13:29:23 -07:00