Commit Graph

350 Commits

Author SHA1 Message Date
Syed Paymaan Raza c3e7542cda Update end year in copyright header 2024-08-02 09:40:11 -07:00
Dimitris Apostolou a88114c222
Fix typos 2024-02-07 01:16:00 +02:00
Jon Fu d9e61d3d98
Fix bug in FDB MultiVersionTransaction.actor.cpp (#10576)
* throw error in tenantUpdater if result is an error

* avoid throwing error in thread future lambda
2023-07-05 15:23:38 -04:00
Josh Slocum d0c412b5e6
fixing incorrect uses of ThreadSafeAsyncVar (#10086) 2023-05-02 07:29:06 -05:00
hao fu 29161b2fda Revert matchIndex feature
It is not protocol compatible, revert it to avoid deployment issue.
Will have a new PR to have the feature if moving forward.
2023-04-17 09:39:45 -07:00
A.J. Beamon 310fc2ff4e Merge branch 'main' into transaction-debug-logging 2023-02-28 14:18:51 -08:00
A.J. Beamon 87ac857aeb Make debug logging functions pure virtual on the transaction interfaces. Rename the function on TraceEvent to be more generic. 2023-02-28 11:11:06 -08:00
A.J. Beamon 0abb33a9a5 Add the ability to print messages or log trace events based on a transaction's result 2023-02-28 09:06:54 -08:00
Vaidas Gasiunas ba726fac87 Replace hardcoded API version checks for 720 and 730 2023-02-27 16:18:01 +01: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
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
Junhyun Shim d9c126a2d9
Introduce WipedString for Arena block holding AuthZ tokens (#9381)
* Enable secure allocation mode in Arena

This mode allows zeroing out blocks holding sensitive data after use

* Introduce WipedString to all token-holding memory

Also introduce a option flag "sensitive"

* Make pointer equivalency a hard requirement for non-ASAN builds

So that we can detect when Arena/malloc/memory-wipe behavior changes
2023-02-16 10:44:32 +01:00
sfc-gh-tclinkenbeard e2dca260cd Fix typo in call to loadClientFunction 2023-02-10 20:53:26 -08:00
sfc-gh-tclinkenbeard 09ad864eb5 Merge remote-tracking branch 'origin/main' into expose-tag-throttled-duration 2023-02-08 11:25:14 -08: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
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 27e1b76b68
Merge pull request #9226 from xis19/main-bench
Extract boost/asio.hpp out from flow/network.h
2023-01-25 09:14:52 -08:00
Xiaoge Su a9ebb59372 fixup! Move the include to the head of the file
Wall time 1150.0, clang time 16044.0
2023-01-24 14:49:14 -08:00
Xiaoge Su c23ec0594a fixup! Fix the compile error 2023-01-24 14:49:05 -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
Vaidas Gasiunas 4a178fe658 get_client_status: fix formatting in comments 2023-01-16 17:36:32 +01:00
Vaidas Gasiunas 46178f4c74 get_client_report: commenting DatabaseState::getClientStatus 2023-01-16 16:50:17 +01:00
Vaidas Gasiunas d064487550 client_status_report: Change variable names 2023-01-16 15:17:37 +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 962cd6efcd get_client_status: determine the health status 2023-01-12 18:46:04 +01:00
Vaidas Gasiunas 8d734fba85 get_client_status: report database connection status 2023-01-11 17:43:35 +01:00
Jon Fu dc76e0c1e1 make code review changes 2023-01-10 16:23:54 -08:00
Vaidas Gasiunas 265c8f7f78 get_client_status: Fix compiler warning 2023-01-10 14:31:04 +01: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
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
Jon Fu afb9a0c3e4 change fetch request and add partially completed API to get ID from tenant object 2022-12-21 11:38:51 -08:00
Christian Wende 719eb62934 MultiVersionTransaction: call setTimeout in setOption only when necessary 2022-12-16 18:33:16 +01: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
Christian Wende d51d94d8d7 MultiVersionTransaction: Improve Comments 2022-12-08 10:43:09 +01:00
Christian Wende fc0f9a5ab4 MultiVersionTransaction: Add comments 2022-12-07 11:08:22 +01:00
Christian Wende 351eaed865
Merge branch 'main' into client-timout-optimizations 2022-12-05 16:56:31 +01:00
Christian Wende 2c18a276c8 MultiverstionTransaction: Remove redundant setOption calls 2022-12-05 16:14:12 +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
Vaidas Gasiunas 9826bbce15
Tracking Multi-Version Database Initialization states, failing if client is not compatible to the server (#8868)
* 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
Vaidas Gasiunas 084a78fded
Let onError always succeed on cluster version changes (#8841) 2022-11-21 20:31:32 +01:00
sfc-gh-tclinkenbeard 453f3f44c6 Merge remote-tracking branch 'origin/main' into expose-tag-throttled-duration 2022-11-21 09:17:48 -08:00
Zhe Wu 9ade12d313 Switch the knob that enables shared map to enable client using cluster id key 2022-11-19 12:46:05 -08:00
Zhe Wu 81fc8e9d2f Using a knob to guard updateClusterSharedStateMap 2022-11-19 12:46:05 -08:00