Chaoguang Lin
15523ff2e6
Extend url support for azure blob backup ( #7776 )
...
* Change to old url format azure://<endpoint>/<account>/<container>/
* Remove unnecessary dependency
* Add cmake_minimum_required for azure backup cmake file
* Add the comments for new supported urls
* Add the host name resolution logic
* format files
* refactor part of the code
* Add documentation about Azure backup testing
* Add more comments, update the doc
2022-08-09 01:37:24 -07:00
Renxuan Wang
dc9599f2e9
Get network interfaces ready for https proxy. ( #7556 )
...
* Move HTTP from fdbclient/ to fdbrpc/.
* Move md5 and libb64 to contrib/.
* Get network interfaces ready for https proxy.
* Rebase
2022-07-25 17:08:32 -07:00
Ata E Husain Bohra
9a3e88df46
Fix ASAN build ( #7629 )
...
* Fix ASAN build
Description
-diff-2: Fix Mac build issues
-diff-1: Address review comments
Patch addresses the issue where ASAN build failed after introducing
BlobGranule compression.
Testing
ASAN build
2022-07-20 14:14:46 -07:00
Andrew Noyes
989e323991
Attempt to fix windows build ( #7600 )
...
* Attempt to fix windows build
The windows build is complaining that some symbols in flow are
duplicate, which seems fair since we're currently compiling all the flow
sources and _also_ linking to flow for flowlinktest. This change makes
it so that we only link flow, and don't compile the flow source files
again.
* Remove source files from fdbclient and fdbrpc link tests
2022-07-18 08:59:03 -07:00
Ata E Husain Bohra
f6f117592d
BlobFile Encryption and compression support
...
- Limit verbose logging under DEBUG_MACRO
- Update/Add code documentation
Description
Testing
2022-07-14 17:04:14 -07:00
Ata E Husain Bohra
24b2de8de8
BlobFile Encryption and compression support
...
Description
Testing
2022-07-14 17:04:14 -07:00
Lukas Joswiak
618f8455c4
Add test executables to catch missing symbols
...
Currently, we have code in different folders like `flow/` and `fdbrpc/`
that should remain isolated. For example, `flow/` files should not
include functionality from any other modules. `fdbrpc/` files should
only be able to include functionality from itself and from `flow/`.
However, when creating a shared library, the linker doesn't complain
about undefined symbols -- this only happens when creating an
executable. Thus, for example, it is possible to forward declare an
`fdbclient` function in an `fdbrpc` file and then use it, and nothing
will break (when it should, because this is illegal).
This change adds dummy executables for a few modules (`flow`, `fdbrpc`,
`fdbclient`) that will cause a linker error if there are included
symbols which the linker can't resolve.
2022-07-06 14:49:33 -07:00
Josh Slocum
236ef93324
Cleaning up AWS creds
2022-07-01 13:30:53 -05:00
Markus Pilman
8123070c2a
move rapidxml to its own target
2022-06-29 16:10:14 -06:00
Markus Pilman
3448bc6f61
fix fdbmonitor
2022-06-27 19:11:24 -06:00
Markus Pilman
7040cb9688
fixed link errors
2022-06-27 19:00:40 -06:00
Markus Pilman
d31fb30f57
fdbclient compiling
2022-06-27 18:31:05 -06:00
Markus Pilman
de48e90276
fdbserver is now compiling
2022-06-23 18:45:26 -06:00
Markus Pilman
8af056e7b0
fdbclient now compiling
2022-06-23 18:05:36 -06:00
Markus Pilman
9d80ee0cb6
fdbrpc is compiling
2022-06-23 17:15:49 -06:00
Markus Pilman
10e478dfc3
Flow is compiling
2022-06-23 16:35:19 -06:00
Markus Pilman
d35445a868
enforce include modularization in cmake
2022-06-23 14:37:35 -06:00
Josh Slocum
b650410a48
Merge branch 'main' into blob_granule_kms
2022-06-03 09:13:49 -05:00
Hao Fu
e7fa8e9f6f
Add versionstamp support in tuple ( #7293 )
...
Tuple in C++ needs to support Versionstamp.
2022-06-02 17:44:10 -07:00
Xiaoge Su
c886a6efe4
Refactor the WriteMap.h
...
Split the interface and implementation, so adding debugging information
in the code will not trigger full rebuild.
2022-06-02 15:57:26 -07:00
Josh Slocum
567b1d35f7
Full integration with BlobConnectionProvider for blob granules
2022-06-01 12:39:51 -05:00
Ata E Husain Bohra
333aadb903
Interface to enable clients to send/receive REST requests/responses ( #6866 )
...
* Interface to enable clients to send/receive REST requests/responses
Description
Major changes:
1. Add RESTClient interface enabling client to send/receive REST HTTP
requests. Support REST APIs are: get, head, put, post, delete, trace
2. Add RESTUtil file introducing below interfaces:
2.1. RESTUrl - Extract URI information: host, service, request-parameters.
2.2. RESTConnectionPool-
Connection establishment, life-cycle management, connection-pool (TTL)
2.3. RESTClientKnobs - supports REST Knob parameter management and updates
Testing
Unit test - fdbrpc/RESTClient, fdbrpc/RESTUtils
2022-04-27 12:17:52 -07:00
Sreenath Bodagala
cb3add17b8
- Encode version vector before sending it over the wire.
...
Encoding methods used:
- Tag localities: Run length encoding
- Tag ids: Compact representation
- Commit versions: delta encoding.
If "n" is the number of entries in the version vector, with the tags
spread over "m" data centers, these techniques will reduce the number
of bytes to represent the version vector from "(11 * n)" bytes to
"(3 * m + 2 * n)" / "(3 * m + 3 * n)" bytes (depending on the max tag
id value, and ignoring some constants) in the best case.
2022-04-11 21:03:09 +00:00
Jingyu Zhou
4fd414a8ed
Merge branch 'main' into vv
...
Fix Conflicts:
fdbclient/NativeAPI.actor.cpp
2022-03-31 09:38:36 -07:00
Jingyu Zhou
cfcf0f152c
Merge branch 'main-4a085fc84' into vv
...
Fix Conflicts:
fdbclient/NativeAPI.actor.cpp
fdbserver/ClusterRecovery.actor.cpp
fdbserver/MasterInterface.h
fdbserver/masterserver.actor.cpp
flow/error_definitions.h
2022-03-30 22:28:06 -07:00
Jingyu Zhou
b34f4052cd
Merge branch 'main-f28dfc12b' into vv
...
Fix Conflicts:
fdbclient/MultiVersionTransaction.actor.cpp
fdbclient/NativeAPI.actor.cpp
fdbclient/NativeAPI.actor.h
fdbserver/storageserver.actor.cpp
2022-03-30 21:01:25 -07:00
Jingyu Zhou
00b57d4cce
Merge branch 'main-67eba5ec7' into vv
...
Fix Conflicts:
fdbclient/CommitProxyInterface.h
fdbclient/NativeAPI.actor.cpp
fdbclient/StorageServerInterface.h
fdbserver/CommitProxyServer.actor.cpp
fdbserver/storageserver.actor.cpp
2022-03-30 20:05:55 -07:00
Josh Slocum
ace2750ae3
Build AWS SDK as part of FDB, and use it to acquire blob credentials. This supports IAM role-based authentication, in addition to all existing credential types.
2022-03-24 10:09:06 -05:00
A.J. Beamon
05495908b8
Implement some tenant tests
2022-03-17 12:10:18 -07:00
He Liu
c3a68d661e
Physical Shard Move ( #6264 )
...
Physical Shard Move part I: Checkpoint creation, transfer and restore.
2022-03-15 13:03:23 -07:00
A.J. Beamon
5fa9d3e1b7
Add a tenant parameter to read and commit requests. Store a map of all tenants on commit proxy and storage servers. Add an option to require tenant mode.
2022-03-06 21:54:21 -08:00
Dan Lambright
8cc9a5af1a
Rebase 02/23
2022-02-23 14:23:28 -05:00
Vaidas Gasiunas
092b5cee4b
MVC2.0: Rollback added code
2022-02-14 13:50:42 -08:00
Sreenath Bodagala
72e06369a4
Merge remote-tracking branch 'apple-upstream/main' into version-vector-prototype
2022-02-08 17:47:57 +00:00
sfc-gh-tclinkenbeard
5b8f4d9be1
Move SimpleIni.h to fdbclient
2022-02-07 13:31:04 -08:00
A.J. Beamon
8c00ba6716
Merge pull request #6324 from sfc-gh-ajbeamon/high-contention-allocator
...
Rename high contention allocator implementation in fdbclient
2022-01-31 15:51:03 -08:00
A.J. Beamon
6affc58e97
Rename high contention allocator implementation in fdbclient
2022-01-31 14:25:38 -08:00
Markus Pilman
60cbce72c2
Merge pull request #6317 from sfc-gh-ajbeamon/high-contention-allocator
...
Added a generic high contention allocator implementation to fdbclient
2022-01-31 14:50:51 -07:00
A.J. Beamon
027fe80594
Added a generic high contention allocator implementation to fdbclient. This is an adapted version of the flow bindings HCA implementation.
2022-01-28 15:34:30 -08:00
A.J. Beamon
e3830c157f
Split the management API into two parts, one that is generic and has no native API dependency and another that does have a native API dependency.
2022-01-28 10:18:23 -08:00
Dan Lambright
9544379cdf
rebase
2022-01-20 11:12:33 -05:00
Josh Slocum
329091e14f
Merge branch 'master' into bg_bindings
2021-11-11 10:13:37 -06:00
Vaidas Gasiunas
d6a5cc8460
MVC2.0: Rollback static initialization of the local client API instance
2021-11-10 15:55:33 +01:00
Josh Slocum
a5b2f464e3
Refactored granule materialization code to be called by c client as well as internal granule management
2021-11-03 13:19:07 -05:00
Vaidas Gasiunas
276dbd4d37
MVC2.0: Refactoring - remove dependency of MVC on Native API
2021-11-03 16:30:18 +01:00
Dan Lambright
befe1993c4
fix conflict on rebase
2021-10-29 12:25:26 -04:00
Vaidas Gasiunas
40da5a80f9
Merge remote-tracking branch 'apple/master' into multi-version-client-2
2021-10-26 19:29:10 +02:00
Vaidas Gasiunas
37bc41abbb
Merge remote-tracking branch 'apple/master' into multi-version-client-2
2021-10-26 18:51:43 +02:00
Josh Slocum
0ff8ddc2b6
Merge branch 'master' into blob_full_clean
2021-10-25 13:38:48 -05:00
A.J. Beamon
e882eb33fc
Abstract the cluster file into a cluster connection record that can be backed by something other than the filesystem.
2021-10-22 11:05:18 -07:00