Commit Graph

20366 Commits

Author SHA1 Message Date
Markus Pilman e1ab0f5c4d
Merge pull request #7086 from sfc-gh-vgasiunas/vgasiunas-upgrade-tests-71
Upgrade Tests: Including 7.1 into the upgrade paths
2022-05-10 09:09:55 -07:00
A.J. Beamon 917b271a37
Merge pull request #6996 from sfc-gh-mpilman/features/fail-quietdatabase-before-timeout
Make QuietDatabase more human friendly
2022-05-10 08:36:25 -07:00
A.J. Beamon 2e4ca896a6
Merge pull request #7114 from bnamasivayam/fix-transaction-profiling-analyzer-tenant
Fix deserialization of tenant field in 7.1
2022-05-10 08:21:50 -07:00
Bala Namasivayam 57f5ca2522 Fix deserialization of tenant field in 7.1 2022-05-09 19:12:12 -07:00
Vishesh Yadav 1531875425 Remove unnecessary decl and includes 2022-05-09 14:54:51 -07:00
Vishesh Yadav 051bd3102d Revert bad merge change 2022-05-09 14:54:51 -07:00
Vishesh Yadav f88cbf9309 Address review comments 2022-05-09 14:54:51 -07:00
Vishesh Yadav f14baf2af8 clang-format changes 2022-05-09 14:54:51 -07:00
Vishesh Yadav 9173e2e19b Move GlobalConfig to DatabaseContext 2022-05-09 14:54:51 -07:00
Vishesh Yadav 7578d5ebc7 Create GlobalConfig object for each database instance
Currently, GlobalConfig is a singleton that means for each process there is only
one GlobalConfig object. This is bug from clients perspective as a client can
keep connections to several databases. This patch tracks GlobalConfig for each
database using an unordered_map in flowGlobals.

We discovered this bug while testing multi-version client, where the client got
stuck. This was lucky, as normally it'd just write down config to the wrong
database.
2022-05-09 14:54:51 -07:00
Sam Gwydir b1ce3fc15a WolfSSL fix for TokenSign 2022-05-09 13:57:03 -07:00
Renxuan Wang 9190fffbb6 Commit suggestion.
Co-authored-by: Jingyu Zhou <jingyuzhou@gmail.com>
2022-05-09 13:56:33 -07:00
Renxuan Wang 13b2b455b1 HTTP proxy for backup.
Only support non-TLS blobs now.
2022-05-09 13:56:33 -07:00
Hao Fu 968c2cad43
Reduce workload in CycleMultiClientIntegrationTest (#7100) 2022-05-09 11:48:45 -07:00
Vaidas Gasiunas 3bf5357562
Merge pull request #7084 from sfc-gh-vgasiunas/vgasiunas-upgrade-test-fix
Upgrade Tests: Avoid race conditions when copying library files from a local repo
2022-05-09 13:27:37 +02:00
Ata E Husain Bohra 33ae398268
REST KmsConnector implementation (#6994)
* REST KmsConnector implementation

Description
  diff-1: Address review comments.
          Add utility interface to Platform namespace to
          create and operate on tmpfile
 diff-2: Address review comments
         Link Boost::filesystem to CMake build process

Major changes includes:
1. Implement REST based KmsConnector implementation.
2. Salient features of the connector:
 2.1. Two required configuration are:
   a. Discovery KMS URLs - enable KMS discovery on bootstrap
   b. Endpoint path configuration to construct URI to fetch/refresh
      encryption keys
   c. Configuration to provide "validationTokens" to connect with
      external KMS. Patch implements file-based token validation scheme.
 2.2. On startup, RESTKmsConnector discovers KMS Urls and caches
      them in-memory. Extracts "validationTokens" based on input config.
 2.3. Expose endpoints to allow fetch/refresh of encryption keys.
 2.4. Defines JSON format to interact with external KMS - request &
      response payload format.
3. Extend Platform namespace with an interface to create and operate on
   tmp files.
4. Update Platform 'readFileBytes' and 'writeFileBytes' to leverage
   fstream supported implementation.

NOTE: KMS URLs fetched after initial discovery will be persisted using
      DynamicKnobs. It is TODO at the moment and shall be completed
      once DynamicKnobs is feature complete

Testing

Unit test to validation following:
1. Parsing on "validation tokens" logic.
2. Construction and parsing of REST JSON request and response strings.
2022-05-07 13:18:35 -07:00
Johannes Scheuermann 979c8a783c
Merge pull request #7103 from johscheuer/use-relpath
Make use of relpath instead of basepath
2022-05-07 19:02:00 +01:00
Johannes M. Scheuermann b53c9fe851 Make use of relpath instead of basepath 2022-05-07 13:18:03 +01:00
hao fu 4804bb21cf Fix comments 2022-05-06 18:01:43 -07:00
hao fu c01f680d62 add appendRaw and subTupleRawString for Tuple 2022-05-06 18:01:43 -07:00
Dan Lambright a4c3bf78eb
Merge pull request #7092 from sbodagala/main 2022-05-06 18:40:10 -04:00
Renxuan Wang 14e5fc5f24
Fix compatibility issue. (#7095)
New added field should be the last in serializer.
2022-05-06 14:53:56 -07:00
Xiaoxi Wang 0287e4f0ef
Merge pull request #6946 from sfc-gh-xwang/ppw-store
Show store type in status json and use store type for perpetual wiggle order
2022-05-06 14:44:23 -07:00
Jingyu Zhou 3caa3bc595 Rename variable names 2022-05-06 12:33:19 -07:00
Jingyu Zhou 0cce5feae3 Optimize LogPushData to avoid constructing LogSystemConfig
Which seems to be a CPU hot spot in our testing.
2022-05-06 12:33:19 -07:00
neethuhaneesha 89c2468d0d
Merge pull request #7075 from neethuhaneesha/countersLogging
Adding rocksdb throttling counters to trace event.
2022-05-06 15:29:18 -04:00
Sreenath Bodagala 154ae7559e - If getRange() is called with "latestVersion" as the read version
then both GetKeyValuesFamilyRequest and getRangeFallback should do
reads at the same version.
2022-05-06 18:10:37 +00:00
Johannes M. Scheuermann 410bcc8d5d Format sidecar script 2022-05-06 08:40:18 -07:00
hao fu 24f6276e14 Eliminate vector string during mapped key processing
There was OOM if we pre-process all the strings.
2022-05-06 08:38:27 -07:00
A.J. Beamon 68a46ca14d
Merge pull request #6852 from sfc-gh-jfu/jfu-list-tenants
Add listTenants commands to python and java bindings
2022-05-06 08:37:17 -07:00
Vaidas Gasiunas 27c0113305 Upgrade Tests: Including 7.1 into the upgrade paths 2022-05-06 15:21:57 +02:00
Vaidas Gasiunas 77b930be15 Upgrade Tests: Avoid race conditions when copying library files from a local repo 2022-05-06 11:32:28 +02:00
Neethu Haneesha Bingi 93f9ea9a5b Adding rocksdb throttling counters to trace event. 2022-05-05 17:42:26 -04:00
Aaron Molitor 19e7b13eb2
Update Badge URL in README.md 2022-05-05 16:34:58 -05:00
Hao Fu f8d3b20994
re-use same arena when construct mapped key (#7066)
* re-use same arena when construct mapped key

ConstructMappedKey seems to be a hotspot, try eliminate unnecessary
operations by
* re-using the same Tuple
* preprocess the formatTuple to get a list of Tuples and strings

* throw  mapper_bad_range_decriptor when range query is not the last element
2022-05-05 12:52:54 -07:00
Jingyu Zhou b970d507c0 Avoid creating LogPushData when PROXY_USE_RESOLVER_PRIVATE_MUTATIONS is off
To save CPU cost, especially for creating LogSystemConfig.
2022-05-05 08:45:40 -07:00
Vaidas Gasiunas 254da4d796
Merge pull request #7065 from sfc-gh-jslocum/arm_bg_fix
Fix for arm BG tests
2022-05-05 11:18:44 +02:00
Yi Wu 66f1c5c85a
Small BlobCipher and SimKmsConnector fixes and changes (#6936)
* SimKmsConnector fix domain id being unsigned
* SimKmsConnector fix returning cipher id 0 as latest key, which is invalid
* SimKmsConnector fix keys initialized as c-style strings with incorrect length and uninitialized bytes
* SimKmsConnector fix returning different keys for the same id after restart
* BlobCipher change APIs to return null reference when key not found
* BlobCipher insertCipherKey to return the inserted key
2022-05-04 14:09:31 -07:00
Hao Fu c1c316591c
Clean up constructMappedKey method (#7062)
* Clean up constructMappedKey method

* fix comments and bugs

* Fix search index

* Fix bug, if escaped is true after first round, it would skip the second round
2022-05-04 13:37:05 -07:00
Jon Fu c001d55c24 push tenant_list result as a packed tuple to stay consistent with other operations 2022-05-04 16:33:46 -04:00
Josh Slocum a7fdb42db8 Fix for arm BG tests 2022-05-04 14:54:16 -05:00
Xiaoxi Wang aa3376ab42 fix comparison typo 2022-05-04 11:45:27 -07:00
Jon Fu b5556c57f9 adjust instruction ordering in tenant_list api for binding tester 2022-05-04 13:59:19 -04:00
Jon Fu 9798e5fc83 Merge branch 'main' of github.com:apple/foundationdb into jfu-list-tenants 2022-05-04 12:49:43 -04:00
Jon Fu 96a35264b4 return tenant_list as one operation and validate with assertions 2022-05-04 12:48:48 -04:00
Dan Lambright e8adad38b0
Merge pull request #7057 from sbodagala/main
Address GRV cache and version vector incompatibility
2022-05-04 10:06:14 -04:00
Trevor Clinkenbeard 0069ce51a5
Merge pull request #7054 from sfc-gh-tclinkenbeard/remove-non-tls-support
Remove `DISABLE_TLS` CMake option
2022-05-03 22:13:07 -07:00
Xiaoxi Wang 75a90be0dd refactor Status retrieval 2022-05-03 15:26:24 -07:00
Sreenath Bodagala 2102ed1eaa - Remove "stale_version_vector" error code. 2022-05-03 21:56:11 +00:00
A.J. Beamon be0c7a8884
Merge pull request #7037 from sfc-gh-ajbeamon/fdbcli-generator-refactor
Move fdbcli command and hint generators into the CommandFactory
2022-05-03 12:52:29 -07:00