Commit Graph

2072 Commits

Author SHA1 Message Date
Vaidas Gasiunas 7f35b395d3 Define the latest Java bindings API version in one place 2023-02-27 11:53:01 +01:00
Vaidas Gasiunas 402f618180
Default transaction options for report_conflicting_keys and used_during_commit_protection_disable (#9441)
* Introducing default transaction options for report_conflicting_keys and used_during_commit_protection_disable, set the latter option always in Java bindings

* Reformatting TransactionIntegrationTest.java

* Update description of transaction_report_conflicting_keys option

* Remove dependency between mock and real database implementation in RangeQueryTest.java

* Update generated.go after changing desciption of an option

* Small improvements of the TransactionIntegrationTest code
2023-02-23 18:05:01 +01:00
Steve Atherton 23df46773d
Merge pull request #9422 from sfc-gh-satherton/client-read-options
Add transaction option definitions for read priority and read cache
2023-02-22 09:00:25 -08:00
Jingyu Zhou 9a8c346d1a
Merge pull request #9439 from sfc-gh-vgasiunas/vgasiunas-fix-java-getclientstatus-test
Fix Java GetClientStatusIntegrationTest
2023-02-22 08:58:56 -08:00
Josh Slocum bf97c3dbce
adding java tenant blob management test and fixing bug it found (#9428) 2023-02-22 10:52:26 -06:00
Vaidas Gasiunas cd0696e1cd Fix Java GetClientStatus integration test by wait on the future 2023-02-22 12:46:26 +01:00
Steve Atherton 806cef8f2d Update generated.go to reflect new options. 2023-02-22 00:32:08 -08:00
Josh Slocum 958f3b531b
Plumbing blob worker mapping through commit proxy like storage server (#9401)
* Plumbing blob worker mapping through commit proxy like storage server mapping

* review comments

* formatting
2023-02-21 13:21:44 -06:00
sfc-gh-tclinkenbeard 398079db3a Merge remote-tracking branch 'origin/main' into expose-tag-throttled-duration 2023-02-20 17:54:06 -08:00
Josh Slocum bfb3ffc509
added c and java apis for granule flush (#9412) 2023-02-20 10:28:11 -06:00
Vaidas Gasiunas 175307a590
Fix determinism in the generated bindingtester API tests (#9420)
* Reformat bindingtester api test generator with black

* Fix determinism in the generated bindingtester API tests
2023-02-20 15:58:51 +01:00
sfc-gh-tclinkenbeard 1aef6cb5f7 Merge remote-tracking branch 'origin/main' into expose-tag-throttled-duration 2023-02-17 20:41:59 -08:00
Josh Slocum 6c2fb13173
adding wait parameter to blobbify api (#9360)
* adding wait parameter to blobbify api

* formatting

* fixing comment style

* fixing bug and adding debugging

* adding blob ranges unit test

* testing both blobbify cases in cancel

* formatting

* switch to explicit blocking api instead of boolean flag

* remove comments

* format
2023-02-17 12:20:53 -06:00
Josh Slocum c26831ec04
adding version metadata to blob granule file pointers (#9392) 2023-02-16 17:11:11 -06:00
Josh Slocum eefc889389
Add tenant and encryption support to new bg file apis (#9315)
* Add tenant and encryption support to new bg file apis

* formatting

* fixing comment style for linter
2023-02-15 11:48:40 -06:00
Vaidas Gasiunas afc25035f8
Client status report API in Java and python bindings (#9366)
* get_client_status: add to Java bindings

* Add get_client_status in python binding

* Make python unit tests available as ctest

* Fix file name in the copyright header

* Fix library path name for mac

* get_client_status: Minor changes in Java & Python bindings addressing review comments

* Rename fdb_python_unit_tests to unit_tests
2023-02-15 18:00:53 +01:00
Junhyun Shim 380a5aa8e8
Merge pull request #9335 from sfc-gh-jshim/fix-mako-token-reassign-after-reset
Mako: fix token not being reassigned after every reset
2023-02-09 22:14:39 +01:00
Josh Slocum 81c984e48a
adding encryption at rest support to local cluster and api tester (#9325)
* adding encryption at rest support to local cluster and api tester

* adding encrypted variant of bg tenant test and renaming ear
2023-02-09 10:23:17 -06:00
Junhyun Shim 357cec17d8 Mako: fix createNewTransation return value
Should return token instead of tenant name
2023-02-09 16:00:48 +01:00
Junhyun Shim 499a7de718 Mako: add missing token reassignment after transaction reset
Also remove redundant calls to tx.reset() in step functions after OP_COMMIT
(The step function caller is already resetting the object after OP_COMMIT is run successfully)
2023-02-09 13:35:21 +01:00
sfc-gh-tclinkenbeard 09ad864eb5 Merge remote-tracking branch 'origin/main' into expose-tag-throttled-duration 2023-02-08 11:25:14 -08:00
Junhyun Shim d7d0b658a3
Merge pull request #9314 from sfc-gh-jshim/authz-tenant-name-to-tenant-id
Make Authz use tenant ids instead of tenant names
2023-02-08 20:13:29 +01:00
Josh Slocum ebbd221fe7
formatting files (#9322)
* formatting files

* another file
2023-02-08 13:01:24 -06:00
Josh Slocum 2f8f7515e8
adding java blob granules unit test (#9317)
* adding java blob granules unit test

* reduce sleep and organize imports
2023-02-08 12:02:14 -06:00
Junhyun Shim d32d3dd085 Make token option NOT survive transaction hard resets 2023-02-08 18:12:22 +01:00
Vaidas Gasiunas e1ec0d1ae2
Fix UBSAN build for C shim library (#9311) 2023-02-07 20:17:07 +01:00
Junhyun Shim c4703b5940 Mako: lower tenant id fetch error to debug
With MVC mode, it always fails at least once for each tenant and gets spammy
2023-02-07 18:44:43 +01:00
Junhyun Shim ff61e2990b Fix clang build error and relax authz test tx timeout 2023-02-07 09:59:39 +01:00
Junhyun Shim 180ddba4ec Fix clang format 2023-02-06 23:14:39 +01:00
Junhyun Shim be225acd2a Merge remote-tracking branch 'origin/main' into authz-tenant-name-to-tenant-id 2023-02-06 23:13:43 +01:00
Josh Slocum 73c9735c21
Bg api tenant tests (#9301)
* fixing tenant creation + setup order

* removing seenReadSuccess since verifyBlobRange is called before test start

* fixing bg_desc skip tenant check
2023-02-06 13:18:27 -06:00
Junhyun Shim 56d3438ea4 Add tenant ID fetch to mako (for token signing) 2023-02-03 23:55:55 +01:00
Junhyun Shim ce652fa284 Replace AuthZ's use of tenant names in token with tenant ID
Also, to minimize audit log loss, handle token usage audit logging at each usage.
This has a side-effect of making the token use log less bursty.
This also subtly changes the dedup cache policy.
Dedup time window used to be 5 seconds (default) since the start of batch-logging.
Now it's 5 seconds from the first usage since the closing of the previous dedup window
2023-02-03 21:46:31 +01:00
Vaidas Gasiunas 6aba6ceb8a
libfdb_c_shim: Load all symbols at once in a thread-safe way; remove unused options of implib.so (#9293) 2023-02-02 19:37:24 +01:00
Vaidas Gasiunas f8b1da8bc6
An option to initialize client tracing in setupNetwork (#9209)
* client_config_tester: use a generic mechanism to set specific network options

* trace_initialize_on_setup option to initialize client traces on network setup without local IP address

* trace_initialize_on_setup: Addressing review comments

* Restore correct formatting

* trace_initialize_on_setup: Update go bindings

* Include PID for identification into trace file names by default

* Use the same naming pattern for trace files in all configurations

* Empty commit
2023-02-02 10:00:51 +01:00
A.J. Beamon b8592c4e09
Merge pull request #9219 from sfc-gh-jfu/tenant-object-binding-tests
Add tenant getId to java/python binding tester
2023-01-31 16:22:38 -08:00
Jon Fu 56bef16a87
Update bindings/bindingtester/spec/tenantTester.md
Co-authored-by: A.J. Beamon <aj.beamon@snowflake.com>
2023-01-31 18:01:06 -05:00
Jon Fu 2ade905a60
Update bindings/bindingtester/spec/tenantTester.md
Co-authored-by: A.J. Beamon <aj.beamon@snowflake.com>
2023-01-31 18:01:00 -05:00
Jon Fu e761c1c169 update bindingtester spec 2023-01-31 13:41:39 -08:00
Jon Fu c07657c592 push string onto stack when active tenant is set 2023-01-31 12:34:37 -08:00
Marian Dvorsky dfce17f65f
Add new Blob Granule (BG) APIs for raw blob data access (#9245)
Adds a prototype of new APIs to access the Blob Granule data:

fdb_future_readbg_get_descriptions
fdb_readbg_parse_snapshot_file
fdb_readbg_parse_delta_file
fdb_result_get_bg_mutations_array

The client first calls fdb_future_readbg_get_descriptions to get a high level description of granules, reads the files and then calls fdb_readbg_parse_snapshot_file and fdb_readbg_parse_delta_file to parse the snapshot and delta files, respectively. This allows the client to get a raw access to the blob granule data, and allows the client to process them in a way they wouldn't be efficiently able to when using previous blob granule read APIs.

We expect these APIs to evolve before a release.

---------

Co-authored-by: Josh Slocum <josh.slocum@snowflake.com>
2023-01-31 15:22:04 +01:00
Jingyu Zhou b4c16e9b97
Merge pull request #9217 from xis19:binding_test
Generate bindingtester2 tarball for test
2023-01-30 20:06:16 -08:00
Jon Fu b21a18b4ba Merge branch 'main' of github.com:apple/foundationdb into tenant-object-binding-tests 2023-01-27 11:19:54 -08:00
Jon Fu 27f000bc45 patch to fix some existing bindingtester issues 2023-01-27 10:41:47 -08:00
Josh Slocum 30ef4f5d27 changing randomKeyRange to randomNonEmptyKeyRange 2023-01-27 10:58:39 -06:00
Josh Slocum 3b153635e9 add randomKeyRange to api tester with bug fix, and refactor TesterBlobGranuleCorrectnessWorkload to use t 2023-01-26 18:23:25 -06:00
Jon Fu 4c2a09aab5 add arg and return type to the c_api for impl.py 2023-01-26 14:51:08 -08:00
Lukas Joswiak 840faa0ef4 Add parameter for test_causal_read_risky database option 2023-01-25 16:02:27 -08:00
Jon Fu 6493da877a add method to return idfuture 2023-01-25 12:45:35 -08:00
Jon Fu c2c582202a Merge branch 'main' of github.com:apple/foundationdb into tenant-object-binding-tests 2023-01-24 09:10:06 -08:00
Xiaoge Su 9a0fd7f999 Generate bindingtester2 tarball for test
bindingtester2-${FDB_VERSION} is generated in packages/ directory.
It is possible to run the test by

j start --tarball bindingtester2-7.3.0.tar.gz --max-runs 1000

and submit the test to joshua system. Joshua will run the tests in
parallel and tests will not impact each other. Yet it will take long
time for each run.
2023-01-23 17:56:36 -08:00
Jon Fu 4ce1656b17 Merge branch 'main' of github.com:apple/foundationdb into tenant-obj-fetch-id 2023-01-23 13:29:27 -08:00
Jingyu Zhou 900ed4f575
Merge pull request #9189 from sfc-gh-cwende/mako-cwende-add-cpu-usage-stats
Mako: Add CPU Usage statistics
2023-01-23 09:27:45 -08:00
Christian Wende 0e4224851c mako: improve arg validation comments (worker ~> workflow) 2023-01-23 15:42:32 +01:00
Christian Wende a9ef2d1c99 mako: do not include unnecessary headers 2023-01-23 15:26:13 +01:00
Christian Wende 8fb67d28ce mako: Improve location of CPU utilization measurements and improve how multiple measurements are accumulated 2023-01-23 15:13:48 +01:00
Jon Fu 0210bad4ae add back java optimization 2023-01-20 08:58:16 -08:00
Christian Wende 39528b62ea mako: Rename WorkerStatistics ~> WorkflowStatistsics 2023-01-20 16:36:21 +01:00
Christian Wende e2913b5b3d mako: add comments 2023-01-20 12:27:03 +01:00
Christian Wende 7d1e8e10f0 mako: add cpu usage statistics, including some refactoring of statistics accumulation 2023-01-20 11:14:36 +01:00
Jon Fu d5c8786fdf revert changes that could lead to race condition 2023-01-19 15:23:40 -08:00
Jon Fu 2882f86aac Merge branch 'main' of github.com:apple/foundationdb into tenant-obj-fetch-id 2023-01-19 14:42:29 -08:00
Jon Fu fb4daf936d possible fix for memory errors 2023-01-19 14:42:11 -08:00
Christian Wende df0999bee2 mako: improve argument validation 2023-01-18 20:17:50 +01:00
Junhyun Shim e3c3922cc5
Merge pull request #9114 from sfc-gh-vgasiunas/vgasiunas-client-status-report
API for Client Status Report
2023-01-17 11:49:34 +00:00
Vaidas Gasiunas 4b9db3309f client config tests: Improve readability of ClientConfigTest interface 2023-01-16 17:38:47 +01:00
Vaidas Gasiunas e152fb28af client_status_report: report cluster id from the DatabaseContext only 2023-01-16 14:57:46 +01:00
Vaidas Gasiunas 735bfbc05f client_config_tester: Add a comment describing its contract 2023-01-16 13:03:28 +01:00
Vaidas Gasiunas 64d81a8c95 client_config_tester: Adding missing break in switch case 2023-01-16 12:28:35 +01:00
Jon Fu 4797716937 remove final from tenant id java declaration 2023-01-13 11:25:55 -08:00
Jon Fu 34b7cead4c explicitly delref on tenant and optimize storing id in java/python 2023-01-13 11:13:45 -08:00
Jon Fu 91474d7f1e Merge branch 'main' of github.com:apple/foundationdb into tenant-obj-fetch-id 2023-01-13 10:33:21 -08:00
Jon Fu ed12b6a178 change from virtual function for databaseops to tenant-specific method 2023-01-13 10:13:11 -08:00
Junhyun Shim 1409cd44d9 Merge remote-tracking branch 'origin/main' into mako-fix-blobbify-tenant 2023-01-13 00:34:17 +01:00
Jon Fu 0238b06e5f add to java and python stack tester 2023-01-12 13:54:52 -08:00
Junhyun Shim 53b16fef84 Fix tenant delete loop 2023-01-12 21:09:39 +01:00
Jon Fu ddbf742fce change from virtual function for databaseops to tenant-specific method 2023-01-12 11:58:04 -08:00
Jon Fu 181f208c29 try adding to python and java binding tests 2023-01-12 11:49:17 -08:00
Junhyun Shim a8da0d8d40 Merge remote-tracking branch 'origin/main' into mako-fix-blobbify-tenant 2023-01-12 19:11:36 +01:00
A.J. Beamon 811593e093 Merge branch 'main' into add-tenant-lookup-interface 2023-01-12 09:56:17 -08:00
Junhyun Shim 09a159d140 Clean up log messages 2023-01-12 18:48:59 +01:00
Vaidas Gasiunas 962cd6efcd get_client_status: determine the health status 2023-01-12 18:46:04 +01:00
Jingyu Zhou aeb0437411
Merge pull request #9069 from iClaus21/fdb-go-freebsd-binding
Add Golang binding for FreeBSD
2023-01-12 08:47:29 -08:00
Vaidas Gasiunas 205466e04c get_client_report: report storage servers 2023-01-12 15:15:07 +01:00
Junhyun Shim e3a1e8dd24 Fix retry loop in blobbifyRange on tenants
Also fix missing cluster_file in BatchDeleteTenantRequest::serialize()
2023-01-12 02:01:40 +01:00
Jon Fu 15b70ec5ac fix java errors 2023-01-11 11:43:59 -08:00
Jon Fu cb6ad92ed6 initial commit to add python and Java binding support 2023-01-10 14:19:03 -08:00
Vaidas Gasiunas 6162fc333c get_client_status: Provide more MVC database status info, test client versions 2023-01-09 19:36:39 +01:00
Jon Fu a22d159e47 Merge branch 'main' of github.com:apple/foundationdb into tenant-obj-fetch-id 2023-01-09 09:47:25 -08:00
Vaidas Gasiunas f14f2ccc0d Introducing API function get_client_status; Exposing and testing database initialization state 2023-01-09 16:09:58 +01:00
A.J. Beamon f999623bb1 Add a tenant lookup interface and use it when starting transactions 2023-01-06 15:51:12 -08:00
A.J. Beamon a5f882c0ac Merge branch 'main' into expand-optional-erroror-map 2023-01-06 14:29:50 -08:00
Ankita Kejriwal 72121204d6
Merge pull request #9057 from sfc-gh-anoyes/anoyes/idempotency-docs
Add initial documentation for automatic idempotency
2023-01-06 13:43:09 -08:00
sfc-gh-tclinkenbeard 0f14647bbf Merge remote-tracking branch 'origin/main' into expose-tag-throttled-duration 2023-01-05 08:10:49 -08:00
A.J. Beamon 62604bcc28 Merge branch 'main' into expand-optional-erroror-map 2023-01-04 15:46:23 -08:00
Jon Fu 9ae77c7f03 add C API for reading tenant ID 2023-01-03 09:57:42 -08:00
Peter Evdokimov 703cb551c7 Add Golang binding for FreeBSD 2022-12-20 16:51:27 +03:00
Andrew Noyes 63f71cbab1 Update generated.go 2022-12-19 12:29:57 -08:00
Junhyun Shim 77e523ce91 Merge remote-tracking branch 'origin/main' into mako-authz-token-generation 2022-12-15 17:02:19 -08:00
A.J. Beamon 985bbe66d4 Add support for flatMap in optional and erroror. Allow calling map with a lambda without specifying the return type template parameter. 2022-12-15 15:32:02 -08:00