Skip to content

Ow fork main merge #148

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2,056 commits into from
Apr 8, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2056 commits
Select commit Hold shift + click to select a range
f0c964f
address comments
kakaiu Dec 4, 2024
1ae1f07
address comments
kakaiu Dec 4, 2024
b36a715
Format S3Client_cli.actor.cpp
Dec 4, 2024
31cf800
batch dumping at SS
kakaiu Dec 4, 2024
83aa062
Rename test script to s3client from s3cp
Dec 4, 2024
060a63f
Formatting
Dec 4, 2024
f2a1021
condense manifest content
kakaiu Dec 4, 2024
4848aeb
Rust external workload modifications (#11805)
Wonshtrum Dec 4, 2024
29aa68a
Run cycle tests after restore to validate correctness (#11814)
flowguru Dec 5, 2024
cab2f0d
Remove duplicate code. Move BackupTLSConfig.* from fdbbackup to
Dec 5, 2024
265b4bc
- When version vector is enabled, make proxies advance min committed
sbodagala Dec 6, 2024
ce7d4af
Fix usage formatting issue
Dec 6, 2024
f391df6
Fix 'ERROR: unknown option: `'' when no options supplied. (#11818)
saintstack Dec 6, 2024
1571639
Seaweed process was not getting cleaned up after test. (#11816)
saintstack Dec 6, 2024
72bdd8d
Refactor. Replace S3Cp with S3Client #11813
jzhou77 Dec 6, 2024
d7f08b2
Fix a heap-use-after-free bug
jzhou77 Dec 9, 2024
20f9dd5
Fix another ASAN bug
jzhou77 Dec 9, 2024
604b108
Merge pull request #11821 from jzhou77/fix
jzhou77 Dec 9, 2024
b9ae122
Merge pull request #11817 from sbodagala/version_vector_durability_error
jzhou77 Dec 9, 2024
3c43139
- In case of spill by reference, log servers should use the logic tha…
sbodagala Dec 9, 2024
27253a5
address comments
kakaiu Dec 9, 2024
02c29e3
fmt
kakaiu Dec 9, 2024
c13a8bc
Fix race condition in rocksdb checkpoint readers (#11819)
spraza Dec 10, 2024
4ef6bca
Merge pull request #11780 from kakaiu/bulk-dump-framework
jzhou77 Dec 10, 2024
0032465
Add gRPC support to FDB (#11782)
vishesh Dec 11, 2024
e19df49
Rename error variable in go tests to err #8828 (#11716)
Dec 11, 2024
a946a84
Ignore some ctests for ASAN
jzhou77 Dec 11, 2024
90fcee7
Fix a few issues with gcc 13 (#11833)
jzhou77 Dec 13, 2024
d68d77f
error: invalid operands to binary expression in ClogRemoteTLog.actor.…
saintstack Dec 13, 2024
df0fc7d
Fix issues with clang 19 (#11834)
jzhou77 Dec 13, 2024
d7ceecb
Fix java lib missing symbols issue (#11836)
jzhou77 Dec 14, 2024
6ccfbf2
Pause perpetual storage wiggle when TSS count target is met. (#11823)
yao-xiao-github Dec 16, 2024
248e6e7
Add transaction store mutation tracking capability (#11831)
dlambrig Dec 16, 2024
1b0f924
Make ClogRemoteTlog pass when check failures count as Joshua failures…
spraza Dec 18, 2024
83f42e1
Make BulkDump work with S3 (#11822)
kakaiu Dec 18, 2024
122cb96
Make sharded rocks deterministic in simulation (phase 1) (#11841)
spraza Dec 19, 2024
a14a0d0
Fix storage server crashes (#11843)
jzhou77 Dec 19, 2024
c2862b8
Lower bound version of CC_DEGRADED_PEER_DEGREE_TO_EXCLUDE (#11840)
spraza Dec 19, 2024
d78b431
Fix stack use-after-return bugs (#11846)
jzhou77 Dec 20, 2024
50ffac8
Refactor locality-based exclusion checks to reduce additional overhea…
johscheuer Dec 20, 2024
1087538
Update developer-guide.rst: Fix typo 'guaranatees' -> 'guarantees' (#…
tarikdemirci Dec 23, 2024
1ac7023
Refine transaction store mutation tracking (#11844)
dlambrig Dec 24, 2024
0aeff16
Make `ByteArrayUtil#EMPTY_BYTES` public
jchambers Dec 27, 2024
3e829e2
Upgrade awssdk to 1.11.473 (#11853)
jzhou77 Jan 2, 2025
5a88f43
- Use "count()", instead of "size()", to find the number of bits set …
sbodagala Jan 3, 2025
f80191f
Fix boost URL (#11858)
jzhou77 Jan 3, 2025
8d04c97
Fix missing bindingtester dependency
kornholi Jan 4, 2025
d3532e4
Improve BulkLoad/Dump implementation (#11842)
kakaiu Jan 6, 2025
4c1e741
Add checksum checking of downloads. Add cleanup of test data.
Jan 6, 2025
0542860
Merge pull request #11860 from saintstack/delete_and_md5
saintstack Jan 7, 2025
227a55b
jzhou77
dependabot[bot] Jan 9, 2025
2bcc27e
fix uninitialized value in BulkLoadManifest (#11869)
kakaiu Jan 9, 2025
c156c91
Update downgrade tests to have a new split point (#11867)
spraza Jan 9, 2025
be6e1b6
Bumps [setuptools](https://github.com/pypa/setuptools) from 65.5.1 to…
dependabot[bot] Jan 9, 2025
b2c0a47
Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.…
dependabot[bot] Jan 9, 2025
6811f42
Add rocksdb version to status json. (#11868)
yao-xiao-github Jan 9, 2025
670ce03
Check the requested path in the fdb Kubernetes sidecar
johscheuer Jan 10, 2025
0d7bdf8
Add test cases for path checks
johscheuer Jan 10, 2025
85c3c94
Bump golang.org/x/net from 0.23.0 to 0.33.0 in /fdbkubernetesmonitor …
dependabot[bot] Jan 10, 2025
d0ba0d6
Merge pull request #11873 from johscheuer:check-requested-path-sidecar
jzhou77 Jan 10, 2025
fd239fc
Clarifying documentation on blob backup URL and credentials file.
Dec 11, 2024
373d193
Address review comments
Jan 10, 2025
b37af3e
Formatting
Dec 20, 2024
9ad6310
Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.…
dependabot[bot] Jan 11, 2025
d7a50ac
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.4 to 3.1.5.
dependabot[bot] Jan 11, 2025
df379c3
Fix Get.svg in the commit design doc
daleiz Jan 12, 2025
82874c6
Block until a signal is received in sidecar mode (#11874)
johscheuer Jan 13, 2025
c08b39e
Formatting
Jan 13, 2025
4750c84
docs: update GoDoc for ReadTransact()
gm42 Sep 19, 2024
e4a5d73
docs: mention when fdb_database_get_client_status() returns an empty …
gm42 Nov 25, 2024
288a6c1
Go binding: add GetClientStatus method to Database
gm42 Sep 5, 2024
81d30ad
Merge pull request #11825 from saintstack/blobcredentialsonly
saintstack Jan 14, 2025
cf7c8f4
BulkLoad Job Framework and Co-Testing BulkLoad and BulkDump (#11865)
kakaiu Jan 14, 2025
4d835c5
Have ctests use s3 if it is available.
Jan 8, 2025
03789e2
* fdbclient/S3BlobStore.actor.cpp
Jan 9, 2025
4648270
* fdbbackup/tests/s3_backup_test.sh
Jan 14, 2025
d1df142
Move export under s3 clause; doesn't make sense when seaweed is the b…
Jan 14, 2025
aef2e6d
Dump out 1k lines of log instead of 50 so can hopefully see why the f…
Jan 14, 2025
56456da
Add cleanup of test data after test is done
Jan 14, 2025
1da11f9
Add more variety to the random temp name making; we seem to have
Jan 14, 2025
654255d
Extend gray failure recentHealthTriggeredRecoveryTime state to reflec…
spraza Jan 15, 2025
3c00180
Update recovery doc with CC orchestrated process (#11883)
jzhou77 Jan 15, 2025
9195f78
Bulkload FDBCLI Command (#11886)
kakaiu Jan 15, 2025
0bce8bd
Parallelize Fetching BulkLoad Manifest Metadata (#11884)
kakaiu Jan 15, 2025
f7ee5e5
* fdbclient/tests/seaweedfs_fixture.sh
Jan 15, 2025
739bd1b
Merge pull request #11864 from saintstack/use_s3
saintstack Jan 16, 2025
78d4490
Add ENABLE_VERSION_VECTOR_REPLY_RECOVERY switch (#11889)
dlambrig Jan 16, 2025
0d775da
Merge pull request #11627 from gm42/feat/go-get-client-status
jzhou77 Jan 17, 2025
d735250
Fix the scope of sharded rocks checkpoint determinism flag (#11893)
spraza Jan 17, 2025
97847f3
- Do not do the replication policy validation check when trying to
sbodagala Jan 17, 2025
f4c3565
Rocksdb manual flush code changes (#11849)
neethuhaneesha Jan 17, 2025
9ca82b2
Add knob for direct IO
yao-xiao-github Jan 17, 2025
786e2a6
Add custom compaction policy based on number of range deletions in file
yao-xiao-github Jan 17, 2025
ed7a0d4
Improve AuditLocationMetadataPostCheck coverage (#11888)
kakaiu Jan 18, 2025
aea37ae
Use s3 if available when running the bulkload test.
Jan 16, 2025
f3c9b66
Change how we process array passed to a function -- the bash on test …
Jan 19, 2025
a1f6b55
Merge pull request #11899 from saintstack/s3_bulkload
saintstack Jan 21, 2025
b1e43da
Merge pull request #11896 from yao-xiao-github/main-cp
jzhou77 Jan 22, 2025
e048586
Release notes for 7.3.58 and 7.3.59
spraza Jan 22, 2025
fe47ce2
New restore consolidated commit (#11901)
flowguru Jan 22, 2025
933b035
Refactor backup mutation serialization
flowguru Jan 22, 2025
79641d9
jzhou77
jzhou77 Jan 23, 2025
93133c8
address comments
flowguru Jan 23, 2025
473518c
Update the latest stable release to 7.3.57 (#11909)
jzhou77 Jan 24, 2025
8b4333c
Fix cycle test valgrind issue #11906
spraza Jan 25, 2025
06cdf2e
Pause store wiggle if all SS does not have minimum available space. (…
neethuhaneesha Jan 25, 2025
ca543ca
Handling for 'line 16: kill: Binary: arguments must be process or job…
Jan 28, 2025
a02f107
Using knob to enable physical shard move in failure injection workloa…
kakaiu Jan 28, 2025
86e45fe
Allow tht FDB_PIDS may not be set
Jan 28, 2025
b3c9c4a
Merge pull request #11913 from saintstack/dont_fail_on_exit
spraza Jan 29, 2025
b0ff918
fix shardedrocksdb knob and add ENFORCE_SHARDED_ROCKSDB_SIM_IF_AVALIA…
kakaiu Jan 30, 2025
fff5439
Close DB properly in unit tests. #11915
yao-xiao-github Jan 30, 2025
2ae9545
Push the fdb-kubernetes-monitor 'unified' image. (#11919)
saintstack Feb 3, 2025
4fcfcf1
Fix assertion failure in GcGenerations workload.
jzhou77 Feb 5, 2025
aa686a0
Fix double new database in ChangeConfig workLoad #11927
kakaiu Feb 6, 2025
382cd9c
Close and delete DB when checkpoint reader gets an error. #11925
yao-xiao-github Feb 6, 2025
ea8971b
Update ConfigureDatabase workload to issue aggressive storage migrati…
spraza Feb 4, 2025
7459749
Extend connection failure in GcGenerations workload
jzhou77 Feb 6, 2025
f5cf5a7
Fix floating comparison issue
jzhou77 Feb 6, 2025
1b75e5b
Add disableConnectionFailures back
jzhou77 Feb 6, 2025
0f6fa09
Bulkload Engine Support General Storage Engine and Fix BulkLoad Bugs …
kakaiu Feb 6, 2025
85602f5
Merge pull request #11926 from jzhou77/fix_gc_generation
spraza Feb 6, 2025
367cc21
Fix off by one randomInt bug in ConfigureDatabase workload
spraza Feb 6, 2025
26f38c8
Gray failure observability (#11923)
spraza Feb 7, 2025
cef5817
Merge pull request #11928 from spraza/r134572343-fix9
jzhou77 Feb 7, 2025
d1efff1
Improve BulkLoad Implementation (#11929)
kakaiu Feb 7, 2025
09b9fac
Fix startMoveShards() caused corruption (#11933)
jzhou77 Feb 10, 2025
9adaa6e
Do not use "safe range" logic in recovery code when version vector is…
sbodagala Feb 10, 2025
8cd90ee
Holds onto temporary variables' memories
jzhou77 Feb 10, 2025
a3abfad
reduce ShouldCheckPeer frequency and increase max_trace_lines for bul…
kakaiu Feb 11, 2025
961dad0
Refactor BulkLoad Engine and Improve Trace Events (#11937)
kakaiu Feb 11, 2025
11b44d7
Bump cryptography from 43.0.1 to 44.0.1 in /tests/authorization #11939
dependabot[bot] Feb 11, 2025
76d514b
Update shared rocksdb knobs. #11936 (#11938)
yao-xiao-github Feb 11, 2025
571019d
Add 7.3.60, 7.3.61 release notes (#11943)
jzhou77 Feb 12, 2025
277e82b
improve-bulkload (#11941)
kakaiu Feb 12, 2025
ad37abb
Disable attrition fault injection in snapshot workload
spraza Feb 12, 2025
62cc2a3
Migration to consider wiggling based on perpetualStorageEngine and no…
neethuhaneesha Feb 12, 2025
a42c9b3
update logs (#11944)
yao-xiao-github Feb 12, 2025
e59d52c
Merge pull request #11946 from spraza/r142428623-fix
jzhou77 Feb 13, 2025
764341b
Refactor initialize_logger_level and unit_tests_version_510 (#11879)
rajv79 Feb 13, 2025
ff22876
Add multiparting to s3client. (#11920)
saintstack Feb 13, 2025
fee87e0
Add compile time switch NO_MULTIREGION_TEST. (#11931)
dlambrig Feb 13, 2025
95be769
Disable noSim/ShardedRocksDBCheckpointTest.toml
spraza Feb 13, 2025
6a9898d
Merge pull request #11904 from flowguru/backup1
jzhou77 Feb 13, 2025
7f46fc1
Add gRPC file transfer service (#11892)
vishesh Feb 13, 2025
e070698
DataMove Should Decide BulkLoading After Old DataMove Actor Has Been …
kakaiu Feb 13, 2025
c812b90
Merge pull request #11949 from spraza:disable-sharded-rocks-unit-test
jzhou77 Feb 14, 2025
d141eea
Allow BulkLoadEngine to Handle Non-Retriable Task (#11950)
kakaiu Feb 14, 2025
108199e
Update 7.3.59 as the latest release (#11955)
jzhou77 Feb 17, 2025
6a07744
Handle cases when backup worker pulling may miss mutations
jzhou77 Jan 24, 2025
d9f04dc
Fix start version after backup worker exits noop mode
jzhou77 Jan 24, 2025
1bd6f0a
Save NOOP progress of backup workers
jzhou77 Jan 25, 2025
a5d2a58
Pause backup workers during quite database
jzhou77 Jan 26, 2025
048374a
It's fine to ignore mutations if noop mode popped them
jzhou77 Jan 26, 2025
4196864
Delay updating pop version in noop mode until it's saved
jzhou77 Feb 3, 2025
4939cd8
Fix start version for pullAsyncData
jzhou77 Feb 5, 2025
1690af5
Address comments
jzhou77 Feb 17, 2025
63c6539
Merge pull request #11908 from jzhou77/fix
jzhou77 Feb 18, 2025
94faec1
Enable BulkLoad Job to Give Up Unretrievable Task and Fix DDStuck Bug…
kakaiu Feb 18, 2025
7ad26cf
Add ability to ignore multiple tests (#11956)
vishesh Feb 18, 2025
d9ea00e
Fix rocksdb crash caused because of passing uninitialized metadata to…
spraza Feb 18, 2025
5eda677
Conditionally disable backup worker
spraza Feb 19, 2025
ec71479
Merge pull request #11960 from spraza/fix-nightly
jzhou77 Feb 20, 2025
1c52697
RandomMoveKey should choose SSes from different data halls (#11964)
kakaiu Feb 21, 2025
67b9b5c
Remove per thread histogram in storage engine and fix bugs in range s…
yao-xiao-github Feb 25, 2025
5cce92d
Simplify BulkLoad Job Metadata (#11959)
kakaiu Feb 25, 2025
7c141b2
Add compile switch to disable restart simulation tests
Feb 25, 2025
af7b34e
- Correct an issue to do with populating the list of reporting log se…
sbodagala Feb 25, 2025
5f9f535
Improve BulkLoad TraceEvent (#11971)
kakaiu Feb 25, 2025
5990b5c
Merge pull request #11972 from apple/disable-upgrade-tests
jzhou77 Feb 25, 2025
2116547
Improve BulkDump Implementation (#11974)
kakaiu Feb 26, 2025
e824466
Merge pull request #11973 from sbodagala/version-vector-unicast-issue
jzhou77 Feb 26, 2025
710f3f3
Update main branch to 8.0 (#11968)
spraza Feb 26, 2025
8da2a54
Add BulkloadJob Cancellation (#11976)
kakaiu Feb 27, 2025
9f09441
Fix isOnMainThread in Simulation and Testing (#11978)
vishesh Feb 27, 2025
7642ead
Do not pick SS with a colocated LR in ExcludeIncludeStorageServersWor…
spraza Feb 27, 2025
f786104
Release notes for 7.3.62 and 7.3.63 (#11982)
neethuhaneesha Feb 28, 2025
b66cf62
rocksdb: fix crash due to uninitialized/stale ColumnFamilyHandle
vishesh Feb 28, 2025
6319330
Revert "Update main branch to 8.0 (#11968)"
spraza Feb 28, 2025
bcc3237
Update future protocol versions for 7.4 protocol version binaries
spraza Feb 28, 2025
74e79d4
FDB cmake: update to latest production ready 7.3 and 7.1 patch releases
spraza Feb 28, 2025
0351af8
Merge pull request #11985 from spraza/7.4-release-version-changes
jzhou77 Mar 1, 2025
bcb4b39
AuditStorage Documentation (#11983)
kakaiu Mar 1, 2025
add710d
Enable TRACK_TLOG_RECOVERY as default (#11987)
jzhou77 Mar 3, 2025
1e1aa71
Build a sidecar container that refreshes s3 credentials (#11945)
saintstack Mar 3, 2025
f6daa2c
Bump cryptography from 43.0.1 to 44.0.1 in /tests/TestRunner (#11989)
dependabot[bot] Mar 3, 2025
e0d6fa1
Add an option to Cycle workload to skip setup phase (#11990)
jzhou77 Mar 3, 2025
5872ef7
Temporarily disabling backup dry run request until the issue is fixed…
neethuhaneesha Mar 3, 2025
8bba38b
Version vector: compute locations only once during commits. (#11924)
dlambrig Mar 4, 2025
8142ebd
Add BulkLoad History (#11992)
kakaiu Mar 5, 2025
2e47e97
Fix DCC tester (#11995)
kakaiu Mar 5, 2025
60a0276
AsyncTaskExecutor: lightweight wrapper for `IThreadPool`
vishesh Feb 28, 2025
6329672
gRPC server life-cycle management and AsyncTaskExecution
vishesh Feb 28, 2025
8b0c369
Update 7.3.63 as the stable latest release (#11999)
jzhou77 Mar 6, 2025
61c9a81
Reduce some parameter values for StoreFrontTest (#11998)
spraza Mar 6, 2025
2ef72cb
Merge pull request #11984 from vishesh/grpc-sim
jzhou77 Mar 6, 2025
55edaf5
Hold `ThreadReturnPromiseStream` reference when sending value/error
vishesh Mar 6, 2025
6740eb2
Add move constructors for `ThreadReturnPromise*` and delete copy cons…
vishesh Mar 6, 2025
7f7de83
Bump jinja2 from 3.1.5 to 3.1.6 in /flow/protocolversion (#12002)
dependabot[bot] Mar 6, 2025
e1138c3
Make bulkload file reads and writes async and memory parsimonious (#1…
saintstack Mar 6, 2025
9542f37
Merge pull request #12004 from vishesh:promise-move
jzhou77 Mar 6, 2025
cbb605d
Merge pull request #12003 from vishesh:flow-bug
jzhou77 Mar 6, 2025
4836a2e
Handle Exceptions in AsyncTaskExecutor
vishesh Mar 6, 2025
4b9cb2f
ThreadReturnPromise* in AsyncTaskExecutor don't need to be pointers
vishesh Mar 6, 2025
21b87ef
Improve Range Lock and Add Documentation (#11986)
kakaiu Mar 7, 2025
beba524
Never absorb wrong_shard_server in LoadBalance replicaComparison (#12…
spraza Mar 7, 2025
0a9940a
Merge pull request #12005 from vishesh/grpc-sim
jzhou77 Mar 8, 2025
6156975
Improve BulkLoad Test Coverage And Fix Bugs (#12009)
kakaiu Mar 9, 2025
082cded
Set max_read_transaction_life_versions for KillRegionCycle.toml
jzhou77 Mar 9, 2025
91acbbc
Merge pull request #12010 from jzhou77/fix
jzhou77 Mar 10, 2025
79a38c1
Fix RangeLock in BulkDump Test and Avoid Memory Copy For Async Read/W…
kakaiu Mar 10, 2025
610ab21
Increase TLOG_MAX_CREATE_DURATION in simulation
spraza Mar 10, 2025
6ee6e0b
Edit of bulkload/bulkdump cli. (#12012)
saintstack Mar 11, 2025
8c6f8c1
Track shard moves for version vector (#11977)
dlambrig Mar 11, 2025
51ad842
A Couple for Fixes for BulkDump and RangeLock (#12013)
kakaiu Mar 11, 2025
32f2ef9
Add checksumming across multipart upload and download (#11988)
saintstack Mar 12, 2025
a9deb3e
Request reboot for TSS data move conflicts in simulation (#12008)
spraza Mar 12, 2025
1d9f16b
Added compaction knobs. (#12018)
neethuhaneesha Mar 12, 2025
f40a4cf
Add replica comparison wrong_shard_server trace event (#12020)
spraza Mar 12, 2025
56402db
Extend the unicast based recovery algorithm to do the replication pol…
sbodagala Mar 12, 2025
15e35ed
Adding rocksdb obsolete files size property in metrics. (#12017)
neethuhaneesha Mar 12, 2025
529db21
persist bulkload task count in bulkload job (#12022)
kakaiu Mar 12, 2025
10fecd0
Add Error Message To BulkLoadJob Metadata (#12024)
kakaiu Mar 13, 2025
74f447c
More cleanup of bulk* cli (#12015)
saintstack Mar 13, 2025
96be535
ENABLE_VERSION_VECTOR_REPLY_RECOVERY can be T only if ENABLE_VERSION_…
dlambrig Mar 13, 2025
bc8eca1
Initialize lastShardMove for recovery txn and in CommitBatchContext (…
spraza Mar 13, 2025
9f5fdd0
Add BulkLoad Task Count to BulkLoad FDBCLI Command (#12029)
kakaiu Mar 14, 2025
bc4dec8
Fix use-after-move issue in AsyncTaskExecutor
vishesh Mar 14, 2025
6ae46b4
BulkLoadJob Should Not Schedule Completed BulkLoadTask (#12030)
kakaiu Mar 14, 2025
eb0d9f2
Add Verbose Level for BulkLoad Trace Events (#12034)
kakaiu Mar 15, 2025
911fdb4
Add a bulkload user guide (#12033)
saintstack Mar 15, 2025
d594615
avoid shard merge when bulkload (#12035)
kakaiu Mar 15, 2025
0e736c6
Allow One BulkloadTask Do Multiple Manifests (#12036)
kakaiu Mar 17, 2025
38b7d6f
Implement TLS support for Flow/gRPC
vishesh Mar 12, 2025
43938d9
Add more gRPC/TLS tests
vishesh Mar 14, 2025
deda04b
Fix a restore bug due to a race (#12037)
jzhou77 Mar 17, 2025
9e08874
Disable enable_version_vector_reply_recovery in version vector tests.…
dlambrig Mar 18, 2025
a345d66
A Couple of Fixes and Improvements for BulkLoad/Dump (#12040)
kakaiu Mar 19, 2025
c5a3482
Change backup worker memory accounting to use message sizes
jzhou77 Mar 13, 2025
c8b887d
Fix lock take bytes
jzhou77 Mar 13, 2025
e970d6f
Address a comment
jzhou77 Mar 18, 2025
d7f4d03
Fix an assertion failure
jzhou77 Mar 19, 2025
c8f9066
disable mutation checksum and accumulative checksum by default and ad…
kakaiu Mar 19, 2025
6fa83c2
audit replica should not read empty range to check (#12043)
kakaiu Mar 20, 2025
f1ecdb3
Fix backup worker assertion failure on memory usage (#12046)
jzhou77 Mar 21, 2025
432374a
Disable version vector unicast with idempotent transactions (#12039)
dlambrig Mar 21, 2025
ee0cd50
Reject Range Lock/Unlock Requests with Conflicting Range, User, or Lo…
kakaiu Mar 21, 2025
67bc3c2
Merge upstream changes to ow fork main
MarkSh1 Mar 28, 2025
a19eae4
fix compilation errors
MarkSh1 Mar 28, 2025
b6cae21
Added new metrics to the json schema (#109)
oleg68 Nov 1, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .flake8
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ ignore = E203, E266, E402, E501, W503, F403, F401, E711, C901, E721, W605
max-line-length = 88
max-complexity = 18
select = B,C,E,F,W,T4,B9
exclude = bindings/python/fdb/six.py,contrib/Implib.so/implib-gen.py,documentation/sphinx/extensions/rubydomain.py
exclude = contrib/Implib.so/implib-gen.py,documentation/sphinx/extensions/rubydomain.py
1 change: 0 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ repos:
- id: black
exclude: |
(?x)^(
bindings/python/fdb/six.py|
contrib/Implib.so/implib-gen.py|
documentation/sphinx/extensions/rubydomain.py
)$
Expand Down
24 changes: 20 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -138,10 +138,26 @@ message(STATUS "FDB version is ${FDB_VERSION}")
message(STATUS "FDB_PATCH is ${FDB_PATCH}")

set(FDB_CURRENT_VERSION ${PROJECT_VERSION})
set(FDB_FUTURE_VERSION "7.5.0")
set(FDB_PREV_RELEASE_VERSION "7.3.41")
set(FDB_PREV2_RELEASE_VERSION "7.1.33")
set(FDB_PREV3_RELEASE_VERSION "7.0.0")
set(FDB_FUTURE_VERSION "8.0.0")
set(FDB_PREV_RELEASE_VERSION "7.3.59")
set(FDB_PREV2_RELEASE_VERSION "7.1.61")

set(MULTIREGION_TEST TRUE)
option(NO_MULTIREGION_TEST "Disable multiregion simulation tests" OFF)

if (NO_MULTIREGION_TEST)
set(MULTIREGION_TEST FALSE)
add_definitions(-DNO_MULTIREGION_TEST)
message(STATUS "NO_MULTIREGION_TEST is ON")
endif()

set(RESTART_TEST TRUE)
option(NO_RESTART_TEST "Disable restart simulation tests" OFF)
if (NO_RESTART_TEST)
set(RESTART_TEST FALSE)
add_definitions(-DNO_RESTART_TEST)
message(STATUS "NO_RESTART_TEST is ON")
endif()

################################################################################
# Flow
Expand Down
25 changes: 22 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,25 @@ Contributing to FoundationDB can be in contributions to the code base, sharing y

## Getting Started

### Latest Stable Releases

The latest stable releases are (were) versions that are recommended for production use, which have been extensively validated via simulation and real cluster tests and used in our production environment.

| Branch | Latest Production Release | Notes |
|:--------:|:-------------:|------:|
| 7.3 | [7.3.63](https://github.com/apple/foundationdb/releases/tag/7.3.63) | Supported |
| 7.2 | | Experimental |
| 7.1 | [7.1.57](https://github.com/apple/foundationdb/releases/tag/7.1.57) | Bug fixes |
| 7.0 | | Experimental |
| 6.3 | [6.3.25](https://github.com/apple/foundationdb/releases/tag/6.3.25) | Unsupported |

- `Supported` branches are those we actively maintain and will publish new patch releases.
- `Bug fixes` are branches we still accept bug fixes into the branch, but may not publish newer patch releases. The community can build the latest release binaries if needed and is encouraged to upgrade to the `Supported` branches.
- `Experimental` branches are those used for internal feature testing. They are not recommended for production use.
- `Unsupported` branches are those which will no longer receive any updates.

If you are running on old production releases, we recommend always upgrading to the next major release's latest version, and then continue to the next major version, e.g., 6.2.X -> 6.3.25 -> 7.1.57 -> 7.3.63. These upgrade paths have been well tested in production (skipping a major release, not marked as `Experimental`, for an upgrade is only tested in simulation).

### Binary downloads

Developers interested in using FoundationDB can get started by downloading and installing a binary package. Please see the [downloads page](https://github.com/apple/foundationdb/releases) for a list of available packages.
Expand All @@ -34,7 +53,7 @@ The official docker image for building is [`foundationdb/build`](https://hub.doc

To build outside of the official docker image, you'll need at least these dependencies:

1. Install cmake Version 3.13 or higher [CMake](https://cmake.org/)
1. Install cmake Version 3.24.2 or higher [CMake](https://cmake.org/)
1. Install [Mono](https://www.mono-project.com/download/stable/)
1. Install [Ninja](https://ninja-build.org/) (optional, but recommended)

Expand Down Expand Up @@ -170,8 +189,8 @@ $SRCDIR/packaging/osx/buildpkg.sh . $SRCDIR
Under Windows, only Visual Studio with ClangCl is supported

1. Install Visual Studio 2019 (IDE or Build Tools), and enable llvm support
1. Install [CMake 3.15](https://cmake.org/) or higher
1. Download [Boost 1.77.0](https://boostorg.jfrog.io/artifactory/main/release/1.77.0/source/boost_1_77_0.7z)
1. Install [CMake 3.24.2](https://cmake.org/) or higher
1. Download [Boost 1.86.0](https://archives.boost.io/release/1.86.0/source/boost_1_86_0.tar.bz2)
1. Unpack boost to C:\boost, or use `-DBOOST_ROOT=<PATH_TO_BOOST>` with `cmake` if unpacked elsewhere
1. Install [Python](https://www.python.org/downloads/) if is not already installed by Visual Studio
1. (Optional) Install [OpenJDK 11](https://developers.redhat.com/products/openjdk/download) to build Java bindings
Expand Down
9 changes: 0 additions & 9 deletions bindings/bindingtester/known_testers.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,15 +86,6 @@ def _absolute_path(path):
testers = {
"python": Tester(
"python",
"python " + _absolute_path("python/tests/tester.py"),
2040,
23,
MAX_API_VERSION,
types=ALL_TYPES,
tenants_enabled=True,
),
"python3": Tester(
"python3",
"python3 " + _absolute_path("python/tests/tester.py"),
2040,
23,
Expand Down
2 changes: 0 additions & 2 deletions bindings/bindingtester/run_tester_loop.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ function scripted() {

function run_scripted() {
scripted python
scripted python3
scripted ruby
scripted java
scripted java_async
Expand All @@ -35,7 +34,6 @@ while `true`; do
echo "Pass $i"
i=$((i+1))
run python
run python3
run ruby
run java
run java_async
Expand Down
4 changes: 2 additions & 2 deletions bindings/bindingtester/tests/test_util.py
Original file line number Diff line number Diff line change
Expand Up @@ -150,11 +150,11 @@ def random_tuple_list(self, max_size, max_list_size):

def random_range_params(self):
if random.random() < 0.75:
limit = random.randint(1, 1e3)
limit = random.randint(1, int(1e3))
elif random.random() < 0.75:
limit = 0
else:
limit = random.randint(1e8, (1 << 31) - 1)
limit = random.randint(int(1e8), (1 << 31) - 1)

return (limit, random.randint(0, 1), random.randint(-2, 4))

Expand Down
25 changes: 16 additions & 9 deletions bindings/bindingtester/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,25 @@


def initialize_logger_level(logging_level):

logger = get_logger()

assert logging_level in ["DEBUG", "INFO", "WARNING", "ERROR"]
# Map logging levels to their corresponding constants
LOGGING_LEVELS = {
"DEBUG": logging.DEBUG,
"INFO": logging.INFO,
"WARNING": logging.WARNING,
"ERROR": logging.ERROR,
}

if logging_level not in LOGGING_LEVELS:
raise ValueError(f"Invalid logging level: {logging_level}")

logger.setLevel(LOGGING_LEVELS[logging_level])




if logging_level == "DEBUG":
logger.setLevel(logging.DEBUG)
elif logging_level == "INFO":
logger.setLevel(logging.INFO)
elif logging_level == "WARNING":
logger.setLevel(logging.WARNING)
elif logging_level == "ERROR":
logger.setLevel(logging.ERROR)


def get_logger():
Expand Down
73 changes: 54 additions & 19 deletions bindings/c/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -295,9 +295,29 @@ if(NOT WIN32)
)

file(GLOB API_TEST_FILES "${CMAKE_CURRENT_SOURCE_DIR}/test/apitester/tests/*.toml")
set(PATTERNS_TO_SKIP "XXXX")
if (USE_ASAN)
set(PATTERNS_TO_SKIP
".*BlobGranule.*" # skip BlobGranule tests because we don't use
".*Tenant.*" # skip Tenant tests because we don't use
)
endif()
foreach(test_file ${API_TEST_FILES})
get_filename_component(file_name "${test_file}" NAME_WE)
set(test_name "fdb_c_api_test_${file_name}")

# skip tests that match the patterns in PATTERNS_TO_SKIP
set(SKIP_FILE FALSE)
foreach(PATTERN ${PATTERNS_TO_SKIP})
if(file_name MATCHES "${PATTERN}")
set(SKIP_FILE TRUE)
break()
endif()
endforeach()
if(SKIP_FILE)
continue()
endif()

add_python_venv_test(NAME "${test_name}"
COMMAND python ${CMAKE_SOURCE_DIR}/bindings/c/test/apitester/run_c_api_tests.py
--build-dir ${CMAKE_BINARY_DIR}
Expand Down Expand Up @@ -333,22 +353,6 @@ if(NOT WIN32)
--client-config-tester-bin $<TARGET_FILE:fdb_c_client_config_tester>
)

add_python_venv_test(NAME fdb_c_upgrade_from_prev3_gradual
COMMAND python ${CMAKE_SOURCE_DIR}/tests/TestRunner/upgrade_test.py
--build-dir ${CMAKE_BINARY_DIR}
--test-file ${CMAKE_SOURCE_DIR}/bindings/c/test/apitester/tests/upgrade/MixedApiWorkloadMultiThr.toml
--upgrade-path "${FDB_PREV3_RELEASE_VERSION}" "${FDB_PREV2_RELEASE_VERSION}" "${FDB_PREV_RELEASE_VERSION}" "${FDB_CURRENT_VERSION}" "${FDB_PREV_RELEASE_VERSION}"
--process-number 3
)

add_python_venv_test(NAME fdb_c_upgrade_from_prev3_direct
COMMAND python ${CMAKE_SOURCE_DIR}/tests/TestRunner/upgrade_test.py
--build-dir ${CMAKE_BINARY_DIR}
--test-file ${CMAKE_SOURCE_DIR}/bindings/c/test/apitester/tests/upgrade/MixedApiWorkloadMultiThr.toml
--upgrade-path "${FDB_PREV3_RELEASE_VERSION}" "${FDB_CURRENT_VERSION}" "${FDB_PREV_RELEASE_VERSION}"
--process-number 3
)

add_python_venv_test(NAME fdb_c_upgrade_from_prev2_gradual
COMMAND python ${CMAKE_SOURCE_DIR}/tests/TestRunner/upgrade_test.py
--build-dir ${CMAKE_BINARY_DIR}
Expand Down Expand Up @@ -398,22 +402,53 @@ if(NOT WIN32)

endif()

set(c_workloads_srcs
set(cpp_workloads_srcs
test/workloads/workloads.cpp
test/workloads/workloads.h
test/workloads/SimpleWorkload.cpp)

set(c_workloads_srcs
test/workloads/CWorkload.c)

if(OPEN_FOR_IDE)
add_library(cpp_workloads OBJECT ${cpp_workloads_srcs})
add_library(c_workloads OBJECT ${c_workloads_srcs})
else()
add_library(cpp_workloads SHARED ${cpp_workloads_srcs})
add_library(c_workloads SHARED ${c_workloads_srcs})
endif()
set_target_properties(cpp_workloads PROPERTIES
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/share/foundationdb")
set_target_properties(c_workloads PROPERTIES
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/share/foundationdb")
target_link_libraries(c_workloads PUBLIC fdb_c)
target_link_libraries(cpp_workloads PUBLIC fdb_c)
target_include_directories(c_workloads PUBLIC ${CMAKE_SOURCE_DIR}/bindings/c)

if(NOT WIN32 AND NOT APPLE AND NOT OPEN_FOR_IDE)
target_link_options(c_workloads PRIVATE "LINKER:--version-script=${CMAKE_CURRENT_SOURCE_DIR}/external_workload.map,-z,nodelete")
# Add the -Wl,--undefined-version flag to the linker command to allow
# undefined symbols in version scripts. Clang 19 doesn't allow this and would
# complain with "symbol not defined" errors.
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "19.0.0")
target_link_options(cpp_workloads PRIVATE
"LINKER:--version-script=${CMAKE_CURRENT_SOURCE_DIR}/external_workload.map"
"LINKER:-z,nodelete"
"LINKER:--undefined-version"
)
target_link_options(c_workloads PRIVATE
"LINKER:--version-script=${CMAKE_CURRENT_SOURCE_DIR}/external_workload.map"
"LINKER:-z,nodelete"
"LINKER:--undefined-version"
)
else()
target_link_options(cpp_workloads PRIVATE
"LINKER:--version-script=${CMAKE_CURRENT_SOURCE_DIR}/external_workload.map"
"LINKER:-z,nodelete"
)
target_link_options(c_workloads PRIVATE
"LINKER:--version-script=${CMAKE_CURRENT_SOURCE_DIR}/external_workload.map"
"LINKER:-z,nodelete"
)
endif()
endif()

# Generate shim library in Linux builds
Expand Down
1 change: 1 addition & 0 deletions bindings/c/external_workload.map
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
global:
workloadFactory;
workloadCFactory;
local:
*;
};
Expand Down
2 changes: 1 addition & 1 deletion bindings/c/fdb_c.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ extern "C" DLLEXPORT fdb_bool_t fdb_error_predicate(int predicate_test, fdb_erro
code == error_code_commit_proxy_memory_limit_exceeded ||
code == error_code_transaction_throttled_hot_shard || code == error_code_batch_transaction_throttled ||
code == error_code_process_behind || code == error_code_tag_throttled ||
code == error_code_proxy_tag_throttled;
code == error_code_proxy_tag_throttled || code == error_code_transaction_rejected_range_locked;
}
return false;
}
Expand Down
Loading