Commit Graph

603 Commits

Author SHA1 Message Date
Junhyun Shim 02b2f97e99
mTLS test helpers (#7218)
* Add TLS option to (local_cluster|tmp_cluster).py

* Add TLS-enabled C API test
2022-05-23 12:47:51 +02:00
Jingyu Zhou b5ce29ee5f
Merge pull request #7143 from sfc-gh-anoyes/anoyes/use-libcoro-valgrind
Use libcoro for valgrind
2022-05-16 13:17:48 -07:00
Markus Pilman 452315ee78
Build mockkms and add mockkms test (#7153) 2022-05-12 15:07:02 -07:00
Andrew Noyes 39e085938c Use libcoro for valgrind 2022-05-12 09:47:51 -07: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
sfc-gh-tclinkenbeard 8ea68154bf Remove WITH_TLS CMake variable 2022-05-02 22:45:00 -07:00
sfc-gh-tclinkenbeard ea00ae3a25 Remove DISABLE_TLS CMake argument 2022-05-02 22:31:46 -07:00
Sam Gwydir 5403a29ecb
add WolfSSL support (#6682)
remove extraneous include
2022-04-28 16:53:38 -07:00
Andrew Noyes 9f8e2a4517
Test compiling an fdb_c app in pkg_tester (#6940)
* Use execstack to test executable stack permissions

The output of readelf wasn't stable

* Tee output to stdout in pkg_tester "run" function

* Test compiling an app that includes fdb_c.h

Featuring both cmake and pkg_tester, since we intend to support those in
our packages.

* Fix packaging bug

The libdir in the pkg-config file in the packages was wrong
2022-04-26 11:54:52 -07:00
Josh Slocum 3c036300cc Addressing review comments 2022-04-20 14:34:19 -05:00
Josh Slocum 8fa25aa013 Adding blob granule client test target and local cluster setup 2022-04-20 10:15:43 -05:00
Steven Li 01234720e7 update prerelease package format (#6733) 2022-04-08 18:15:40 -05:00
Aaron Molitor 16e96e9103 attempt to fix rpm dependency issue for release candidate build 2022-04-08 18:15:40 -05:00
Jingyu Zhou 284dbdc473 Fix cmake USE_GPERFTOOLS compiling error
Otherwise, I got weird errors like pthread library is not found when checking
compilers.
2022-04-08 13:56:06 -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
Andrew Noyes 68c03a7e32
Jemalloc integration fixes (#6626)
* Set default for USE_JEMALLOC initially in ConfigureCompiler

Instead of trying to change the value later on. This fixes the valgrind
build, which was previously incorrectly getting jemalloc involved.

* Check aligned_alloc result for null

And OOM if so - don't assert

* Check that we can allocate magazines with no internal fragmentation

We may want to do this so that the jemalloc heap profiler has some
knowledge of FastAlloc

* Populate TestFile field for noSim tests in TestHarness

* Remove handling for nonexistent "ActualRun"
2022-03-17 15:17:27 -07:00
Andrew Noyes ccc11cbdb2
Apply jemalloc fix, and always build jemalloc (#6610)
* Apply jemalloc fix, and always build jemalloc

See https://github.com/jemalloc/jemalloc/pull/1924

* Move USE_JEMALLOC to flow/config.h

* Add unit test to validate fix
2022-03-16 13:19:28 -07:00
Vaidas Gasiunas f4bb82ad56
Merge pull request #6433 from sfc-gh-vgasiunas/vgasiunas-system-tester
A framework for C API tests
2022-03-16 10:49:52 +01:00
Steve Atherton 415d1958d4
Build configuration fix: USE_JEMALLOC=OFF had no effect, did not disable using jemalloc on platforms that support it. (#6590) 2022-03-14 11:00:34 -07:00
Vaidas Gasiunas bb7d26a6eb Merge remote-tracking branch 'apple/main' into vgasiunas-system-tester 2022-03-10 19:13:54 +01:00
Yi Wu e6950abae6 Use jemalloc for SQLite/Redwood page cache allocation 2022-03-09 11:48:08 -08:00
Vaidas Gasiunas ef96231db0 Merge remote-tracking branch 'apple/main' into vgasiunas-system-tester 2022-03-04 16:25:18 +01:00
Vaidas Gasiunas b8386f15d6 ApiTester: configuration for ApiCorrectness workload; Better error handing and reporting 2022-03-04 16:22:49 +01:00
zhenfeng yang 847cff72b7
Add a target to generate profile (#6396)
add a target to generate profile
2022-02-28 17:00:30 -06:00
Andrew Noyes 24f37aceb7 Avoid conflict between versioned client/server rpms
Building locally this seems to cause a conflict between the versioned
client and server rpms. Not sure why this doesn't always show up.
2022-02-28 15:24:29 -06:00
vikasgupta8 595f50ce26 indentation corrected 2022-02-15 13:03:12 +00:00
root 15159a5deb resolved format error 2022-02-11 09:57:24 +00:00
vikasgupta8 edfff755bf added support for ppc64le 2022-02-11 06:17:15 +00:00
Kao Makino 886ee280d8
Merge pull request #6297 from sfc-gh-zyang/zyang/fdo
support Profile Guided Optimization
2022-02-09 16:03:41 -08:00
Andrew Noyes 863449c983
Allow access to transaction options through a go `ReadTransaction` interface (#6318)
* Run go unit tests in ctest

* Remove unnecessary cgo directives

* go: Allow access to TransactionOptions from ReadTransaction

Closes #6265

* Try go get instead of go install

My understanding is that this should download dependencies (e.g. xerrors)

* Add -d flag to match go command for building libraries

* Avoid concurrent calls to `go get`
2022-02-09 14:41:21 -08:00
Aaron Molitor 96dd86ebf8 update RocskDB and Boost
add Finduring, and include into fdbserver
add BOOST asio/uring settings to fdbserver compile
move portable rocks, liburing up to be configurable at build time.
2022-02-09 10:48:18 -06:00
Mohamed Oulmahdi 23fa27cfde
Merge pull request #6333 from Doxense/add-missing-tests
Add missing tests
2022-02-09 01:03:08 +01:00
sfc-gh-zyang 0968935665 rename params and add disallow users to set both of PROFILE_INSTR_GENERATE and PROFILE_INSTR_USE 2022-02-07 12:34:27 -08:00
sfc-gh-zyang ddb05b6e8e fix typo during merge 2022-02-04 17:03:15 -08:00
sfc-gh-zyang 93f22ea381 Merge https://github.com/sfc-gh-zyang/foundationdb into zyang/fdo 2022-02-04 16:59:16 -08:00
sfc-gh-zyang 2ec6633ef3 support fdo 2022-02-04 16:51:45 -08:00
sfc-gh-zyang 58034d2554 support fdo 2022-02-04 16:46:17 -08:00
Andrew Noyes 84d26c7c13 Don't run downgrade tests for valgrind. Closes #6322 2022-02-03 16:53:56 -08:00
Mohamed Oulmahdi d50ec42c87 Enhance the detection of missing test files 2022-02-03 22:26:10 +01:00
sfc-gh-zyang a263191387 support instrumented build 2022-01-26 16:52:47 -08:00
Andrew Noyes 03b4a3a74a Add TRACE_PC_GUARD_INSTRUMENTATION_LIB 2022-01-20 13:24:23 -08:00
Mohamed Oulmahdi 0ca3d96506 Reintroduce HAVE_OPENSSL parameter 2022-01-17 19:10:20 +01:00
Mohamed Oulmahdi b0f4c65388 Enable TLS Support for Windows (main) 2022-01-17 09:46:33 +01:00
Markus Pilman 8b77c8d79a Remove unused OpenSSL code 2022-01-11 10:34:37 -08:00
Andrew Noyes a3f37df94a
Merge pull request #6175 from sfc-gh-anoyes/anoyes/delete-non-virtual-destructor
Enable -Wdelete-non-virtual-dtor for clang build
2022-01-05 15:41:59 -08:00
Andrew Noyes 38a97a2e8f Increase default timeout to 5 minutes for add_fdbclient_test 2021-12-22 15:23:05 -08:00
Andrew Noyes fd33d31ff5 Enable -Wdelete-non-virtual-dtor for clang build
We had been disabling -Wdelete-non-virtual-dtor, because this seems to be done intentionally in the generated code of the actor compiler. I spent some time trying to rewrite it in a way that doesn't literally delete/destroy through a pointer to a base class without a virtual destructor, but I was unable to come up with something that passes correctness. My best guess is that we do this so that we can destroy actor state classes, call callbacks registered on the actor SAV, and then destroy the SAV.

Anyway now we'll detect new usages of deleting through a pointer to a base class without a virtual destructor.
2021-12-20 16:19:31 -08:00
Aaron Molitor 95d33cb363 copy packaging/docker to PROJECT_BINARY_DIR (undoing part of #5994),
fetch commit_sha from source_code_directory (don't assume we're in the source tree anymore),
allow custom tag (if a parameter is passed in as $1)
update README.md
2021-12-15 15:23:17 -08:00
A.J. Beamon 496000477c
Merge pull request #6144 from sfc-gh-ajbeamon/unify-flags
Convert command line arguments to use hyphens rather than underscores
2021-12-15 10:47:32 -08:00
zhenfeng yang 76974605c1
support lto (#6140)
* support lto

* use relative path

* add another variable to control lto

* remove unnecessary code
2021-12-14 15:45:07 -08:00