Commit Graph

12105 Commits

Author SHA1 Message Date
Vishesh Yadav f50206aabb fdbclient: Copy external libraries MULTI_VERSION_CLIENT_THREADS_PER_VERSION times
To support multiple threads in for each multi-version clients, we make a copy of
external library for each thread in `/tmp/` directory and load that.

(cherry-picked by Rusty; there were some conflicts, so this has commented out cruft in it)
2021-02-03 20:47:15 +00:00
Russell Sears 87aeafb294 partial refactor to support multiple threads per client library 2021-02-03 19:58:37 +00:00
Markus Pilman b0f8784bf1
Merge pull request #4247 from apkar/release-6.3
Adding debug tools to FDB runtime image
2021-02-02 08:39:39 -07:00
Russell Sears 84bb5412f8
Merge pull request #4201 from Daniel-B-Smith/rocksdb-prefix
Add knobs for prefix bloom filters and larger block cache
2021-02-01 15:29:28 -08:00
Daniel Smith de700b83f2 Review fixes 2021-02-01 21:58:39 +00:00
Markus Pilman e4b953ab38
Merge pull request #4229 from sfc-gh-satherton/afcache-write-limit
AsyncFileCached RateControl support and bug fixes
2021-01-31 15:13:03 -07:00
Markus Pilman 824145a074
Merge pull request #4258 from KrzysFR/windows/clang
Build on Windows using VS 2019 + LLVM/Clang
2021-01-31 15:10:25 -07:00
Steve Atherton 3b4577aa59
Merge pull request #4253 from sfc-gh-clin/use-VFSAsyncFile-checkInjectedError
Use VFSAsyncFile::checkInjectedError to detect injected faults
2021-01-30 15:00:35 -08:00
Christophe Chevalier 3fc8870ce3 winbuild: fix duplicate definition of Codec<ERestoreState>::pack and unpack in Debug build
- defined twice in FileBackupAgent.actor.cpp and BackupAgent.actor.h
- only fails when building in Debug ?
2021-01-30 19:03:25 +01:00
Christophe Chevalier ff0667b28d winbuild: define BOOST_USE_WINDOWS_H, WIN32_LEAN_AND_MEAN and NOMINMAX to fix various macro expansions issues
- NOMINMAX to fix confusion between std::max(..) and max(..) macro redefinition
- BOOST_USE_WINDOWS_H to prevent boost from redefining win32 APIs
- WIN32_LEAN_AND_MEAN to fix include ordering issues with winsock.h
2021-01-30 15:15:02 +01:00
Christophe Chevalier 3cef471e4b winbuild: fix const_cast<char*> issue 2021-01-30 15:12:53 +01:00
Christophe Chevalier 0eeb73846b winbuild: fix passing std::string directly to format(...)
- pass result of c_str() instead
2021-01-30 15:12:13 +01:00
Christophe Chevalier 5d2a7cdf4c winbuild: use _strnicmp instead of strnicmp 2021-01-30 15:10:37 +01:00
Christophe Chevalier 89735f7eda winbuild: fix int argc for main()
- fix compile error requiring first arg of main() to be of type int
2021-01-30 15:10:15 +01:00
Christophe Chevalier f59b2b238f winbuild: do not use reserved keyword 'interface' for variable name
- renamed variable so as not to use a reserved keyword.
2021-01-30 15:09:38 +01:00
Chaoguang Lin 4c4d1ec6b0 Use VFSAsyncFile::checkInjectedError() to replace old injected fault detection, see pr#4212 2021-01-29 15:28:08 -08:00
Bhaskar Muppana a207fff82e Adding debug tools to FDB runtime image 2021-01-28 18:28:08 -08:00
Steve Atherton 7ce0cca687 Merge branch 'release-6.3' of https://github.com/apple/foundationdb into afcache-write-limit 2021-01-28 07:27:32 -08:00
Steve Atherton 14e39a8747 Another bug fix in SQLite file instance lifetimes. Writer can be destroyed before doClose() or stopOnError() have a chance to react, so Writer can't be used to get access to file handles to remove the rate limiter and trigger pending requests to complete. New logic is for Writer initialization to place opened file handles in KeyValueStoreSQLite instance and move disableRateControl() there, to be called from doClose(). 2021-01-28 00:59:05 -08:00
Steve Atherton e3a6531477 Another attempt to fix SQLite lifetime issues. KeyValueStoreSQLite::doClose() can now access the Writer instance and call disableRateControl() on its SQLiteDB instance prior to stopping the reader and writer thread pools. This should prevent rate limiting from interfering with SQLite shutdown. 2021-01-27 05:31:02 -08:00
Steve Atherton 989fee908a More bug fixes in SQLite file handle lifetimes after storage server restart (including simulated process reboot) when a write rate limit is used. Added several debug trace events, renamed some VFSAsync* events to be more consistent. 2021-01-27 00:01:33 -08:00
Xin Dong 5bd7e2ab6d
Merge pull request #4209 from dongxinEric/misc/log-severror-when-lossing-all-replicas
Added a hint in trace event when all replicas of some data …
2021-01-25 15:05:03 -08:00
Xin Dong 0cde3cc48f Make trace event happy 2021-01-25 14:04:16 -08:00
Xin Dong dce8af5b63 Change back to SevWarnAlways for now. 2021-01-25 13:54:24 -08:00
Markus Pilman 9d9da471b2
Merge pull request #4223 from sfc-gh-anoyes/anoyes/merge-6.2-to-6.3
Merge 6.2 to 6.3
2021-01-25 11:53:27 -07:00
Steve Atherton 0d32bd0c44 Bug fixes involving use of AFCached rate control in simulation. 2021-01-24 01:50:09 -08:00
Steve Atherton 1c2fe4e6ea Merge branch 'add-throttling-on-AsyncfileCached' of github.com:sfc-gh-clin/foundationdb into afcache-write-limit 2021-01-23 22:46:57 -08:00
Steve Atherton 1c85a98e9c Merge branch 'release-6.3' of https://github.com/apple/foundationdb into afcache-write-limit 2021-01-23 22:46:44 -08:00
Chaoguang Lin a09acd321e update knobs default values for testing 2021-01-22 11:45:37 -08:00
Chaoguang Lin 18f7ee22c2 Merge branch 'release-6.3' of github.com:apple/foundationdb into add-throttling-on-AsyncfileCached 2021-01-22 11:44:29 -08:00
Xin Dong 245214acbf
Merge pull request #4214 from dongxinEric/misc/log-when-lb-disabled-in-ss-fetchKeys
Add a SevWarnAlways trace line to help debug a rare failure.
2021-01-22 10:45:06 -08:00
Xin Dong faf571dc06 Remove the TODO since it's done. 2021-01-22 10:14:36 -08:00
Andrew Noyes 58b4a9b907 Resolve conflicts 2021-01-21 20:59:44 +00:00
Andrew Noyes 281151ff20 Merge remote-tracking branch 'upstream/release-6.2' into anoyes/merge-6.2-to-6.3
Commit conflict markers for now
2021-01-21 17:54:26 +00:00
Andrew Noyes b62406fb48
Merge pull request #4217 from sfc-gh-kmakino/pq_hack
Reserve the priority queue container
2021-01-20 18:42:32 -08:00
Markus Pilman 6b6156a882
Merge pull request #4206 from sfc-gh-anoyes/anoyes/add-correctness-package
Backport correctness package
2021-01-20 12:10:06 -07:00
Kao Makino 4ddf3385a8 Reserve the priority queue container 2021-01-20 10:34:48 -08:00
Xin Dong 30962551d5 Also log when the LB is re-enabled. Attach the FetchKeysID. 2021-01-19 13:37:36 -08:00
Xin Dong 5bc129a35f Add a SevWarnAlways trace line to help debug a rare failure. 2021-01-19 13:33:15 -08:00
Xiaoge Su 297b9cc7dd
Merge pull request #4211 from sfc-gh-anoyes/anoyes/fix-memory-error
Fix heap use after free
2021-01-19 13:12:05 -08:00
Andrew Noyes 45f064c420 Take keyRange by const reference 2021-01-19 16:49:48 +00:00
Markus Pilman 9931ffbfdb
Merge pull request #4212 from sfc-gh-satherton/improve-sqlite-fault-injection
Rewrote SQLite injected fault handling
2021-01-18 18:29:15 -07:00
Steve Atherton 523a8c08db Merge branch 'add-throttling-on-AsyncfileCached' of github.com:sfc-gh-clin/foundationdb into afcache-write-limit
# Conflicts:
#	flow/Knobs.h
2021-01-17 05:30:55 -08:00
Steve Atherton 11927f6fff Another refactor of SQLite injected error handling to address failures of the previous attempt. Some code cleanup. Added documentation of injected error handling works and why. 2021-01-17 04:17:13 -08:00
Steve Atherton f1adafaf8c Refactored how injected fault state is managed to make debugging injected fault handling easier. Moved injected error tracking for open() into an INetwork global since it should be unique per simulated process. Fixed bug where injected error in WAL file was not recognized as injected because it occurred before SQLiteDB's vfsWAL pointer was initialized. Simplified logic in SQLiteDB. Added comments. 2021-01-16 05:04:30 -08:00
Steve Atherton 8df6874417 Bug fixes: Check for null pager and wal pointers, and initialize vfsWAL after SQLite has opened the WAL. 2021-01-15 21:13:31 -08:00
Steve Atherton 6da78b1b19 Rewrote how injected faults are handled in SQLite to be more reliable and work with an upcoming write throttling feature in AsyncFileCached. 2021-01-15 19:29:14 -08:00
Andrew Noyes a5d6c96875 Fix heap use after free
See
https://github.com/apple/foundationdb/blob/master/flow/README.md#arenas
for an explanation of how *Ref types are supposed to work
2021-01-16 01:04:28 +00:00
Xin Dong 83506cda87 Log SevError instead of SevWarnAlways when all replicas of some data are lost. 2021-01-15 15:00:48 -08:00
Markus Pilman 9bca167cc2
Merge pull request #4205 from sfc-gh-anoyes/anoyes/merge-release-6.2
Merge release 6.2 into release 6.3
2021-01-15 10:55:41 -07:00