Commit Graph

530 Commits

Author SHA1 Message Date
Kao Makino 29976f0b41 Fix minor issues for aarch64 2021-01-25 12:10:57 -08:00
Russell Sears 85e21c1ba1 CMake support for BoringSSL 2021-01-22 22:45:51 +00:00
Andrew Noyes 58b4a9b907 Resolve conflicts 2021-01-21 20:59:44 +00:00
Markus Pilman b149069b58 link statically against jemalloc 2021-01-21 13:35:27 -07:00
Andrew Noyes 281151ff20 Merge remote-tracking branch 'upstream/release-6.2' into anoyes/merge-6.2-to-6.3
Commit conflict markers for now
2021-01-21 17:54:26 +00:00
Andrew Noyes ff7d306b09 Merge branch 'release-6.3' into anoyes/merge-6.3-to-master
Include conflict markers for now. Will resolve.
2021-01-15 18:04:09 +00:00
Andrew Noyes ddb5b0b050 Backport correctness package 2021-01-15 00:34:47 +00:00
Andrew Noyes e2e9b70206 Remove -Wno-unused-value 2021-01-06 22:09:38 +00:00
Markus Pilman dae8ea24ad Move compiler definitions into config file 2020-11-25 15:06:59 -07:00
David Youngworth d64cf8b9e3 Merge branch 6.3 into master 2020-11-17 11:22:45 -08:00
Andrew Noyes 3b1e785e5b Remove -Wno-unused-value for clang 2020-11-09 18:44:50 +00:00
Markus Pilman 864581c3b7 Merge remote-tracking branch 'origin/release-6.3' into features/versioned-packages 2020-11-05 15:54:39 -07:00
Markus Pilman 80d5b6c0c9
Merge pull request #4015 from xis19/release-6.3
Fix the CPack MacOS X package
2020-11-05 15:52:22 -07:00
Markus Pilman 703b2e276a addressed review comments 2020-11-05 15:50:24 -07:00
Daniel Smith 7d1db8a66e Restore building RocksDB by default with GCC 2020-11-05 09:11:58 -08:00
Daniel Smith 6b1bbc49e3 Restore building RocksDB by default with GCC 2020-11-05 17:07:53 +00:00
Daniel Smith 8ed7d296b4 Fix the ability to disable building RocksDB with GCC 2020-11-04 14:58:24 -08:00
Daniel Smith b1194801b1 Fix the ability to disable building RocksDB with GCC 2020-11-04 21:59:14 +00:00
Xiaoge Su 59fa74bfb3 FoundationDB MacOS client package > add symlink, move files
* In FDB 6.2, there are symlinks to backup_agent to usr/local/bin, this
  patch makes 6.3 adds these symlinks to the proper positions.
* In FDB 6.2, the libfdb_c.dylib is installed to usr/local/lib, this
  patch makes 6.3 install the dylib to this path.
2020-11-04 10:43:46 -08:00
Xiaoge Su bd3b6e3a48 FoundationDB MacOS server package > add data/logs path
The paths

    ./usr/local/foundationdb/logs
    ./usr/local/foundationdb/data

exists in 6.2 but not 6.3 for MacOS pkg server package. This patch fixes
the issue.
2020-11-04 10:43:39 -08:00
sfc-gh-tclinkenbeard cf4c8e375f Merge remote-tracking branch 'origin/release-6.3' into merge 2020-10-29 22:15:41 -07:00
Markus Pilman 9861d90a9d add service files to versioned packages
This includes systemd and initd files. This way
an admin can manually install them in the system
2020-10-28 14:14:58 -06:00
Markus Pilman f763d89dc3 add alternatives to install symlinks 2020-10-28 14:03:48 -06:00
Markus Pilman ca57738df2 remove support for el6 2020-10-28 13:10:59 -06:00
Markus Pilman b4c59e0a02 CPack refactoring and introduction of multiversion 2020-10-28 12:55:15 -06:00
Andrew Noyes e82339f40e
Merge pull request #3906 from sfc-gh-anoyes/anoyes/use-gcov
Add USE_GCOV cmake option
2020-10-27 08:27:46 -07:00
A.J. Beamon 8e512f3109
Merge pull request #3943 from sfc-gh-anoyes/anoyes/valgrind-precise
Increase valgrind precision if env var FDB_VALGRIND_PRECISE is set
2020-10-26 14:01:58 -07:00
Andrew Noyes 832199a089
Merge pull request #3948 from sfc-gh-mpilman/features/coverage-in-correctness
Features/coverage in correctness
2020-10-23 08:35:41 -07:00
Jingyu Zhou 2a29df0d60
Merge pull request #3949 from sfc-gh-mpilman/bugfixes/gperftools
Bugfixes/gperftools
2020-10-22 17:16:17 -07:00
Markus Pilman 08eaa4bc8a
Update cmake/FDBComponents.cmake 2020-10-22 17:00:59 -06:00
Markus Pilman 82fcefcb7b add coverage files of dependencies 2020-10-22 14:51:10 -06:00
Markus Pilman 5c506908ab
Update cmake/FDBComponents.cmake 2020-10-22 14:13:24 -06:00
Markus Pilman 93d7addd28 minor fix to make gperftools integration a bit prettier 2020-10-22 13:56:05 -06:00
Markus Pilman 684171938a set package files through an out variable 2020-10-22 13:53:03 -06:00
Markus Pilman 0906afbbf7 Add coverage file to correctness package 2020-10-22 13:49:53 -06:00
Markus Pilman 4b12b9fc01 Fix toml11 cmake 2020-10-22 13:27:06 -06:00
Andrew Noyes 79163947a6 Add FLOW_KNOBS->VALGRIND_PRECISE 2020-10-22 16:31:48 +00:00
Andrew Noyes 1ad779631f
Update cmake/ConfigureCompiler.cmake 2020-10-16 09:19:10 -07:00
Andrew Noyes dd23f5707f Use add_link_options 2020-10-16 14:59:17 +00:00
Andrew Noyes 52c8acf1e0 Link to how to build instrumented libc++ 2020-10-15 21:37:47 +00:00
Andrew Noyes 62d3b1c674 Use add_link_options. Also add USE_MSAN
And define the macros stacktrace.amalgamation.cpp expects
2020-10-15 17:08:41 +00:00
Andrew Noyes 68de888fb4 Add USE_GCOV cmake option
Enabling this option adds --coverage to compilation flags and dumps
coverage data (*.gcda) files in flushAndExit. Otherwise coverage data
would not be dumped in flushAndExit. Applications that exit more
normally (e.g. returning from main) don't need special changes to dump
coverage data.

This is still experimental and we don't exactly have a plan for running
this in CI e.g., so this change just adds the option.

Tested with clang11
2020-10-15 17:08:41 +00:00
Lukas Joswiak 7a356d142c Disable network test, peg doctest to version 2.4 2020-10-08 14:24:36 -07:00
Lukas Joswiak 2442466fc5 Remove pthread flag 2020-10-08 13:45:00 -07:00
Lukas Joswiak ff5eafcf42 Swap to -pthread from -lpthread
This is a (probably temporary?) fix to actually fix the compilation
issue with the added unit tests when compiling with gcc. The issue seems
to be that lpthread is getting linked before another library which
requires it, so linking fails. Linking pthread instead of lpthread fixes
the issue, but this may have an effect on other binaries in the system
as well.
2020-10-02 22:52:42 -07:00
Markus Pilman c7324761c1 pass the library path to Java tests 2020-09-25 09:38:33 -06:00
Markus Pilman 33d6c412c1 return error code correctly and cmake fixes 2020-09-24 15:58:41 -06:00
Markus Pilman 4c25214085 Add ability to run tests on fdb in ctest 2020-09-24 15:43:05 -06:00
Meng Xu a3c861b59d
Merge pull request #3777 from apple/release-6.3
Merge Release 6.3 into master
2020-09-14 10:32:50 -07:00
Daniel Smith cfbf9dbb36 Merge remote-tracking branch 'upstream/release-6.3' into rocksdb-lz4 2020-09-09 19:20:16 +00:00
Daniel Smith 1b4aead939 Enable the RocksDB engine by default with GCC 2020-09-08 16:30:23 +00:00
Russell Sears d12946e569 fix autodownload path for rocksdb 2020-09-03 16:23:05 +00:00
Daniel Smith bf5acc7296 Use lz4 2020-08-31 20:07:35 +00:00
XiaoxiWang 1c96a37a77 turn off avx instruction when enable valgrind 2020-08-14 21:14:48 +00:00
Meng Xu fe5902994c
Merge pull request #3605 from apple/release-6.3
Merge Release 6.3 to master
2020-08-05 23:37:44 -07:00
Daniel Smith c7532f3b55 Use a consistent compiler for Rocks and FDB 2020-07-29 21:41:00 +00:00
Evan Tschannen a49cb41de7 Merge branch 'release-6.3'
# Conflicts:
#	CMakeLists.txt
#	cmake/ConfigureCompiler.cmake
#	fdbserver/Knobs.cpp
#	fdbserver/StorageCache.actor.cpp
#	fdbserver/storageserver.actor.cpp
#	flow/ThreadHelper.actor.h
#	flow/serialize.h
#	tests/CMakeLists.txt
2020-07-29 00:31:55 -07:00
Andrew Noyes 1d22a21510 Revert "temporarily disable compiler warnings"
This reverts commit 29142fa382.
2020-07-28 17:19:52 +00:00
Evan Tschannen 29142fa382 temporarily disable compiler warnings 2020-07-24 12:37:15 -07:00
Evan Tschannen d3093f50bb attempt to get rid of compiler warnings 2020-07-24 12:24:42 -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
Alex Miller 878254497a Merge remote-tracking branch 'upstream/master' into toml-testspec 2020-07-19 22:18:31 -07:00
Meng Xu 8ae0d9b73d Resolve merge conflict 2020-07-13 10:21:53 -07:00
Meng Xu ef8c1060a2 Merge branch 'master' into mengxu/tmp-merge-6.3 2020-07-13 10:15:56 -07:00
Meng Xu ea48975c6e
Merge pull request #3492 from ajbeamon/merge-release-6.2-into-release-6.3
Merge release 6.2 into release 6.3
2020-07-13 10:02:13 -07:00
Alex Miller eb7ad07df0 Final cleanups. 2020-07-12 19:53:44 -07:00
Alex Miller 0a8f61b967 Make TOML mandatory. 2020-07-12 19:43:38 -07:00
Alex Miller 2841efe938 Rewrite most .txt tests into (pretty) .toml files.
This includes build/txt-to-toml.py which did the rewrites, and
can be used to rewrite other no-in-tree test spec files to toml.

I didn't touch status or restarting tests yet.  Restarting will be handled
later.  It turns out that I don't understand how status tests work.
2020-07-12 14:47:40 -07:00
Alex Miller c20fc87d6a Fix the cmake things 2020-07-12 14:47:39 -07:00
Alex Miller f08f0255cc Copy paste cmake code until it seems like it maybe downloads TOML11 2020-07-12 14:47:39 -07:00
A.J. Beamon b09dddc07e Merge branch 'release-6.2' into merge-release-6.2-into-release-6.3
# Conflicts:
#	cmake/ConfigureCompiler.cmake
#	documentation/sphinx/source/downloads.rst
#	fdbrpc/FlowTransport.actor.cpp
#	fdbrpc/fdbrpc.vcxproj
#	fdbserver/DataDistributionQueue.actor.cpp
#	fdbserver/Knobs.cpp
#	fdbserver/Knobs.h
#	fdbserver/LogSystemPeekCursor.actor.cpp
#	fdbserver/MasterProxyServer.actor.cpp
#	fdbserver/Status.actor.cpp
#	fdbserver/storageserver.actor.cpp
#	flow/flow.vcxproj
2020-07-10 15:06:34 -07:00
Andrew Noyes f077d9889b Fix osx build 2020-07-10 09:46:32 -07:00
Andrew Noyes 6446b4c082 WIP 2020-07-09 22:02:43 +00:00
Russell Sears 4ce51c4cce
Merge pull request #2768 from atn34/atn34/arena-cpp
Check for memory errors in arena-allocated memory
2020-07-06 09:43:28 -07:00
Andrew Noyes 42159ccfe0 Add -Wpessimizing-move and -Wredundant-move for clang 2020-06-22 23:45:03 +00:00
Kao Makino d02bf34b32 Handle processor specific flags properly 2020-06-22 17:40:08 +00:00
A.J. Beamon 970c6d02be Fix: correctness packages included removed/future tests 2020-06-18 15:59:08 -07:00
A.J. Beamon 76ac5dfeaf Merge branch 'release-6.3' into merge-release-6.3-into-master
# Conflicts:
#	documentation/sphinx/source/release-notes/release-notes-630.rst
2020-06-17 18:31:06 -07:00
Daniel Smith 2d1bbfd067
Fix typo 2020-06-11 14:50:48 -04:00
Daniel Smith bb1f56fdb0 Merge branch 'rocksdb-build' of github.com:Daniel-B-Smith/foundationdb into rocksdb-build 2020-06-11 15:27:42 +00:00
Daniel Smith eedf0cb7a6 Don't build shared RocksDB 2020-06-11 15:27:36 +00:00
Daniel Smith 1a1d45cab5 Fix ninja build 2020-06-10 22:37:03 +00:00
Daniel Smith 31db90963d factor out duplicate include directories 2020-06-10 21:45:40 +00:00
Daniel Smith 9b3a5f8e13
Fix typo
Co-authored-by: Markus Pilman <markus.pilman@snowflake.com>
2020-06-10 17:34:00 -04:00
Daniel Smith 49562c2de3 Merge branch 'rocksdb-build' of github.com:Daniel-B-Smith/foundationdb into rocksdb-build 2020-06-10 21:29:39 +00:00
Daniel Smith 8c00b391da Merge remote-tracking branch 'upstream/release-6.3' into rocksdb-build 2020-06-10 21:29:20 +00:00
Daniel Smith dae91bb05f Add RocksDB to FDBComponents.cmake 2020-06-10 21:07:49 +00:00
Daniel Smith b8ac6ee41e Get build to work with Ninja 2020-06-10 20:53:53 +00:00
Daniel Smith 8d2007cd82 Delete debugging message 2020-06-08 20:20:10 +00:00
Daniel Smith 8190329ab8 Disable the install step 2020-06-08 17:00:18 +00:00
Daniel Smith c54ad12072 Incremental improvements 2020-06-08 16:46:42 +00:00
Russell Sears 3278222e2c
Merge pull request #3077 from tclinken/reenable-wclass-memaccess
Fix segmentation fault and reenable -Wclass-memaccess
2020-06-08 09:42:35 -07:00
Daniel Smith c836a9f5a9 Add RocksDB to build Dockerfile and CMake to build RocksDB 2020-06-08 16:22:28 +00:00
Daniel Smith aa9d30a111 Build RocksDB as an external package 2020-06-05 22:58:45 +00:00
Russell Sears e7d72f458c
Merge pull request #3089 from sears/memcpy
Memcpy
2020-06-04 15:50:23 -07:00
Meng Xu cf1ae52751
Merge pull request #3281 from apple/release-6.3
Merge Release 6.3 into master
2020-06-03 10:55:37 -07:00
Russell Sears a99ceb9c42 Add cmake option to enable avx512 2020-06-02 15:07:00 -07:00
Russell Sears 11f658cfe2 Add cmake option to disable AVX 2020-06-02 15:07:00 -07:00
Russell Sears e77f9701f3 Settle on using rte_memcpy when we do not know the copy size at runtime, and builtin memcpy otherwise 2020-06-02 15:06:57 -07:00
Russell Sears b84fcbc828 folly_memcpy is ready for benchmarking 2020-06-02 14:51:21 -07:00
Russell Sears 678b57c0d9 port rte_memcpy to flow; add -mavx compiler flag 2020-06-02 14:51:21 -07:00
A.J. Beamon ac19ba19b8
Merge pull request #3218 from ajbeamon/support-correctness-with-valgrind
Normal correctness package can be built when USE_VALGRIND is on
2020-06-01 09:10:25 -07:00
Evan Tschannen 6fe054cd1a
Merge pull request #3253 from ajbeamon/backport-generate-debug-packages-flag
Backport the GENERATE_DEBUG_PACKAGES flag to 6.2
2020-05-29 11:34:58 -07:00
A.J. Beamon 57390bfbc5
Merge pull request #3263 from apple/release-6.2
Merge release-6.2 into release-6.3
2020-05-28 14:14:38 -07:00
A.J. Beamon 74c11b4c9a
Merge pull request #3262 from apple/release-6.2
Merge release-6.2 into release-6.3
2020-05-28 13:43:46 -07:00
A.J. Beamon b0f3754fbb Fix whitespace 2020-05-28 12:42:57 -07:00
A.J. Beamon 382666d21e Permissions were wrong on installed files. A missing DESTINATION for fdbserver caused the binary to be missing. 2020-05-28 10:33:09 -07:00
A.J. Beamon 0e7e9390d2 Backport the GENERATE_DEBUG_PACKAGES flag to 6.2 2020-05-27 19:13:09 -07:00
A.J. Beamon f9d96225ab Use add_custom_command instead of file(COPY ...) when copying external files into correctness packages 2020-05-27 11:34:15 -07:00
A.J. Beamon cb119c76d7
Don't use non-existent variables
Co-authored-by: Markus Pilman <markus.pilman@snowflake.com>
2020-05-27 10:25:13 -07:00
sfc-gh-tclinkenbeard b7160bab2d Added -Woverloaded-virtual warning for clang, and fixed accidental overloads in flow.h 2020-05-24 13:53:35 -07:00
A.J. Beamon 9656542cca Create the bin directory in the correctness staging directories 2020-05-22 10:10:34 -07:00
A.J. Beamon d128252e90 Merge release-6.3 into master 2020-05-22 09:25:32 -07:00
Daniel Smith 5d361fe532 Copy/paste rebase onto 6.3 2020-05-22 15:02:51 +00:00
A.J. Beamon 56e14a25fe Normal correctness package can be built when USE_VALGRIND is on. Correctness and valgrind now stage their files in separate directories. Add CMakeCache.txt to testing packages. 2020-05-21 13:35:54 -07:00
Andrew Noyes 1448d1b214 Don't check for c11 atomics on windows
We don't need it. We don't even compile eio.c on windows apparently.
2020-05-20 21:50:57 +00:00
Andrew Noyes 6289342908 Revert "Revert "Improve build-from-source user experience""
This reverts commit a7e2fe21a7.
2020-05-20 21:26:05 +00:00
A.J. Beamon a7e2fe21a7
Revert "Improve build-from-source user experience" 2020-05-20 12:37:51 -07:00
Andrew Noyes 55f0b13fe9 Require c11 atomics
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)

apparently is not enough, and gcc 4.8.5 e.g. passes whatever checks are
done for the above but doesn't support c11 atomics. Let's just check for
them explicitly.
2020-05-18 16:30:12 +00:00
Andrew Noyes 747243e9cb Set CMAKE_{C,CXX}_STANDARD_REQUIRED ON 2020-05-18 16:14:43 +00:00
Andrew Noyes b5ef0eab10 Enforce no static libcxx with tsan 2020-05-13 22:44:43 +00:00
Andrew Noyes cdc16a8610 Disable static linking for tsan 2020-05-13 20:54:36 +00:00
Kao Makino c2e80fe47b Linux aarch64 port 2020-05-09 22:14:03 +00:00
A.J. Beamon 0be453de0a
Merge pull request #3026 from atn34/atn34/tsan
Add USE_TSAN and fix some data races
2020-05-07 18:06:18 -07:00
Andrew Noyes 202129d5a7 Require c11 support for our c compiler 2020-05-07 23:45:19 +00:00
Andrew Noyes e772f3a3f1 Separate knob to control valgrind arena instrumentation 2020-05-07 22:07:33 +00:00
Alex Miller 378951360d
Merge pull request #3086 from alexmiller-apple/ctest-use-crash
Make ctest use --crash when running simulation tests.
2020-05-05 12:49:21 -07:00
Alex Miller f040694bf0 Make ctest use --crash when running simulation tests.
So that tests with ASSERTion failures don't cause CI to run slow and
produce massive logs.  There's also rarely a reason to continue through
assertion failures.
2020-05-05 03:11:09 -07:00
Alex Miller ce19156afd
Merge pull request #2909 from mpilman/bugfixes/cmake-includes
don't include source and binary dir
2020-05-04 14:08:25 -07:00
Markus Pilman 3d1d46b129 simplified further 2020-05-04 10:47:24 -07:00
Markus Pilman 3aebb5e028 removed unused code 2020-05-04 10:45:56 -07:00
Markus Pilman d9701f354d Merge remote-tracking branch 'origin/master' into bugfixes/deb-dir-structure 2020-05-04 10:44:25 -07:00
Alex Miller 78d644f673
Merge branch 'master' into bugfixes/cmake-includes 2020-05-04 02:11:46 -07:00
tclinken 88fa9bdb63 Unrevert "Enable -Wclass-memaccess and fix warnings" 2020-05-02 20:43:50 -07:00
Dave Cottlehuber d7fe80b612 cmake: add dtrace toggle 2020-04-30 20:11:26 +00:00
Dave Cottlehuber 99d6e9497b cmake: skip OpenJDK on FreeBSD 2020-04-30 18:11:23 +00:00
A.J. Beamon 1bcbb98656
Merge pull request #3040 from vishesh/issue-3029
cmake: Copy generated files to bindingtester bundle
2020-04-30 08:15:13 -07:00
Alex Miller a76ac2df77
Merge pull request #3030 from atn34/atn34/openssl-cmake
Don't config TLS if OpenSSL is missing OPENSSL_INIT_NO_ATEXIT
2020-04-30 00:56:22 -07:00
Evan Tschannen 519ac70a2a
Revert "Enable -Wclass-memaccess and fix warnings" 2020-04-29 15:51:29 -07:00
Andrew Noyes 27043ee92f
Update cmake/FDBComponents.cmake
Co-Authored-By: Markus Pilman <markus@pilman.ch>
2020-04-29 15:45:33 -07:00
Andrew Noyes 05614d33cc Add include(CheckSymbolExists) 2020-04-29 22:16:43 +00:00
Andrew Noyes 7659b1bff6 Use check_symbol_exists 2020-04-29 15:11:35 -07:00
Andrew Noyes c62a4aef97 Upgrade TLS symbol not found message to WARNING 2020-04-29 15:06:02 -07:00
Evan Tschannen ddb8515b89
Merge pull request #3042 from mpilman/features/filter-correctness-tests
Added possibility to include and exclude tests
2020-04-29 10:43:41 -07:00
Evan Tschannen d5f9f16f29
Merge pull request #3031 from atn34/atn34/ubuntu-latest
Support compiling and packaging on ubuntu latest
2020-04-29 10:41:27 -07:00
Evan Tschannen 6156042f67
Merge pull request #3017 from tclinken/enable-wclass-memaccess
Enable -Wclass-memaccess and fix warnings
2020-04-29 10:38:59 -07:00
Evan Tschannen 31dd5af49c
Merge pull request #3001 from mpilman/bigfixes/source-dir-cleanup
Don't create package directories in source dir
2020-04-29 10:35:00 -07:00
Vishesh Yadav fab4d698dc build: Add JAR and Go's _stacktester to bindingtester bundle 2020-04-29 00:10:18 -07:00
Vishesh Yadav 17221b3e9a cmake: Copy generated files to bindingtester bundle
Source generated by vexilographer were not copied into bindingtester. This patch
manually adds those files in `cmake/AddFdbTest.cmake`, since there doesn't seem
to be any easy way to make bindingtester script know about these generated
files (except copying these files to source directory).

FIXES #3029
2020-04-29 00:10:18 -07:00
Markus Pilman 50ad4a33fe Added possibility to include and exclude tests
Description

Testing
2020-04-28 16:19:04 +00:00