Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
889 commits
Select commit Hold shift + click to select a range
d04976d
Add CommitDebug event after Commit Proxy reporting committed version …
halfprice Jul 21, 2022
eee02bf
Respond to review comments.
dlambrig Jul 25, 2022
bd94146
Error in FetchKey GRV shouldn't fail storageserver
halfprice Jul 24, 2022
3da627b
Add testing mechanism
halfprice Jul 25, 2022
7fb2146
Add timeout to places during Status generation
jzhou77 Jul 24, 2022
1a83855
Fix test failure when getting wiggle value timed out
jzhou77 Jul 24, 2022
cbd11a2
Reduce a DNS lookup in Status generation
jzhou77 Jul 24, 2022
ed6e29b
TLog track unpopped recovery tag
halfprice Jul 25, 2022
6cc4170
Merge pull request #7700 from halfprice/zhewu/tlog-track-unpopped-rec…
jzhou77 Jul 26, 2022
be05459
Fix a crash bug during CC shutdown process
jzhou77 Jul 26, 2022
f252cea
Merge pull request #7706 from jzhou77/release-7.1
jzhou77 Jul 26, 2022
65cc170
disable AVX for 7.1.16 release
foundationdb-ci Jul 26, 2022
adc3f0b
enable AVX and update version for 7.1.17 release
foundationdb-ci Jul 26, 2022
9914e7c
Add 7.1.16, 7.1.17 release notes
jzhou77 Jul 27, 2022
12a0324
Merge pull request #7717 from jzhou77/release-7.1
jzhou77 Jul 27, 2022
988a2b7
Added netbeans ide project
Jul 28, 2022
1df82c5
Validate subrange reads in simulation (#7597) (#7720)
sfc-gh-clin Jul 28, 2022
a62282a
Fix bug where too many logs were generated.
dlambrig Jul 29, 2022
b4ba9ae
Merge branch 'release-7.1' into cherry7653
dlambrig Jul 29, 2022
8bfbc27
Add g_traceBatch for prefetch query (#7730) (#7732)
flowguru Jul 29, 2022
1ce8b6e
Prefer IPv6 in hostname resolving. (#7750)
Aug 1, 2022
9c10502
Retain debug id in prefetch server-server call (#7755)
flowguru Aug 2, 2022
4f90372
Add test coverage for SpecialKeyRangeAsyncImpl::getRange(release-7.1)…
sfc-gh-clin Aug 4, 2022
fcad3b0
Merge branch 'release-7.1' into cherry7653
dlambrig Aug 7, 2022
84849c3
Rollback and rework commit #16ccea to reduce TLS section size
1inker Aug 8, 2022
e202a39
Add knobs for min/max Ratekeeper limit
jzhou77 Aug 8, 2022
27735db
Reducing TLS section size
1inker Aug 9, 2022
b718703
Merge pull request #7820 from jzhou77/release-7.1
jzhou77 Aug 9, 2022
c9b3203
Added 7.1.18, 7.1.19 release notes
jzhou77 Aug 9, 2022
7e95cd7
update version after 7.1.17 release
foundationdb-ci Aug 9, 2022
4e8b4db
disable AVX for 7.1.18 release
foundationdb-ci Aug 9, 2022
4738614
enable AVX and update version for 7.1.19 release
foundationdb-ci Aug 9, 2022
74843b9
Bumped to the new revision due to boto3 requirements in fdb-joshua repo
1inker Aug 9, 2022
afa628f
Try to fix deploy test in Ubuntu
1inker Aug 9, 2022
766debf
Merge pull request #7831 from jzhou77/release-7.1
jzhou77 Aug 9, 2022
73e4a11
Try to fix 'run tests' step in github
1inker Aug 10, 2022
b4e9105
update version after 7.1.19 release
foundationdb-ci Aug 10, 2022
fd24a07
Add fault injection to GRV proxy to return error response
jzhou77 Aug 10, 2022
0fd57b8
Client needs to handle proxy_memory_limit_exceeded error
jzhou77 Aug 10, 2022
3d8257c
Add retry in waitForCommittedVersion for GRV error response
jzhou77 Aug 10, 2022
c5c8e73
Fix backup worker to handle GRV errors
jzhou77 Aug 10, 2022
b99ecfd
Fix FuzzApiCorrectness workload
jzhou77 Aug 10, 2022
def709c
Fix SpecialKeySpaceCorrectness workload
jzhou77 Aug 10, 2022
93eb64f
Fix LocalRatekeeper workload
jzhou77 Aug 10, 2022
3fe1f97
Add a client knob GRV_ERROR_RETRY_DELAY
jzhou77 Aug 11, 2022
581819e
Fix attribute_not_found error in bulkSetup()
jzhou77 Aug 11, 2022
6a65f70
Increase waitForLowInFlight timeout
jzhou77 Aug 15, 2022
152ad0f
Try to fix tests
1inker Aug 16, 2022
a437250
Build with clang for linux has been implemented
1inker Aug 16, 2022
e253c19
Merge pull request #7860 from jzhou77/release-7.1
jzhou77 Aug 16, 2022
9f56e54
Merge pull request #7 from 1inker/ow-fork-7.1
1inker Aug 16, 2022
6879b93
Merge pull request #6 from oleg68/feature/netbeans
1inker Aug 17, 2022
763993f
update version after 7.1.15 release
foundationdb-ci Jul 11, 2022
4aaf444
Add 7.1.14 and 7.1.15 release notes
jzhou77 Jul 11, 2022
f18ac32
Adding rocksdb compression and data size stats.
neethuhaneesha Jul 7, 2022
2838fb8
Fix processDiskReadSeconds and processDiskWriteSeconds. (#7609)
Jul 18, 2022
ae1249c
cherry pick 7613 - update tag client cache on getKeyLocation (#7616)
dlambrig Jul 19, 2022
4b86ce5
Fix ScopeEventFieldTypeMismatch error for TLogMetrics
jzhou77 Jul 20, 2022
a4f7a82
Add getMappedRange latency metrics
jzhou77 Jul 19, 2022
760c447
Increase AllTags field length in TLogReady
halfprice Jul 20, 2022
2cb8860
Log tlog initialization
halfprice Jul 20, 2022
20aae7b
Add TraceEvent to the construction/destruction of DatabaseContext
xis19 Jul 22, 2022
24c6b3d
fixup! Update code per comments
xis19 Jul 22, 2022
6507a18
Add CommitDebug event after Commit Proxy reporting committed version …
halfprice Jul 21, 2022
d64b4d4
Error in FetchKey GRV shouldn't fail storageserver
halfprice Jul 24, 2022
bb35396
Add testing mechanism
halfprice Jul 25, 2022
2d1021b
Add timeout to places during Status generation
jzhou77 Jul 24, 2022
71b51f7
Fix test failure when getting wiggle value timed out
jzhou77 Jul 24, 2022
7d2b498
Reduce a DNS lookup in Status generation
jzhou77 Jul 24, 2022
baf0382
TLog track unpopped recovery tag
halfprice Jul 25, 2022
581c811
Fix a crash bug during CC shutdown process
jzhou77 Jul 26, 2022
f2ba466
disable AVX for 7.1.16 release
foundationdb-ci Jul 26, 2022
0fcb5e5
enable AVX and update version for 7.1.17 release
foundationdb-ci Jul 26, 2022
2f088d5
Add 7.1.16, 7.1.17 release notes
jzhou77 Jul 27, 2022
8a2a500
Validate subrange reads in simulation (#7597) (#7720)
sfc-gh-clin Jul 28, 2022
4cda9ed
Add g_traceBatch for prefetch query (#7730) (#7732)
flowguru Jul 29, 2022
8d9bf2a
Prefer IPv6 in hostname resolving. (#7750)
Aug 1, 2022
06e652b
Retain debug id in prefetch server-server call (#7755)
flowguru Aug 2, 2022
90abb42
Add test coverage for SpecialKeyRangeAsyncImpl::getRange(release-7.1)…
sfc-gh-clin Aug 4, 2022
e88da10
Add knobs for min/max Ratekeeper limit
jzhou77 Aug 8, 2022
6c86c2f
update version after 7.1.17 release
foundationdb-ci Aug 9, 2022
8a001a6
disable AVX for 7.1.18 release
foundationdb-ci Aug 9, 2022
fb32402
enable AVX and update version for 7.1.19 release
foundationdb-ci Aug 9, 2022
f2e47db
Fixed compilation warning about wrong initialization list order
1inker Aug 17, 2022
62832b2
Fixed ctest update_bindings_go_src_fdb_generated_go
1inker Aug 17, 2022
d52546f
Fixed compilation warnings about wrong initialization list order
1inker Aug 17, 2022
56b351e
Merge pull request #8 from 1inker/ow-fork-7.1
1inker Aug 17, 2022
e9c25e5
Remove extremely spammy trace event by only logging the re-enabling o…
sfc-gh-satherton Aug 13, 2022
24e5f6e
Fix ErrorCommitInfo event parser
bnamasivayam Aug 15, 2022
c5fa155
Merge branch 'release-7.1' into cherry7653
dlambrig Aug 19, 2022
0c8497d
Added test for check user foundationdb creation after clients install…
1inker Aug 21, 2022
77f92f0
setuptools installation moved to separate step because pip does not c…
1inker Aug 21, 2022
0e3e607
#XDB-96: Fixed user creation in Debian
1inker Aug 21, 2022
b3cded3
Merge pull request #7934 from jzhou77/release-7.1
jzhou77 Aug 22, 2022
d309f13
#XDB-96: Fixed user creation in Debian
1inker Aug 22, 2022
9f55851
Fixed compiler flags setup to skip GCC 7.5.0 in github
1inker Aug 22, 2022
89154cb
Fixed user checks after foundationdb-clients deploy
1inker Aug 22, 2022
ead4049
move global variables into function args/local variables, build both …
ammolitor Aug 23, 2022
de18613
Merge pull request #9 from 1inker/ow-fork-7.1
1inker Aug 24, 2022
af096aa
Merge branch 'release-7.1' into cherry7653
dlambrig Aug 24, 2022
167e1e6
Merge pull request #7666 from apple/cherry7653
jzhou77 Aug 25, 2022
8c15c4f
Try to remove debug information from release packages
1inker Aug 25, 2022
c3e94e2
Fix missing localities for fdbserver
jzhou77 Aug 25, 2022
432bc89
Add more traces for load balancing
jzhou77 Aug 25, 2022
f99e20b
Suppress AllLocalAlternativesFailed events
jzhou77 Aug 26, 2022
f517a22
Merge pull request #10 from 1inker/ow-fork-7.1-clang
1inker Aug 26, 2022
5685f03
Merge pull request #7995 from jzhou77/release-7.1
jzhou77 Aug 26, 2022
53d37cb
Fix a race that check happened before last configure command
jzhou77 Aug 30, 2022
f0a2dd2
Merge branch 'release-7.1' into release-7.1
flowguru Aug 30, 2022
00098c7
Merge pull request #8048 from jzhou77/release-7.1
jzhou77 Aug 30, 2022
3636907
Add 7.1.20, 7.1.21 release notes
foundationdb-ci Aug 31, 2022
d0f15fe
disable AVX for 7.1.20 release
foundationdb-ci Aug 31, 2022
57ae31f
enable AVX and update version for 7.1.21 release
foundationdb-ci Aug 31, 2022
bb8ebc4
Add more traces for load balancing
jzhou77 Aug 25, 2022
252c432
Suppress AllLocalAlternativesFailed events
jzhou77 Aug 26, 2022
a9a52db
Add 7.1.20, 7.1.21 release notes
foundationdb-ci Aug 31, 2022
8f8050a
disable AVX for 7.1.20 release
foundationdb-ci Aug 31, 2022
e9f38c7
enable AVX and update version for 7.1.21 release
foundationdb-ci Aug 31, 2022
d910eb8
Add back RecoveryAvailable trace event for status
jzhou77 Aug 31, 2022
4484852
update version after 7.1.21 release
foundationdb-ci Aug 31, 2022
8c442cd
Use event holder
jzhou77 Sep 1, 2022
29695cd
Merge pull request #8068 from jzhou77/release-7.1
jzhou77 Sep 1, 2022
49463aa
Ow fork 7.1 clang (#11)
1inker Sep 6, 2022
8adf931
TLog stopped bug fixes and CC leader replacement fix [release-7.1] (#…
jzhou77 Sep 6, 2022
3d94cf0
XDB-106: Fixed clang 15 compilation warnings
1inker Sep 7, 2022
ce331d7
Fixed ctests for builds without openssl (TLS_DISABLED)
1inker Sep 7, 2022
479f2c8
XDB-104: Strip binaries in RPM/DEB packages (#12)
1inker Sep 7, 2022
e790285
Merge pre-release '7.1.19' into ow-fork-7.1
1inker Sep 8, 2022
4195aa6
- Consider logging a trace event in "DatabaseContext::getLatestCommit…
sbodagala Sep 8, 2022
70a8f37
Add STORAGE_SERVER_REBOOT_ON_IO_TIMEOUT knob to reboot SS on io_timeout
xumengpanda Aug 24, 2022
858d1eb
Add 7.1 release note
xumengpanda Sep 8, 2022
569c472
Merge pull request #13 from 1inker/ow-fork-7.1
1inker Sep 8, 2022
9761990
Format based on repo format style
xumengpanda Sep 13, 2022
905090f
Merge pull request #8123 from xumengpanda/mengxu/io-timeout
jzhou77 Sep 14, 2022
093a5ed
Fix memory bug in index prefetch code path
flowguru Sep 15, 2022
60ab63e
Make a new memory arena for Tuple::clear
jzhou77 Sep 15, 2022
359f457
Merge pull request #8190 from hfu94/fix7
jzhou77 Sep 15, 2022
f6acea9
Merge pull request #8195 from jzhou77/release-7.1
jzhou77 Sep 16, 2022
1068a14
Complete the proxy support for backup to S3 (release-7.1). (#8193)
Sep 16, 2022
548560b
Return ctests run on fork 7.1 (#14)
1inker Sep 16, 2022
104b8cb
fix: persistentData->commit() was not protected by the persistentData…
sfc-gh-etschannen Sep 16, 2022
254c98c
Merge pull request #8210 from sfc-gh-etschannen/fix-tlog-corruption-7.1
jzhou77 Sep 16, 2022
3417025
Add new latency samples for GetValue, GetRange, QueueWait which is th…
sfc-gh-satherton Sep 14, 2022
8c16977
Add latency sample for getKey.
sfc-gh-satherton Sep 14, 2022
9b90a5e
Rename read latency trace events to a different scheme.
sfc-gh-satherton Sep 14, 2022
617b957
Merge pull request #8215 from neethuhaneesha/read-latencies
jzhou77 Sep 17, 2022
541a9c4
disable AVX for 7.1.22 release
foundationdb-ci Sep 19, 2022
dd2e68b
enable AVX and update version for 7.1.23 release
foundationdb-ci Sep 19, 2022
982240c
update version after 7.1.23 release
foundationdb-ci Sep 19, 2022
f1106c6
Added 7.1.22, 7.1.23 release notes
jzhou77 Sep 20, 2022
558f5f3
Merge pre-release '7.1.23' into ow-fork-7.1 branch
1inker Sep 20, 2022
9bfcb27
Merge pull request #8241 from jzhou77/release-7.1
jzhou77 Sep 20, 2022
4c137f8
Added RocksDB latency samples and priority knobs.
liquid-helium Sep 21, 2022
73f79bf
RocksDB block cache size increase.
neethuhaneesha Sep 21, 2022
11f1a5d
Added Histogram for ThreadReturnPromise latency in RocksDB.
liquid-helium Sep 26, 2022
5e714c9
Added RocksDB latency samples and priority knobs. (#8263)
liquid-helium Sep 26, 2022
d7d22fe
Cast to TaskPriority.
liquid-helium Sep 26, 2022
09b38b0
Merge branch 'release-7.1' of https://github.com/apple/foundationdb i…
liquid-helium Sep 26, 2022
0323ff0
Merge pull request #8274 from neethuhaneesha/blockCache-7.1
jzhou77 Sep 26, 2022
a5171d2
Added 7.1.22, 7.1.23 release notes (cherrypeek commit #f1106c6f7964f2…
1inker Sep 27, 2022
db905fc
Update default PEER_DEGRADATION_CONNECTION_FAILURE_COUNT value
halfprice Sep 26, 2022
b0d2514
Merge branch 'release-7.1' into histogram-thread-return-promise
liquid-helium Sep 27, 2022
58349da
Merge pull request #8297 from liquid-helium/histogram-thread-return-p…
jzhou77 Sep 28, 2022
53e2dde
Building release documentation
1inker Sep 29, 2022
e60dc70
Bumped to the new revision to fix some ctests
1inker Sep 29, 2022
613aa76
Link with openssl's librcypto wich was found during configuration ste…
1inker Sep 29, 2022
131ab4a
Fixed boost search: set Boost_iostreams_FOUND variable before check i…
1inker Sep 29, 2022
d5be1da
Make exclusion less pessimistic when warning about low space usage
vishesh Sep 29, 2022
dee4a4f
Storage server readrange and update latency. (#8353)
neethuhaneesha Sep 29, 2022
5a72589
Merge pull request #8347 from vishesh/issue-8127-exclude-release-71
jzhou77 Sep 29, 2022
a4e10d4
Update default PEER_LATENCY_DEGRADATION_PERCENTILE to 0.5
halfprice Sep 29, 2022
331af7b
Merge pull request #8370 from halfprice:zhewu/cherry-pick-knob-change
jzhou77 Sep 30, 2022
6d2f06c
Try to fix Python 3.11 incapability with Sphinx 1.5.6
1inker Oct 1, 2022
e426a2e
Disbale ctests again. Also make yamllint almost happy.
1inker Oct 1, 2022
32d218c
differentiate degraded peers and disconnected peers in gray failure
halfprice Sep 28, 2022
095322e
Add unit test
halfprice Sep 29, 2022
270f30a
Address comments by passing currentTime by value
halfprice Sep 29, 2022
fd4a292
Merge pull request #8382 from halfprice/zhewu/cherry-pick-add-disconn…
jzhou77 Oct 4, 2022
ef15ad1
Added knobs: (#8372)
liquid-helium Oct 4, 2022
56bd721
- Version vector specific: Propagate the latest commit version, as
sbodagala Oct 5, 2022
609433b
- Code formatting.
sbodagala Oct 6, 2022
3c200cb
Enable buggify for version_vector feature (#8407)
dlambrig Oct 6, 2022
4ed0baa
Merge pull request #8413 from sbodagala/release-7.1
jzhou77 Oct 6, 2022
53bc1c1
RocksDB compaction knobs and stats.
neethuhaneesha Oct 3, 2022
7dbafb5
Merge pull request #8396 from neethuhaneesha/compaction-7.1
jzhou77 Oct 6, 2022
772c48f
Ignore CC_DEGRADED_PEER_DEGREE_TO_EXCLUDE for disconnected peers. Cor…
halfprice Oct 3, 2022
8fec295
Add tests
halfprice Oct 4, 2022
dac4f2e
Comments cleanup
halfprice Oct 4, 2022
b800d1c
Format clean
halfprice Oct 4, 2022
ed8ed56
Merge pull request #8417 from halfprice/zhewu/cherrypick-disconnectio…
jzhou77 Oct 7, 2022
bd4f40f
Cherry pick 8340 - add knob to disable eager delete of client shared …
dlambrig Oct 8, 2022
4bc21ce
Add info in HealthMonitorDetectDegradedPeer to indicate whether a pee…
halfprice Oct 5, 2022
d8fe16a
Fix clang compiling errors
jzhou77 Oct 10, 2022
484614f
Fix rare/CheckRelocation setup failure
jzhou77 Sep 20, 2022
fd6c2f0
Merge pull request #8434 from apple/r71-cherry
jzhou77 Oct 10, 2022
07f3f7c
Merge pull request #8439 from halfprice/zhewu/cherrypick-add-satellit…
jzhou77 Oct 10, 2022
cdb57aa
Merge pull request #8442 from jzhou77/release-7.1
jzhou77 Oct 10, 2022
c294f24
Fixed a bug where rollbackVersion >= data->storageVersion() (#8290)
sfc-gh-etschannen Sep 26, 2022
148f815
Merge pull request #8468 from jzhou77/release-7.1
jzhou77 Oct 13, 2022
2befc2c
Bug fix: If a disk queue reader drops its future memory corruption co…
sfc-gh-satherton Oct 21, 2022
340cd0f
Merge pull request #8525 from sfc-gh-satherton/pr-8522-release-7.1
jzhou77 Oct 21, 2022
39fbbf8
Thread return promise histogram code uncommit
neethuhaneesha Oct 20, 2022
31c60cd
Bug fixes in IO buffer and class lifetimes in Redwood, DiskQueue, Asy…
sfc-gh-satherton Oct 25, 2022
c0ec8d9
Updated more simple but equivalent bug fix for disk queue read buffer…
sfc-gh-satherton Oct 25, 2022
bf2dd29
RocksDB disable WAL for experimentation. (#8554)
neethuhaneesha Oct 25, 2022
070ad8f
Setting sync to false when wal enabled.
neethuhaneesha Oct 25, 2022
8bcf7dc
Merge pull request #8562 from sfc-gh-satherton/pr-8526-7.1
jzhou77 Oct 25, 2022
bde5e56
Merge pull request #8520 from neethuhaneesha/threadReturnPromise
jzhou77 Oct 25, 2022
30a1e99
Don't fail ConsistencyCheck on first mismatch
vishesh Oct 22, 2022
0050da9
Merge pull request #8569 from neethuhaneesha/wal
jzhou77 Oct 25, 2022
51639be
Merge pull request #8571 from vishesh/cc-fail-later-71
jzhou77 Oct 25, 2022
0e1dd9f
cleanup shell script, remove set -x, add more detailed logging
ammolitor Oct 26, 2022
31a9182
update kubectl and awscli
ammolitor Oct 26, 2022
a4c6d0b
make same change to Dockerfile.eks (from #8583)
ammolitor Oct 26, 2022
2630c17
XDB-104 and XDB-128: Remove debug info from releases but keep it for …
1inker Oct 26, 2022
dcdb70c
Rocksdb storage using single_key_deletes instead of deleterange on cl…
neethuhaneesha Oct 27, 2022
426ded6
Adding boundaries to rocksdb read iterator pool. (#8606)
neethuhaneesha Oct 28, 2022
bb3ae4a
Enable clear range eager reads knob for rocksdb.
neethuhaneesha Oct 28, 2022
3470482
Merge pull request #8616 from neethuhaneesha/clearRanges-7.1
jzhou77 Oct 29, 2022
9381f02
File write() buffer lifetime fix in DiskQueue. (Cherry-pick #8646 to …
sfc-gh-satherton Nov 1, 2022
1304602
Merge pull request #8647 from sfc-gh-satherton/diskqueue-write-bug-7.1
jzhou77 Nov 1, 2022
cd9a8c2
Fix assertion failure due to empty rwImpls in SpecialKeySpaceCorrectn…
jzhou77 Nov 1, 2022
5545b90
Remove unnecessary decodeServerTagValue calls
jzhou77 Oct 31, 2022
8535cbb
Save a copy for param2
jzhou77 Nov 1, 2022
2f25e2e
Fix a race condition between batched peek and pop, where the server r…
halfprice Nov 1, 2022
88530f4
Merge branch 'release-7.1' into zhewu/fix-batch-peek-pop-race
halfprice Nov 1, 2022
2d25fef
Merge pull request #8656 from jzhou77:release-7.1
jzhou77 Nov 1, 2022
1866c57
Apply clang format
halfprice Nov 2, 2022
2b7ed1d
Change ASSERT_WE_THINK to ASSERT when checking that peek reply start …
halfprice Nov 2, 2022
a9b8a4b
Merge pull request #8660 from halfprice/zhewu/fix-batch-peek-pop-race
jzhou77 Nov 2, 2022
caade51
Add 7.1.24, 7.1.25 release notes
jzhou77 Nov 2, 2022
52b0956
Merge pull request #8671 from jzhou77/release-7.1
jzhou77 Nov 3, 2022
6af4626
outputBuffer may not be null-terminated, so don't convert to std::string
sfc-gh-anoyes May 10, 2022
6d0291d
Fix ASan failure heap use after free
jzhou77 Nov 3, 2022
6757d52
Update 7.1 release notes
jzhou77 Nov 3, 2022
333a8bf
Add braces
jzhou77 Nov 3, 2022
2639739
Merge pull request #8683 from jzhou77/release-7.1
jzhou77 Nov 4, 2022
5e9f96e
disable AVX for 7.1.24 release
foundationdb-ci Nov 7, 2022
1405bd6
enable AVX and update version for 7.1.24 release
foundationdb-ci Nov 7, 2022
eda1349
Merge release '7.1.25' into ow-fork-7.1 branch
1inker Nov 9, 2022
a71c4f8
Bumped to the new revision
1inker Nov 11, 2022
d7ce18d
Fixed github warning about set-output deprecation (#20)
1inker Nov 11, 2022
ad15102
github actions update to suppress warnings about actions deprecations…
1inker Nov 11, 2022
adcbe23
Updated github action actions/download-artifact to suppress warnings …
1inker Nov 12, 2022
b66bc75
PBOX-104744: Tarball with documantation would have extention .tgz ins…
1inker Dec 1, 2022
fc8cc7c
Revert "Try to fix Python 3.11 incapability with Sphinx 1.5.6" becaus…
oleg68 Dec 22, 2022
0549fbd
Fixed build errors on a pure ubuntu 18.04 (#30)
oleg68 Dec 22, 2022
ea4c2e8
Ow fork 7.1 xdb 128 (#32)
oleg68 Dec 22, 2022
8ec0860
XDB-130: Do not restart FDB during update procedure in HA cluster (#25)
1inker Dec 22, 2022
9aa2079
Updated requirements.txt
makar112233 Jan 30, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
284 changes: 284 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,284 @@
---
name: Build

on:
push:
branches: ["ow-fork-*"]
tags: ["*-*ow"]

jobs:
calc_ver:
# calculate versions from git tags
runs-on: ubuntu-latest
outputs:
project_ver: ${{steps.vers.outputs.project_ver}}
build_ver: ${{steps.vers.outputs.build_ver}}
full_ver: ${{steps.vers.outputs.full_ver}}
release_flag: ${{steps.vers.outputs.release_flag}}
release_id: ${{ steps.create_release.outputs.id }}
release_upload_url: ${{ steps.create_release.outputs.upload_url }}

steps:
- name: Checkout
uses: actions/checkout@v3

- name: Calculate versions
id: vers
shell: bash
run: |
git fetch --prune --unshallow --tags --force
GIT_VERSION=`git describe --tags`
PROJECT_VERSION=`echo $GIT_VERSION | cut -d- -f1`
BUILD_VERSION=`echo $GIT_VERSION | cut -d- -f2-3 --output-delimiter=.`
GIT_CHANGE_NUM=`echo $GIT_VERSION | cut -d- -f3`
if [[ -n "$GIT_CHANGE_NUM" ]] || [[ "$BUILD_VERSION" < "1" ]]; then
RELEASE_FLAG=OFF
else
RELEASE_FLAG=ON
fi

echo "project_ver=$PROJECT_VERSION" >>$GITHUB_OUTPUT
echo "build_ver=$BUILD_VERSION" >>$GITHUB_OUTPUT
echo "full_ver=$PROJECT_VERSION-$BUILD_VERSION" >>$GITHUB_OUTPUT
echo "release_flag=$RELEASE_FLAG" >>$GITHUB_OUTPUT

- name: Display versions
run: |
echo "project_ver=${{steps.vers.outputs.project_ver}}"
echo "build_ver=${{steps.vers.outputs.build_ver}}"
echo "full_ver=${{steps.vers.outputs.full_ver}}"
echo "release_flag=${{steps.vers.outputs.release_flag}}"

- name: Create Draft Release
if: ${{ steps.vers.outputs.release_flag == 'ON' }}
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: "${{ steps.vers.outputs.full_ver }}"
release_name: "v${{ steps.vers.outputs.full_ver }}"
draft: true
prerelease: false

build_linux:
runs-on: ubuntu-18.04
needs: [calc_ver]

steps:
- name: Install Dependencies
shell: bash
run: |
sudo apt update
sudo DEBIAN_FRONTEND=noninteractive apt install -y sudo git cmake g++ build-essential libssl-dev default-jdk python3 python3-pip liblz4-dev ninja-build rpm clang-10 clang python3-venv
sudo pip3 install virtualenv
sudo DEBIAN_FRONTEND=noninteractive apt install -y dirmngr gnupg apt-transport-https ca-certificates
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
sudo sh -c 'echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" > /etc/apt/sources.list.d/mono-official-stable.list'
sudo apt update
sudo apt install -y mono-complete

- name: Checkout
uses: actions/checkout@v3

- name: Create Build Environment
# Some projects don't allow in-source building, so create a separate build directory
# We'll use this as our working directory for all subsequent commands
run: cmake -E make_directory ${{github.workspace}}/bld

- name: Configure CMake
# Use a bash shell so we can use the same syntax for environment variable
# access regardless of the host operating system
shell: bash
working-directory: ${{github.workspace}}/bld
# Note the current convention is to use the -S and -B options here to specify source
# and build directories, but this is only available with CMake 3.13 and higher.
# The CMake binaries on the Github Actions machines are (as of this writing) 3.12
run: CC=clang-10 CXX=clang++-10 cmake -DFDB_RELEASE=${{needs.calc_ver.outputs.release_flag}} -DBUILD_VERSION=${{needs.calc_ver.outputs.build_ver}} -DGENERATE_DEBUG_PACKAGES=OFF -DUSE_LIBCXX=OFF -DSTATIC_LINK_LIBCXX=ON -DENABLE_SIMULATION_TESTS=ON -G Ninja ${{github.workspace}}

- name: Build
working-directory: ${{github.workspace}}/bld
shell: bash
run: ninja -j 3 all documentation/package_html

# - name: Minimal tests
# working-directory: ${{github.workspace}}/bld
# shell: bash
# run: ctest --output-on-failure -V

- name: Build RPMs
working-directory: ${{github.workspace}}/bld
shell: bash
run: |
cpack -G RPM
for fn in packages/*.rpm; do echo "$fn:"; rpm -qpRv $fn; echo; done

- name: Build DEBs
working-directory: ${{github.workspace}}/bld
shell: bash
run: |
cpack -G DEB
for fn in packages/*.deb; do echo "$fn:"; dpkg -I $fn; done

# - name: Remove versioned
# shell: bash
# run: rm -rf ${{github.workspace}}bld/packages/*${{needs.calc_ver.outputs.full_ver}}.versioned*

- name: Upload result
uses: nanoufo/action-upload-artifacts-and-release-assets@v1.5
with:
path: |
${{github.workspace}}/bld/packages/*${{needs.calc_ver.outputs.full_ver}}*
upload-release-files: ${{ needs.calc_ver.outputs.release_flag }}
release-upload-url: ${{ needs.calc_ver.outputs.release_upload_url }}
if-no-files-found: error
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

test_deploy:
needs: [calc_ver, build_linux]
runs-on: ubuntu-latest
env:
RHEL_IMAGE_NAME: "registry.access.redhat.com/ubi8/ubi:latest"
UBUNTU_IMAGE_NAME: "ubuntu:18.04"

steps:
- name: Download RPMs and DEBs packages
uses: actions/download-artifact@v3
id: download_packages

- name: Echo download path
run: echo ${{steps.download_packages.outputs.download-path}}

- name: Display structure of downloaded files
run: ls -R
working-directory: ${{github.workspace}}

- name: Download RHEL and Ubuntu images
run: |
podman pull ${{ env.RHEL_IMAGE_NAME }}
podman pull ${{ env.UBUNTU_IMAGE_NAME }}

- name: Test RPMs deploy
shell: bash
run: |
MY_ARCH=`uname -m`
curr_path="${{ github.workspace }}"
server="foundationdb-server-${{ needs.calc_ver.outputs.full_ver }}.${MY_ARCH}.rpm"
clients="foundationdb-clients-${{ needs.calc_ver.outputs.full_ver }}.${MY_ARCH}.rpm"
podman run --rm -v ${curr_path}/${server}/${server}:/home/${server} ${{ env.RHEL_IMAGE_NAME }} /bin/bash -c "dnf install -y /home/${server}" && { echo "Installation $server have to fail"; exit 1; }
podman run --rm -v ${curr_path}/${server}/${server}:/home/${server} -v ${curr_path}/${clients}/${clients}:/home/${clients} ${{ env.RHEL_IMAGE_NAME }} /bin/bash -c "dnf install -y /home/${server} /home/${clients}" || { echo "Installation $server and $clients have to success"; exit 2; }
podman run --rm -v ${curr_path}/${clients}/${clients}:/home/${clients} ${{ env.RHEL_IMAGE_NAME }} /bin/bash -c "dnf install -y /home/${clients} && grep -q foundationdb /etc/passwd" || { echo "User foundationdb is not created after $clients installation"; exit 3; }

- name: Test versioned RPMs deploy
shell: bash
run: |
MY_ARCH=`uname -m`
curr_path="${{ github.workspace }}"
server="foundationdb-${{ needs.calc_ver.outputs.full_ver }}-server-versioned-${{ needs.calc_ver.outputs.full_ver }}.${MY_ARCH}.rpm"
clients="foundationdb-${{ needs.calc_ver.outputs.full_ver }}-clients-versioned-${{ needs.calc_ver.outputs.full_ver }}.${MY_ARCH}.rpm"
podman run --rm -v ${curr_path}/${server}/${server}:/home/${server} ${{ env.RHEL_IMAGE_NAME }} /bin/bash -c "dnf install -y /home/${server}" && { echo "Installation $server have to fail"; exit 1; }
podman run --rm -v ${curr_path}/${server}/${server}:/home/${server} -v ${curr_path}/${clients}/${clients}:/home/${clients} ${{ env.RHEL_IMAGE_NAME }} /bin/bash -c "dnf install -y /home/${server} /home/${clients}" || { echo "Installation $server and $clients have to success"; exit 2; }
podman run --rm -v ${curr_path}/${clients}/${clients}:/home/${clients} ${{ env.RHEL_IMAGE_NAME }} /bin/bash -c "dnf install -y /home/${clients} && grep -q foundationdb /etc/passwd" && { echo "User foundationdb was created after $clients installation"; exit 3; }
podman run --rm -v ${curr_path}/${server}/${server}:/home/${server} -v ${curr_path}/${clients}/${clients}:/home/${clients} ${{ env.RHEL_IMAGE_NAME }} /bin/bash -c "dnf install -y /home/${server} /home/${clients} && grep -q foundationdb /etc/passwd" || { echo "User foundationdb is not created after $server installation"; exit 4; }

- name: Test DEBs deploy
shell: bash
run: |
MY_ARCH=`dpkg-architecture -q DEB_BUILD_ARCH`
curr_path="${{ github.workspace }}"
server="foundationdb-server_${{ needs.calc_ver.outputs.full_ver }}_${MY_ARCH}.deb"
clients="foundationdb-clients_${{ needs.calc_ver.outputs.full_ver }}_${MY_ARCH}.deb"
podman run --rm -v ${curr_path}/${server}/${server}:/home/${server} ${{ env.UBUNTU_IMAGE_NAME }} /bin/bash -c "apt-get update && apt-get install -y /home/${server}" && { echo "Installation $server have to fail"; exit 1; }
podman run --rm -v ${curr_path}/${server}/${server}:/home/${server} -v ${curr_path}/${clients}/${clients}:/home/${clients} ${{ env.UBUNTU_IMAGE_NAME }} /bin/bash -c "apt-get update && apt-get install -y /home/${server} /home/${clients}" || { echo "Installation $server and $clients have to success"; exit 2; }
podman run --rm -v ${curr_path}/${clients}/${clients}:/home/${clients} ${{ env.UBUNTU_IMAGE_NAME }} /bin/bash -c "apt-get update && apt-get install -y /home/${clients} && grep -q foundationdb /etc/passwd" || { echo "User foundationdb is not created after $clients installation"; exit 3; }

- name: Test versioned DEBs deploy
shell: bash
run: |
MY_ARCH=`dpkg-architecture -q DEB_BUILD_ARCH`
curr_path="${{ github.workspace }}"
server="foundationdb-${{ needs.calc_ver.outputs.full_ver }}-server-versioned_${{ needs.calc_ver.outputs.full_ver }}_${MY_ARCH}.deb"
clients="foundationdb-${{ needs.calc_ver.outputs.full_ver }}-clients-versioned_${{ needs.calc_ver.outputs.full_ver }}_${MY_ARCH}.deb"
podman run --rm -v ${curr_path}/${server}/${server}:/home/${server} ${{ env.UBUNTU_IMAGE_NAME }} /bin/bash -c "apt-get update && apt-get install -y /home/${server}" && { echo "Installation $server have to fail"; exit 1; }
podman run --rm -v ${curr_path}/${server}/${server}:/home/${server} -v ${curr_path}/${clients}/${clients}:/home/${clients} ${{ env.UBUNTU_IMAGE_NAME }} /bin/bash -c "apt-get update && apt-get install -y /home/${server} /home/${clients}" || { echo "Installation $server and $clients have to success"; exit 2; }
podman run --rm -v ${curr_path}/${clients}/${clients}:/home/${clients} ${{ env.UBUNTU_IMAGE_NAME }} /bin/bash -c "apt-get update && apt-get install -y /home/${clients} && grep -q foundationdb /etc/passwd" && { echo "User foundationdb was created after $clients installation"; exit 3; }
podman run --rm -v ${curr_path}/${server}/${server}:/home/${server} -v ${curr_path}/${clients}/${clients}:/home/${clients} ${{ env.UBUNTU_IMAGE_NAME }} /bin/bash -c "apt-get update && apt-get install -y /home/${server} /home/${clients} && grep -q foundationdb /etc/passwd" || { echo "User foundationdb is not created after $server installation"; exit 4; }

release:
needs: [calc_ver, build_linux]
if: ${{ needs.calc_ver.outputs.release_flag == 'ON' }}
runs-on: ubuntu-latest

steps:
- uses: eregon/publish-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
release_id: ${{ needs.calc_ver.outputs.release_id }}

tests:
needs: [calc_ver, build_linux]
runs-on: ubuntu-latest
env:
JOSHUA_DB_VER: "6.3.15"
N_OF_TESTS: 600 # to fit in 360 minutes job run limit
JOSHUA_AGENT_URL: "docker.io/1inker"
JOSHUA_AGENT_TAG: "rhel8-20220816"

steps:
- name: Install dependencies
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y sudo wget crudini git python3 python3-pip
sudo pip3 install wheel setuptools python-dateutil lxml boto3

- name: Install FoundationDb
shell: bash
run: |
mkdir deb
pushd deb
MY_ARCH=`dpkg-architecture -q DEB_BUILD_ARCH`
wget https://github.com/apple/foundationdb/releases/download/${{ env.JOSHUA_DB_VER }}/foundationdb-clients_${{ env.JOSHUA_DB_VER }}-1_${MY_ARCH}.deb https://github.com/apple/foundationdb/releases/download/${{ env.JOSHUA_DB_VER }}/foundationdb-server_${{ env.JOSHUA_DB_VER }}-1_${MY_ARCH}.deb
sudo apt-get install -y ./foundationdb-clients_${{ env.JOSHUA_DB_VER }}-1_${MY_ARCH}.deb ./foundationdb-server_${{ env.JOSHUA_DB_VER }}-1_${MY_ARCH}.deb
popd
sudo systemctl stop foundationdb
MY_IP=`hostname -I | awk '{print $1}'`
sudo sed -i s/127.0.0.1/$MY_IP/ /etc/foundationdb/fdb.cluster
sudo crudini --set /etc/foundationdb/foundationdb.conf fdbserver memory 4GiB
sudo systemctl start foundationdb
pip3 install 'foundationdb==${{ env.JOSHUA_DB_VER }}'

- name: Download the correctness package
uses: actions/download-artifact@v3
id: download_correctness
with:
name: correctness-${{needs.calc_ver.outputs.full_ver}}.tar.gz

- name: 'Echo download path'
run: echo ${{steps.download_correctness.outputs.download-path}}

- name: Display structure of downloaded files
run: ls -R
working-directory: ${{github.workspace}}

- name: Download joshua
shell: bash
run: |
git clone https://github.com/FoundationDB/fdb-joshua.git

- name: run joshua-agent
shell: bash
run: |
podman pull ${{ env.JOSHUA_AGENT_URL }}/joshua-agent:${{ env.JOSHUA_AGENT_TAG }}
podman create --name joshua-agent -v /etc/foundationdb:/etc/foundationdb -it joshua-agent:${{ env.JOSHUA_AGENT_TAG }}
podman start joshua-agent

- name: run tests
shell: bash
working-directory: ${{github.workspace}}/fdb-joshua
run: |
podman ps
python3 -m joshua.joshua start --tarball ${{github.workspace}}/correctness-${{needs.calc_ver.outputs.full_ver}}.tar.gz --max-runs ${{ env.N_OF_TESTS }} && \
python3 -m joshua.joshua tail
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,11 @@ flow/coveragetool/obj
/.clangd
/.cache

# Openway fork build
/bld/
/ide-projects/*/nbproject/private/
/Testing/Temporary/

# Temporary and user configuration files
*~
*.orig
Expand Down
19 changes: 15 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ else()
endif()

project(foundationdb
VERSION 7.1.0
VERSION 7.1.25
DESCRIPTION "FoundationDB is a scalable, fault-tolerant, ordered key-value store with full ACID transactions."
HOMEPAGE_URL "http://www.foundationdb.org/"
LANGUAGES C CXX ASM)
Expand Down Expand Up @@ -89,24 +89,35 @@ if (FDB_RELEASE_CANDIDATE)
set(FDB_RELEASE_CANDIDATE_VERSION 1 CACHE STRING "release candidate version")
set(FDB_VERSION ${PROJECT_VERSION}-rc${FDB_RELEASE_CANDIDATE_VERSION})
else()
set(FDB_VERSION ${PROJECT_VERSION})
if(NOT DEFINED BUILD_VERSION)
if(NOT FDB_RELEASE)
if(CURRENT_GIT_VERSION)
set(git_string ".${CURRENT_GIT_VERSION}")
endif()
set(BUILD_VERSION "0${git_string}.PRERELEASE")
else()
set(BUILD_VERSION "1")
endif()
endif()
set(FDB_VERSION "${PROJECT_VERSION}-${BUILD_VERSION}")
endif()
if (NOT FDB_RELEASE)
string(TIMESTAMP FDB_BUILDTIME %Y%m%d%H%M%S)
set(FDB_BUILDTIME_STRING ".${FDB_BUILDTIME}")
set(PRERELEASE_TAG "prerelease")
endif()
set(FDB_VERSION_PLAIN ${FDB_VERSION})
string(REPLACE "." ";" FDB_VERSION_LIST ${FDB_VERSION_PLAIN})
string(REPLACE "." ";" FDB_VERSION_LIST ${PROJECT_VERSION})
list(GET FDB_VERSION_LIST 0 FDB_MAJOR)
list(GET FDB_VERSION_LIST 1 FDB_MINOR)
list(GET FDB_VERSION_LIST 2 FDB_PATCH)
set(FDB_PACKAGE_NAME "${FDB_MAJOR}.${FDB_MINOR}")
configure_file(${CMAKE_SOURCE_DIR}/versions.target.cmake ${CMAKE_CURRENT_BINARY_DIR}/versions.target)
file(WRITE ${CMAKE_BINARY_DIR}/version.txt ${FDB_VERSION})

message(STATUS "FDB version is ${FDB_VERSION}")
message(STATUS "FDB package name is ${FDB_PACKAGE_NAME}")
message(STATUS "FDB version is ${FDB_VERSION}")
message(STATUS "FDB_PATCH is ${FDB_PATCH}")
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/fdbclient/versions.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/fdbclient/versions.h)


Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<img alt="FoundationDB logo" src="documentation/FDB_logo.png?raw=true" width="400">

![Build Status](https://codebuild.us-west-2.amazonaws.com/badges?uuid=eyJlbmNyeXB0ZWREYXRhIjoiZ1FhRlNwU0JXeHVpZkt0a0k0QlNJK3BEUkplTGVRYnk3azBoT1FOazBQbGlIeDgrYmRJZVhuSUI4RTd3RWJWcjVMT3ZPTzV0NXlCTWpPTGlPVlMzckJJPSIsIml2UGFyYW1ldGVyU3BlYyI6IlB0TWVCM0VYdU5PQWtMUFYiLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D&branch=master)
![Build Status](https://codebuild.us-west-2.amazonaws.com/badges?uuid=eyJlbmNyeXB0ZWREYXRhIjoiVjVzb1RQNUZTaGxGNm9iUnk4OUZ1d09GdTMzZnVOT1YzaUU1RU1xR2o2TENRWFZjb3ZrTHJEcngrZVdnNE40bXJJVDErOGVwendIL3lFWFY3Y3oxQmdjPSIsIml2UGFyYW1ldGVyU3BlYyI6IlJUbWhnaUlJVXRORUNJTjQiLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D&branch=release-7.1)

FoundationDB is a distributed database designed to handle large volumes of structured data across clusters of commodity servers. It organizes data as an ordered key-value store and employs ACID transactions for all operations. It is especially well-suited for read/write workloads but also has excellent performance for write-intensive workloads. Users interact with the database using API language binding.

Expand Down
1 change: 1 addition & 0 deletions bindings/c/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -295,6 +295,7 @@ fdb_install(
FILES foundationdb/fdb_c.h
${CMAKE_CURRENT_BINARY_DIR}/foundationdb/fdb_c_options.g.h
${CMAKE_SOURCE_DIR}/fdbclient/vexillographer/fdb.options
${CMAKE_SOURCE_DIR}/bindings/c/foundationdb/fdb_c_types.h
DESTINATION include
DESTINATION_SUFFIX /foundationdb
COMPONENT clients)
Expand Down
Loading