Commit Graph

43 Commits

Author SHA1 Message Date
sfc-gh-tclinkenbeard a71099471b Update copyright header dates 2022-03-21 13:36:23 -07:00
A.J. Beamon c630cb45cd Fix formatting 2022-03-06 21:54:21 -08:00
A.J. Beamon c99c7cf55f Apply tenant prefixes on the storage server. The commit proxy can serve tenant location requests. Fix some bugs. 2022-03-06 21:54:21 -08:00
sfc-gh-tclinkenbeard c7b28abaf0 Enable unknown-pragmas warning for clang 2021-11-01 14:18:31 -07:00
sfc-gh-tclinkenbeard b9a22a61ef Fix many -Wreorder-ctor warnings 2021-07-23 17:33:18 -07:00
FDB Formatster df90cc89de apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-03-10 10:18:07 -08:00
sfc-gh-tclinkenbeard 4669f837fa Add uses of makeReference 2020-11-07 22:10:18 -08:00
sfc-gh-tclinkenbeard b4e209bd4e Replace NULL with nullptr in fdbclient 2020-09-20 11:33:09 -07:00
sfc-gh-tclinkenbeard 99bf993815 Replace BOOST_NOEXCEPT with noexcept 2020-06-09 22:39:19 -07:00
negoyal 049e3d36be Revert custom allocator. 2020-05-08 15:43:48 -07:00
Neelam Goyal 40fcdcb35c
Update fdbclient/VersionedMap.h
Co-Authored-By: Trevor Clinkenbeard <trevorclinkenbeard@gmail.com>
2020-04-13 12:02:48 -07:00
Neelam Goyal a85d9f8cce
Update fdbclient/VersionedMap.h
Co-Authored-By: Trevor Clinkenbeard <trevorclinkenbeard@gmail.com>
2020-04-13 12:01:06 -07:00
negoyal 99a5cb0572 Fix a corruption bug. 2020-03-13 18:52:34 -07:00
negoyal 3acd3ad3af Some bugfixes and cleanup. 2020-03-02 17:11:23 -08:00
negoyal 28768715f2 Custom bookkeeping allocator for PTree. Simple Cache workload. 2020-02-14 11:42:47 -08:00
negoyal 29b77863f0 Cache warmup and Consistency check workload changes. 2020-01-07 13:06:58 -08:00
negoyal a4a0bf18f9 Merging with Master. 2019-11-12 13:01:29 -08:00
negoyal 0d06bf8a66
Update fdbclient/VersionedMap.h
Co-Authored-By: Steve Atherton <stevea@apple.com>
2019-09-26 21:58:04 -07:00
negoyal 2526c1a0d2
Update fdbclient/VersionedMap.h
Co-Authored-By: Steve Atherton <stevea@apple.com>
2019-09-26 21:57:54 -07:00
negoyal d049105a69
Update fdbclient/VersionedMap.h
Co-Authored-By: Steve Atherton <stevea@apple.com>
2019-09-26 21:57:44 -07:00
negoyal f168c3fda9
Update fdbclient/VersionedMap.h
Renamed variable to be more specific

Co-Authored-By: Steve Atherton <stevea@apple.com>
2019-09-26 21:57:32 -07:00
negoyal 381f3220b3
Update fdbclient/VersionedMap.h
Indentation Fix

Co-Authored-By: Steve Atherton <stevea@apple.com>
2019-09-26 21:57:11 -07:00
negoyal efbce26c78
Update fdbclient/VersionedMap.h
Indentation fix.

Co-Authored-By: Steve Atherton <stevea@apple.com>
2019-09-26 21:56:43 -07:00
negoyal 9d334948b1 Final Cleanup (hopefully) and including some performance numbers.
I microbenchmarked the storage queue standalone. i.e. the set and clearrange mutations
were performed solely at the in-memory storage queue. No other FDB components were involved
in this test. And hence the numbers presented here the best case numbers.

Test setup:
- 100M mutations: about 5% clearRange and 95% set mutations
- 100M rangeReads
- Keys/Values generated using deterministicRandom()
- A new version generated for each mutation (i.e. it's an extreme version test)

Performance comparison between std::map and std::deque for VersionedMap"

                                      std::map    std::deque
Time to perform the mutations         220.066     218.784
Time to perform buffered readRange    184.423     171.578
2019-09-04 11:29:29 -07:00
negoyal 91020abb5a Fixed another Assert. 2019-09-04 10:59:44 -07:00
negoyal ce53f7a896 Attempting to fix a segv. 2019-09-03 15:53:03 -07:00
mpilman ed38c0595b Tried to fix segfault 2019-09-03 13:37:27 -07:00
negoyal 2352193b3f Code cleanup.
Removed commented out code and added some comments for clarification.
2019-08-30 16:48:43 -07:00
negoyal 7a58b17e4e Fixed a memory bug.
While replacing std::map with std::deque. Don't store
any pointers because emplace can invalidate iterators.
2019-08-15 12:01:34 -07:00
negoyal caf8737f16 This is a draft PR. Not yet open for review. Please ignore for now.
Replaces std::map with std::deque in versionedMap.
2019-08-12 22:52:10 -07:00
Alex Miller d7c00f9cd2 And another. 2019-06-25 14:19:56 -07:00
Alex Miller 7a500cd37f A giant translation of TaskFooPriority -> TaskPriority::Foo
This is so that APIs that take priorities don't take ints, which are
common and easy to accidentally pass the wrong thing.
2019-06-25 02:47:35 -07:00
Trevor Clinkenbeard 1e8f7e5b82 Refactor NextFastAllocatedSize to be constexpr function 2019-06-11 15:55:23 -07:00
A.J. Beamon 603721e125 Merge branch 'master' into thread-safe-random-number-generation
# Conflicts:
#	fdbclient/ManagementAPI.actor.cpp
#	fdbrpc/AsyncFileCached.actor.h
#	fdbrpc/genericactors.actor.cpp
#	fdbrpc/sim2.actor.cpp
#	fdbserver/DiskQueue.actor.cpp
#	fdbserver/workloads/BulkSetup.actor.h
#	flow/ActorCollection.actor.cpp
#	flow/Net2.actor.cpp
#	flow/Trace.cpp
#	flow/flow.cpp
2019-05-23 08:35:47 -07:00
A.J. Beamon 5f55f3f613 Replace g_random and g_nondeterministic_random with functions deterministicRandom() and nondeterministicRandom() that return thread_local random number generators. Delete g_debug_random and trace_random. Allow only deterministicRandom() to be seeded, and require it to be seeded from each thread on which it is used. 2019-05-10 14:01:52 -07:00
Trevor Clinkenbeard 4293a3e230 Generalized VersionedMap<K, T>::overheadPerItem calculation 2019-03-25 13:45:13 -07:00
Trevor Clinkenbeard 007abbc45b Added 96-byte FastAllocator
Since storage queue nodes account for a large portion of memory usage,
we can save space by only allocating 96 bytes instead of 128 bytes for
each node.
2019-03-25 13:44:39 -07:00
Alex Miller c6a65389ae Remove noexcept macro and replace with BOOST_NOEXCEPT.
BOOST_NOEXCEPT does what the noexcept macro was supposed to do, but in a
way that is correctly maintained over time.
2019-03-05 22:06:12 -08:00
Robert Escriva 268093a96d Adjust all includes to be relative to the root.
Remove the use of relative paths.  A header at foo/bar.h could be included by
files under foo/ with "bar.h", but would be included everywhere else as
"foo/bar.h".  Adjust so that every include references such a header with the
latter form.

Signed-off-by: Robert Escriva <rescriva@dropbox.com>
2018-10-19 17:35:33 +00:00
Evan Tschannen 7b64e711c7 fix: deferredCleanup did not take into account deleting multiple roots simultaneously 2018-07-12 15:29:02 -07:00
A.J. Beamon e5488419cc Attempt to normalize trace events:
* Detail names now all start with an uppercase character and contain no underscores. Ideally these should be head-first camel case, though that was harder to check.
* Type names have the same rules, except they allow one underscore (to support a usage pattern Context_Type). The first character after the underscore is also uppercase.
* Use seconds instead of milliseconds in details.

Added a check when events are logged in simulation that logs a message to stderr if the first two rules above aren't followed.

This probably doesn't address every instance of the above problems, but all of the events I was able to hit in simulation pass the check.
2018-06-08 11:11:08 -07:00
Alec Grieser 0bae9880f1 remove trailing whitespace from our copyright headers ; fixed formatting of python setup.py 2018-02-21 10:25:11 -08:00
FDB Dev Team a674cb4ef4 Initial repository commit 2017-05-25 13:48:44 -07:00