Commit Graph

15404 Commits

Author SHA1 Message Date
Steve Atherton 8e7a97f495 Bug fix: BTreeCursor::init() did not clear path. 2021-06-08 16:46:09 -07:00
Steve Atherton a58ac622ed Bug fix in test data generation for IntIntPair DeltaTree unit test. 2021-06-08 16:46:09 -07:00
Steve Atherton a6f7d37a25 Bug fixes related to DeltaTree2::Cursor contract being different from DeltaTree::Cursor. 2021-06-08 16:46:09 -07:00
Steve Atherton 8ef516ead2 Bug fixes from bad search/replace. DeltaTree2::Cursor now keeps current decoded item as a member instead of calculating it on demand in get(). 2021-06-08 16:46:09 -07:00
Steve Atherton d155482f5f Remove the legacy IVersionedStore / IStoreCursor classes and implementations as they are no longer useful or efficient, respectively. BTreeCursor can be used far more efficiently to access the BTree. 2021-06-08 16:46:09 -07:00
Steve Atherton 1d947bff2d Initial pass at getting BTree to compile with DeltaTree2. Does not work since the Cursor contract has changed. 2021-06-08 16:46:09 -07:00
Steve Atherton d208d3f3ec Bug fixes, moveFirst/Last didn't handle tree size of 1 correctly. 2021-06-08 16:46:09 -07:00
Steve Atherton 65cfd31221 Added memory-only option for redwood set test. 2021-06-08 16:46:09 -07:00
Steve Atherton caf4b3c345 DeltaTree2 refactor. Nodes no longer contain parent offsets. DecodedCache no longer uses a hash but rather a vector of DecodedNodes, which Cursors reference by vector index. DecodedNodes contain parent node indexes which are populated on-demand, making storage in the serialized form no longer necessary. 2021-06-08 16:46:04 -07:00
Steve Atherton b0ec76d401 Test output improvements. 2021-06-08 15:32:54 -07:00
Steve Atherton 9ab69b5cb1 RedwoodRecordRef support for DeltaTree2. 2021-06-08 15:32:54 -07:00
Steve Atherton 701f05e513 Bug fix, recursive call to get() could cause rehashing so hash lookup must be redone afterward. 2021-06-08 15:32:54 -07:00
Steve Atherton b2c7d957e2 Added DeltaTree2, which can be shared between updated versions of the same tree, but so far it is 50% slower. 2021-06-08 15:32:26 -07:00
A.J. Beamon 5d617614a5
Merge pull request #4926 from sfc-gh-ajbeamon/add-release-7.0-release-notes
Add a release note for PR 3759
2021-06-08 13:05:18 -07:00
sfc-gh-ngoyal 9657391856
Merge pull request #4915 from sfc-gh-ajbeamon/add-release-7.0-release-notes
Add some release notes for 7.0 changes
2021-06-08 10:39:43 -07:00
A.J. Beamon 8674a6c4d6 Add a release note for PR 3759. 2021-06-08 09:01:54 -07:00
A.J. Beamon d0ac78ccf1 Add some release notes for 7.0 changes. Fix a bad link. 2021-06-07 15:05:30 -07:00
Jingyu Zhou 801258e916
Merge pull request #3404 from sfc-gh-tclinkenbeard/add-vectorref-clear
Added VectorRef::clear
2021-06-07 13:44:08 -07:00
Jingyu Zhou e34df983ee
Merge pull request #4800 from sfc-gh-tclinkenbeard/remove-extra-copies
Remove unnecessary temporary objects while growing objects of type std::vector<std::pair<A, B>>
2021-06-07 13:23:50 -07:00
Andrew Noyes 19d22391e7
Merge pull request #4911 from sfc-gh-anoyes/anoyes/arm-fdb_c-clang
Fix clang build on Arm
2021-06-07 11:35:56 -07:00
A.J. Beamon e02ef3b8d8
Merge pull request #4842 from RenxuanW/config
Improve logging on the current view of the database configuration that the cluster controller is using.
2021-06-07 11:28:40 -07:00
sfc-gh-tclinkenbeard 371a38e6e5 Merge remote-tracking branch 'origin/master' into remove-extra-copies 2021-06-07 10:26:06 -07:00
Trevor Clinkenbeard 866f536983
Merge pull request #4888 from sfc-gh-tclinkenbeard/remove-fdbserver-includes
Remove fdbserver includes from fdbclient
2021-06-07 10:22:13 -07:00
Andrew Noyes 5d2d4622f6
Update bindings/c/test/unit/unit_tests_version_510.cpp 2021-06-07 09:40:26 -07:00
Andrew Noyes 402622ace9
Merge pull request #4909 from apple/anoyes/fix-ub
Fix several instances of undefined behavior
2021-06-07 08:58:45 -07:00
Andrew Noyes d6a6a8b3dd
Remove header that's no longer needed 2021-06-06 08:36:48 -07:00
Andrew Noyes 0beb548e99
Improve comments 2021-06-05 17:10:41 -07:00
Andrew Noyes cd5c0481cc Use linker script for external workloads
This fixes an issue on Arm with lld:

ld.lld: error: relocation R_AARCH64_PREL64 cannot be used against symbol OPENSSL_armcap_P; recompile with -fPIC

I think the problem was that lld thought that the shared object might
need to interpose OPENSSL_armcap_P at runtime, although honestly I'm not
too sure about all this linker stuff.
2021-06-05 14:43:50 -07:00
Andrew Noyes 311da4b07a Explain requirements for fdb_c.g.S implementations 2021-06-05 14:43:50 -07:00
Andrew Noyes 34529c353c Try to fix arm build on clang 2021-06-05 14:42:30 -07:00
Xiaoxi Wang 838d847d4e
Merge pull request #4860 from sfc-gh-xwang/ppwtest
implement perpetual storage wiggling feature
2021-06-04 16:18:39 -07:00
Chaoguang Lin a2fe1a6139
Merge pull request #4904 from sfc-gh-clin/test-coverage-for-fdbcli
Add test coverage for fdbcli commands using a python script
2021-06-04 15:02:48 -07:00
Josh Slocum 9b36f69b8d
Merge pull request #4892 from sfc-gh-jslocum/tss_mappingv2
TSS Mapping Change
2021-06-04 14:57:51 -07:00
Chaoguang Lin a5e69c269a remove unused header, fix the CMake rule 2021-06-04 20:44:49 +00:00
Andrew Noyes 47368d114e Use uint64_t instead of uint32_t for histogram reporting 2021-06-04 13:09:52 -07:00
Lukas Joswiak ffac985077
Merge pull request #4898 from sfc-gh-ljoswiak/fixes/global-config-processes-2
Fix global config not triggering changes on server processes (attempt 2)
2021-06-04 13:03:42 -07:00
Andrew Noyes ce25a99000 Disallow conversion from float in specialCounter 2021-06-04 12:09:13 -07:00
Xiaoxi Wang 5be65fab5e add comment 2021-06-04 18:40:18 +00:00
Andrew Noyes abf7e4c8dc Fix signed integer overflow 2021-06-04 10:00:05 -07:00
Andrew Noyes fbe96939ba Avoid likely use after destruction
This manifested in UBSAN as use of an invalid vptr, which usually means
use after destruction. Give shared ownership to the getDesired actor to
avoid use after destruction. It is not clear to me when this doesn't
seem to manifest as a heap-use-after-free in e.g. ASAN or valgrind.
2021-06-04 09:54:06 -07:00
Andrew Noyes c88750a5a9 Avoid passing null as second arg to memcmp 2021-06-04 09:53:23 -07:00
Andrew Noyes 57b9ed3951 Avoid left shift of int by 32 2021-06-04 09:52:29 -07:00
Andrew Noyes 98f3428beb Avoid left shift of negative value 2021-06-04 09:51:30 -07:00
Andrew Noyes 58ca93a1ee Avoid casting float unrepresentable as int to int
Apparently it was possible for this value to be unrepresentable as an
int. int64_t seems to be sufficient.
2021-06-04 09:49:27 -07:00
Andrew Noyes d14716c39a Avoid applying non-zero offset to null in c++ 2021-06-04 09:48:43 -07:00
Andrew Noyes 50b1d97bf6 Avoid calling memcpy with null 2nd argument 2021-06-04 09:48:06 -07:00
Andrew Noyes f5d312e4a0 Avoid casting NaN to int
Apparently it's possible for dbSizeEstimate to be negative
2021-06-04 09:47:06 -07:00
Andrew Noyes 6992f5814b Avoid casting NaN to int64_t
If the queue is empty, consider the queue to be 100% processed
2021-06-04 09:44:49 -07:00
Andrew Noyes 1ee25e9b91 Avoid casting NaN to uint8_t 2021-06-04 09:43:50 -07:00
Andrew Noyes 5fbadb66c2 Clamp to max int if large float is not representable as int 2021-06-04 09:42:39 -07:00