Josh Slocum
b7b2ad0a6f
Handling timeout and transaction changes for ThreadResults properly
2021-12-10 12:47:53 -06:00
Josh Slocum
9cb6fb5114
fixing unrelated code formatting
2021-12-01 17:20:11 -06:00
Josh Slocum
c11b8a3625
Improved comments
2021-12-01 17:04:55 -06:00
Josh Slocum
a82845af43
Merge branch 'master' into bg_bindings
2021-12-01 16:55:28 -06:00
Josh Slocum
7f4fcc8c2c
Added FDBResult and made readBlobGranules use it
2021-12-01 16:22:05 -06:00
A.J. Beamon
264c75b9a6
Add some extra client logging details:
...
1. Add a trace event when a database is created and move the cluster file / connection string from ClientStart to the new trace event
2. Add a detail for the path to the image being loaded
3. Add a detail for whether a client library is primary or not
4. Set a thread name for each external client thread that includes the release version
2021-11-29 09:57:10 -08:00
Josh Slocum
329091e14f
Merge branch 'master' into bg_bindings
2021-11-11 10:13:37 -06:00
Josh Slocum
b8ac4213a1
Switched BG APIs to transaction instead of database
2021-11-11 08:59:06 -06:00
Tao Lin
fdb3b72e35
Introduce GetRangeAndFlatMap to push computations down to FDB
...
Re-introduce #5609
2021-11-09 13:52:28 -08:00
Tao Lin
586cc3b102
Revert "Introduce GetRangeAndFlatMap to push computations down to FDB"
2021-11-04 08:46:56 -07:00
Tao Lin
6c98e35893
Rename Hop to FlatMap
2021-11-03 13:32:01 -07:00
Tao Lin
0853661d13
Introduce getRangeAndHop to push computations down to FDB
2021-11-03 13:21:16 -07:00
Josh Slocum
5b2617a524
Added local granule file reading to mako
2021-11-03 09:33:30 -05:00
Josh Slocum
d6a31078fe
C API for blob granules
2021-11-02 10:01:23 -05:00
A.J. Beamon
d51b93390d
Proper handling of reset and transaction destruction. Add some comments.
2021-09-17 18:10:56 -06:00
A.J. Beamon
b5fbd07155
Transactions would not honor the transaction timeout option if the MVC did not have an active database.
2021-09-17 18:10:56 -06:00
Chaoguang Lin
af5643c998
Fix the issue in CheckStatus where it stuck as we cannot talk to any of the coordinators
2021-09-08 10:05:13 -07:00
A.J. Beamon
0e9dabcabb
Remove mutex that was only needed for a minor optimization.
2021-07-23 10:20:50 -07:00
A.J. Beamon
11b803fe0b
Handle database creation errors
2021-07-22 13:22:04 -07:00
A.J. Beamon
39af41ebb7
Closing a multi-version database causes us to cancel the protocol version monitor, invalidating its future. If a version change is triggered after that happens, then an assertion will be triggered that expects the future to be valid.
...
This changes the behavior so that closing the database prevents us from doing any work to update the version.
2021-07-19 11:01:09 -07:00
Andrew Noyes
7f35a66383
Fix the types of dl functions in the multi-version client
...
This fixes undefined behavior of invoking a function pointer with the
wrong type.
2021-06-23 10:38:04 -07:00
sfc-gh-tclinkenbeard
5c2d7b6080
Create RangeResult type alias
2021-05-03 13:14:16 -07:00
A.J. Beamon
eaf1e0f64e
Be more defensive with cancellation by not capturing the this pointer in lambdas, instead capturing a full Reference.
2021-04-30 11:11:02 -07:00
A.J. Beamon
cb3d2bfec7
Add cancellation of the protocol monitor when the database is destroyed. Avoid using any state when cancelled. Fix race between setting up the protocol version monitor and destroying the database.
2021-04-30 10:35:44 -07:00
A.J. Beamon
f61f13a0ba
Explicitly cancel thread futures for the protocol version monitors in MVC
2021-04-29 22:02:38 -07:00
A.J. Beamon
16dfb2b2f2
Keep connections older than 6.2 open indefinitely to avoid weird bugs around quickly closing the database.
2021-04-27 15:00:56 -07:00
A.J. Beamon
823873a9aa
Address review comments:
...
Use nullptr instead of NULL
Use const& for a parameter
Add some comments
2021-04-26 14:39:27 -07:00
A.J. Beamon
a794fca932
Support 5.0 (and earlier) client versions by adding GRV probing for old versions. Update the C bindings implementation of get_server_protocol to convert the ProtocolVersion object into a uint64_t. Rename a misleading protocol version alias.
2021-04-23 15:00:21 -07:00
A.J. Beamon
f485d7fa5e
Fix comment typo
2021-04-21 12:25:03 -07:00
A.J. Beamon
9e89159efb
Don't use DLDatabase objects before they are ready (applicable for API versions < 610). Fix reference counting of DLDatabase objects to avoid leaking the underlying database handle. Update release notes to note that clients older than 6.2 still create extra connections.
2021-04-20 16:21:01 -07:00
A.J. Beamon
b2d6930103
The multi-version client monitors the cluster's protocol version and only activates the client library that can connect.
2021-04-15 11:45:14 -07:00
A.J. Beamon
3ed0d614d2
Move fdb_get_server_protocol to be a function on the database object. Add an argument for expected_version that can be used to signal that the function shouldn't return unless the protocol version is different.
2021-04-14 12:50:30 -07:00
Nim Wijetunga
f0d79b3d86
Inital implementation of network busyness
2021-03-15 23:23:56 +00:00
FDB Formatster
df90cc89de
apply clang-format to *.c, *.cpp, *.h, *.hpp files
2021-03-10 10:18:07 -08:00
Vishesh Yadav
2bb4f2e59f
Merge branch 'release-6.3-pre-format' into master-format
...
This merges release-6.3 branch right before it was fully formatted.
There were quite a few conflicts that are resolved here. CoroFlow had
a check for OOM errors introduced in 6.3, but didn't seem applicable in
the new implmentation which seems to use boost.
2021-03-10 09:37:41 -08:00
Markus Pilman
37d9e975e9
Fix multiple compiler warnings
2021-03-03 10:18:03 -07:00
negoyal
e9b7e22e02
Merge branch 'rel-6.3'
2021-02-22 08:47:22 -08:00
Russell Sears
bf3e6db9e9
Fix build issues; move to new assert style
2021-02-12 23:52:55 +00:00
Russell Sears
36915e848a
clang format
2021-02-12 22:42:57 +00:00
Russell Sears
4938aee113
Address PR comments, remove some old cruft + comments
2021-02-11 01:27:57 +00:00
Russell Sears
e4f6a39e48
change client thread count from knob to fdb.option (to be more consistent with other multiversion client options)
2021-02-10 16:29:27 +00:00
Chaoguang Lin
90686a95a0
format code
2021-02-08 22:17:16 -08:00
Chaoguang Lin
61082e70e1
format code, add comments
2021-02-08 19:11:30 -08:00
Chaoguang Lin
97925de9d4
Update fdb_database_create_snapshot to take a UID as input
2021-02-05 14:14:38 -08:00
Russell Sears
1032a5d005
WIP
2021-02-03 21:45:35 +00:00
Vishesh Yadav
f50206aabb
fdbclient: Copy external libraries MULTI_VERSION_CLIENT_THREADS_PER_VERSION times
...
To support multiple threads in for each multi-version clients, we make a copy of
external library for each thread in `/tmp/` directory and load that.
(cherry-picked by Rusty; there were some conflicts, so this has commented out cruft in it)
2021-02-03 20:47:15 +00:00
Russell Sears
87aeafb294
partial refactor to support multiple threads per client library
2021-02-03 19:58:37 +00:00
Chaoguang Lin
cef53b2b40
clang-format
2021-01-26 12:06:40 -08:00
Chaoguang Lin
5f912f0deb
Add snapshot c function
2021-01-26 11:53:35 -08:00
Andrew Noyes
564c70acb4
Merge branch 'master' into anoyes/modernize-use-override
2021-01-25 18:26:18 -08:00