175 Commits

Author SHA1 Message Date
Markus Pilman
4ac236eeba fdbcli compiling 2022-06-27 19:20:18 -06:00
Markus Pilman
41181cda26 fdbserver compiling (but linking still fails) 2022-06-27 18:54:58 -06:00
Markus Pilman
03d913a1de Flow compiling 2022-06-27 17:05:55 -06:00
Ata E Husain Bohra
9396b691b7
Generate GNU compatible build-id for mockkms golang binary (#7389)
* Generate GNU compatible build-id for mockkms golang binary

Description

 diff-1: Fix compilation issue

Generate GNU compatible build-id for mockkms golang binary
Leverage "cgo" to generate build-id

Testing

Debian package build, verified the GNU build-id
2022-06-15 10:43:46 -07:00
Junhyun Shim
3e79735b2f
Authz JWT support (#7279)
* Add JWT support to TokenSign

* Encapsulate OpenSSL public/private key type

Type-safe passing around of keys without having to DER/PEM-serialize
(OpenSSL doesn't have distinct types for public and private key)

* Apply Clang format

* Add verify benchmark for JWT and FlatBuffers token

* Unit test base64url::{encode, decode}

* Make all payload fields optional

Let user code validate non-signature fields

* Make all payload fields optional

Completely defer field check to user code

* Move rapidjson from fdbclient to contrib

* Make fdbrpc's rapidjson linkage private

Currently only sources include them.

* Modify rapidjson path in apiversioner.py

* Algorithm::Unknown > Algorithm::UNKNOWN
2022-06-02 13:22:50 +02:00
Markus Pilman
452315ee78
Build mockkms and add mockkms test (#7153) 2022-05-12 15:07:02 -07:00
Andrew Noyes
17140a2645 Always run valgrind on the binary under test (if valgrind is enabled) 2022-05-10 14:46:22 -07:00
Bala Namasivayam
57f5ca2522 Fix deserialization of tenant field in 7.1 2022-05-09 19:12:12 -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
Aaron Molitor
c440365779 update version to 7.2.0 -- pr comment protocol version 2022-04-11 23:23:27 -05:00
Aaron Molitor
8db8545db2 update version to 7.2.0 -- protocol version changes 2022-04-11 23:23:27 -05:00
A.J. Beamon
ca653c77ee
Tenant binding tester support (#6642)
* Add binding tester support for tenants

* Configure tenant_mode=optional_experimental in the binding tester

* Use the special key-space to delete tenants in between binding tester runs.

* Separate tenant tester spec into its own file.
2022-03-23 13:57:45 -07:00
Josh Slocum
f27475e2f4 Merge branch 'main' into blob_integration 2022-03-22 11:41:58 -05:00
Josh Slocum
37e7c80f26 Merge branch 'main' into blob_integration 2022-03-17 18:45:42 -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
A.J. Beamon
00277140ec Non-simulated test harness runs don't check the unseed. 2022-03-17 11:09:14 -07:00
Steve Atherton
59762fc784
Merge pull request #6423 from sfc-gh-satherton/redwood-bug-fixes-and-memory-leak
Redwood memory usage and small memory leak fixes
2022-03-15 16:52:28 -07:00
A.J. Beamon
ecccfd0868 Add cache invalidation to tenant cache. Send tenant ID along with tenant name in requests to validate that the tenant hasn't changed. Fix a few bugs. 2022-03-15 09:23:30 -07:00
Josh Slocum
e71b3533f9 Merge branch 'main' into blob_integration 2022-03-09 08:59:56 -06:00
Andrew Noyes
a827e1cbd5 Flush all output streams in flushAndExit
Also detect reading past the end of the infile for debug_determinism tracing
2022-03-07 13:25:52 -08:00
Jingyu Zhou
89648769d0 Fix clang format and cmake files for fmt 8.1.1 2022-03-04 15:52:06 -08:00
Jingyu Zhou
212e5147b9 Update fmt from 8.0.1 to 8.1.1
8.1.1 provides fmt::fprintf().
2022-03-04 15:52:06 -08: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
2e8bce04c6 Remove brittle fdbcli help text snapshot test
This seems to be more trouble than value so far.
2022-02-28 15:24:29 -06:00
Andrew Noyes
d559caefea Use centos:7 for pkg_tester
yum update with just `centos` seems to have problems
2022-02-28 15:24:29 -06:00
Steve Atherton
6f16702042 Merge branch 'main' of https://github.com/apple/foundationdb into redwood-bug-fixes-and-memory-leak 2022-02-26 18:00:18 -08:00
Andrew Noyes
7a9217a392
Add contrib/debug_determinism (#6389)
* Add contrib/debug_determinism

Add an instrumentation-based technique for debugging unseen mismatches. Also guard a few existing sources of nondeterminism that don't affect unseen with the DEBUG_DETERMINISM macro.

Also change the simulated run loop to not run as the only task inside the real run loop, since that was a source of nondeterminism.

Also fix nondeterminism from calling timer_int

* Add StorageMetadataType::currentTime

Basically a deterministic-in-simulation version of timer_int that we can
use instead of timer_int for StorageMetadataType::createdTime
2022-02-25 12:54:31 -08:00
Steve Atherton
f995b4a502 Merge branch 'main' of https://github.com/apple/foundationdb into redwood-bug-fixes-and-memory-leak 2022-02-18 18:44:28 -08:00
Steve Atherton
31ed478488 Invert sort order of periodic memory usage dumps to make looking at live output easier. 2022-02-17 16:03:33 -08:00
Josh Slocum
38a75a8b89 Merge branch 'main' into blob_integration 2022-02-17 17:47:38 -06:00
Josh Slocum
fc0c0ac21e script for debugging MemSample traces 2022-02-17 16:09:05 -06:00
Andrew Noyes
00ceaeb1b3 Move generated part of Program.cs to its own file
This way editors/tools will understand that it's a c sharp file
2022-02-07 13:28:06 -08:00
Andrew Noyes
4bf14e6c47
Create joshua package from ctest tests (#6237)
* Add ctest_to_joshua.py

* WIP

* Normalize python3

* set -euxo pipefail

* Strip binary files

* Remove unnecessary file copy

* Redirect stderr to stdout

* Fix syntax

* Set BASH_XTRACEFD=1
2022-02-03 15:07:41 -08:00
Andrew Noyes
f4b0de7a56 Add support for 7.0 and 7.1 in transaction_profiling_analyzer
I painstakingly went through both transaction_profiling_analyzer.py and
fdbclient/ClientLogEvents.h to make sure that we really can read these
versions.
2022-01-19 14:00:21 -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
A.J. Beamon
ca47b436ac
Apply suggestions from code review
Co-authored-by: Markus Pilman <markus.pilman@snowflake.com>
2021-12-14 14:44:20 -08:00
A.J. Beamon
30e2c2d9a6 Don' use new-style arguments in test harness. 2021-12-14 12:31:12 -08:00
A.J. Beamon
f24adc7b6a Fix a bunch of places where we used old-style arguments. Allow hyphens for profiler args. 2021-12-14 09:59:14 -08:00
Andrew Noyes
66b387916a Add test for correct permissions for libfdb_c execstack 2021-12-09 17:15:22 -08:00
Aaron Molitor
77db63274b use FDB_VERSION in lieu of PROJECT_VERSION or CMAKE_PROJECT_VERSION
write FDB_VERSION to a file to avoid regex golf in other build scripts
2021-11-29 15:11:20 -08:00
Steve Atherton
8a6df5c31c Remove unsupported .clang-format setting. 2021-11-17 09:59:38 -08:00
Markus Pilman
b1633b90f1 Added fmt to flow 2021-11-16 12:03:49 -07:00
Josh Slocum
7492a9e7d7 fixing fdbcli packages 2021-10-22 11:58:10 -05:00
Chaoguang Lin
0d1382eeba Add comments for the change 2021-09-03 14:32:27 -07:00
Chaoguang Lin
56ed0f3b9c Return if no available binary in the given range 2021-09-03 14:21:16 -07:00
Chaoguang Lin
8622363395 Simplify the condition and update the comment 2021-09-02 18:51:39 -07:00
Chaoguang Lin
3ad620b2df Update comment to be more clear 2021-09-02 18:13:04 -07:00
Chaoguang Lin
e7028b7915 Handle the edge case correctly when the upper bound version is less than the binary verion 2021-09-02 17:42:46 -07:00
Chaoguang Lin
82e1e850c2 Add syntax until_*.*.* in restarting test to specify upper bound of binary version 2021-09-02 14:07:15 -07:00
Andrew Noyes
cbd0c33e13 Try using less privileges in for running systemd 2021-08-24 17:40:44 +00:00