1
0
mirror of https://github.com/apple/foundationdb.git synced 2025-05-26 09:22:34 +08:00

37 Commits

Author SHA1 Message Date
Andrew Noyes
45c8a4e09d
Build fixes/improvements for sanitizers ()
* Don't build fdb c shim with ubsan

This avoids duplicate symbols when linking. It doesn't really make sense
to assemble files with -fsanitize=undefined anyway, since it won't
insert instrumentation.

* Consolidate boost_asan with boost_target
2022-07-21 12:43:38 -07:00
Ata E Husain Bohra
9a3e88df46
Fix ASAN build ()
* 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
Ata E Husain Bohra
24b2de8de8 BlobFile Encryption and compression support
Description

Testing
2022-07-14 17:04:14 -07:00
goandrei
06004e8b25 Add Intel compiler support 2022-06-26 14:02:07 +00:00
Markus Pilman
452315ee78
Build mockkms and add mockkms test () 2022-05-12 15:07:02 -07:00
Ata E Husain Bohra
33ae398268
REST KmsConnector implementation ()
* 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
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
Markus Pilman
5af465aa29 FDB compiles on Apple Sillicon 2021-11-10 20:05:38 -07:00
Xiaoge Su
38ac3481ff fixup! Fix the indentation 2021-08-05 07:32:41 -07:00
Xiaoge Su
1d8068d48f Ensure CompileBoost work on Mac
This is tested on a local Mac with most recent upgrades of xcode.
2021-08-05 07:32:41 -07:00
Xiaoge Su
1d685524db Let CMake use /opt/boost_1_72_0_clang/ boost when the compiler is clang
For boost::context, clang abi and gcc abi are not compatible. In docker
environment, we have different builds, which are located at

  gcc version:    /opt/boost_1_72_0
  clang version:  /opt/boost_1_72_0_clang

In this patch, when clang compiler is detected, the clang version of
boost::context is used.
2021-08-05 07:32:41 -07:00
Lukas Joswiak
a274c4768d Fix remaining download links 2021-05-05 15:51:00 -07:00
Chaoguang Lin
da5930171e Fix boost build on OS X 2021-03-25 11:30:22 -07:00
Andrew Noyes
b5084c634d Inform boost context of valgrind usage
This fixes the "client switching stacks?" warning that valgrind is
currently issuing.

Also fix a memory error that currently doesn't manifest because of the
way FastAllocator works (if you free a small buffer and then immediately
allocate the same size buffer in FastAllocator you always get the same
buffer back). You can see it if you set FDB_VALGRIND_PRECISE= (causes
FastAllocator to use malloc)

Also minor refactoring and cleanup of CoroFlow.actor.cpp

Also (probably) fix the other sanitizer builds, although I didn't test
that
2021-03-09 01:33:32 +00:00
Markus Pilman
a3bd2652c2 revert compile boost to old behavior for windows 2021-02-17 09:30:32 -07:00
Markus Pilman
d13e240496 use libcoroutine for Windows
The Windows CI still doesn't have boost context installed
so we use the old implementation for now
2021-02-17 09:23:41 -07:00
Markus Pilman
c2fa9b100d fix bootstrap command arguments 2021-02-08 10:30:18 -07:00
Markus Pilman
04f6a3bb00 fixed broken CompileBoost.cmake 2021-02-02 08:58:42 -07:00
Markus Pilman
54e20873b7 Don't attempt download&compile of boost on WIN32
This takes forever on Windows and we want to only
support docker anyways. Currently boost compilation
on Windows doesn't work properly and it's probably
not worth fixing this
2021-02-01 16:29:02 -07:00
Markus Pilman
5dea9caedb use BOOST_ROOT (for backwards compatability) 2021-01-28 09:25:26 -07:00
Markus Pilman
7c64e3943b compile boost for sanitizers 2021-01-27 19:13:02 -07:00
Markus Pilman
0696c2d9b4 several bug fixes 2021-01-27 18:22:48 -07:00
Markus Pilman
1f8222d1b7 install boost in docker image and make sure cmake finds it 2021-01-27 16:37:04 -07:00
Markus Pilman
2e9db80db9 fix macOS compilation 2021-01-27 11:35:50 -07:00
Markus Pilman
75102d152a don't use user-config on macOS and Win32 2021-01-27 10:44:19 -07:00
Markus Pilman
529fadbf96 Compile boost and first version of coro thread pool 2021-01-26 17:06:08 -07:00
Evan Tschannen
e1dedff7b3 Merge branch 'release-6.2' into release-6.3
# Conflicts:
#	CMakeLists.txt
#	bindings/c/test/mako/mako.c
#	cmake/ConfigureCompiler.cmake
#	documentation/sphinx/source/downloads.rst
#	fdbcli/fdbcli.actor.cpp
#	fdbclient/FileBackupAgent.actor.cpp
#	packaging/msi/FDBInstaller.wxs
#	versions.target
2020-07-24 12:10:44 -07:00
Andrew Noyes
6446b4c082 WIP 2020-07-09 22:02:43 +00:00
Markus Pilman
6e87770b27
Update cmake/CompileBoost.cmake
Co-Authored-By: Alvin Moore <36203359+AlvinMooreSr@users.noreply.github.com>
2020-03-31 16:52:55 -07:00
mpilman
c2ccbbadd8 Revert "Several fixes to make FDB compile with clang-cl"
This reverts commit 0e1f9efb85d770e03c37f8a0edbc8323816f331a.
2020-02-14 22:18:30 -08:00
Markus Pilman
0e1f9efb85 Several fixes to make FDB compile with clang-cl 2020-02-14 22:05:43 -08:00
mpilman
3a1e878a9b Upgrade to boost 1.72 2020-02-14 18:10:13 -08:00
mpilman
a31df1b0a6 Addressed comments from pull requests
- Moved some larger sections in CMakeLists.txt into separate files
- Fixed an include issue on OS X
- Fixed boost version
- Use PROJECT_VERSION by default instead of using versions.target
2019-01-02 13:32:26 -08:00
Markus Pilman
0b8af89826 Added missing dependency between boostProject and boost_target 2018-12-13 15:56:11 -08:00
Markus Pilman
f7a87e52d9 Use system boost if installed 2018-12-13 15:53:08 -08:00
Markus Pilman
df0f491c29 Some more improvements to the build and preparations for packaging 2018-12-13 15:04:13 -08:00
mpilman
f5fcb666c5 flow compiling with cmake on OS X 2018-12-13 13:58:06 -08:00