Alex Miller
ea6898144d
Merge remote-tracking branch 'upstream/master' into flowlock-api
2019-07-03 20:44:15 -07:00
Stephen Atherton
71ba490cf8
Removed use of the C "struct hack" as it is not valid C++. Replaced zero-length members with functions returning a pointer for arrays or a reference for single members.
2019-07-02 16:02:58 -07:00
Alex Miller
8e1ab6e7db
Merge remote-tracking branch 'upstream/master' into flowlock-api
2019-06-28 17:32:54 -07:00
Stephen Atherton
f1f1081202
Merge branch 'master' of github.com:apple/foundationdb into feature-redwood
...
# Conflicts:
# fdbserver/VersionedBTree.actor.cpp
2019-06-24 20:17:49 -07:00
Stephen Atherton
112b0918c9
Refactored set() speed test to produce random sets of consecutive records with random prefixes that will often share common bytes.
2019-06-24 01:05:16 -07:00
Stephen Atherton
d4b7f9b606
Fixed some cmake, compile, and IDE warnings.
2019-06-17 18:55:49 -07:00
Stephen Atherton
100789b354
More bug fixes in handling upperBound changes in modified pages and worst-case delta size calculation. Normalized some formatting in debug statements. Fixed compile error on linux. Updated test specs.
2019-06-05 20:58:47 -07:00
Stephen Atherton
6aad34620d
Bug fix in upper boundary selection in commitSubtree(). More debug output.
2019-06-04 04:55:09 -07:00
Stephen Atherton
653440d54c
Changes and bug fixes in how boundary keys are modified during clears in internal pages by rewriting how internal pages are modified, making edge cases much easier to handle. Several debug output improvements. Page numbers stored on disk are now big endian.
2019-06-04 04:03:52 -07:00
Stephen Atherton
9f064ad7cf
Added back minimal btree internal page boundaries using RedwoodRecordRef.
2019-05-30 02:10:07 -07:00
Stephen Atherton
098ac46af9
RedwoodRecordRef::deltaSize() now calculates actual delta size instead of a conservative estimate.
2019-05-29 18:06:11 -07:00
Stephen Atherton
3e155a2563
Bug fixes.
2019-05-29 17:38:55 -07:00
Stephen Atherton
cedcfcddd0
Bug fix in RedwoodRecordRef::Delta var int writer, new tests.
2019-05-29 16:47:53 -07:00
Stephen Atherton
1e5b9faa11
Bug fixes in RedwoodRecordRef::Delta.
2019-05-29 16:26:58 -07:00
Stephen Atherton
02882dbf00
Checkpointing progress, RedwoodRecordRef and DeltaTree tests pass but BTree test does not. RedwoodRecordRef::Delta rewritten to actually do prefix compression on key and integer fields. Added related unit tests and benchmarks. Some improvements to DeltaTree and requirements on its T and Delta types to avoid repeated common prefix discovery.
2019-05-29 06:23:32 -07:00
Stephen Atherton
f99c36aad2
Fixed merge mistake.
2019-05-22 00:23:31 -07:00
Stephen Atherton
ebc96a7e0e
Merge branch 'master' of github.com:apple/foundationdb into feature-redwood
...
# Conflicts:
# fdbserver/VersionedBTree.actor.cpp
2019-05-21 23:49:27 -07:00
Stephen Atherton
e9197a8f70
Added time limit.
2019-05-21 22:19:14 -07:00
Stephen Atherton
3f8fce0296
Checkpointing progress on single-version mode in VersionedBTree. Subtree clears now work, preserving internal page boundary keys when necessary. Multi-version mode is unfortunately now broken, in addition to being incomplete. Added serial and simple btree unit test options.
2019-05-21 19:16:32 -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
Austin Seipp
bf378952cb
fdbserver: fix some print/scan format warnings
...
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-05-06 13:35:29 -07:00
Stephen Atherton
2801298ae8
Checkpointing incomplete and correctness-breaking progress on adding single-version mode to VersionedBTree.
2019-04-29 17:00:29 -07:00
Andrew Noyes
ef04471a66
Fix more unused-variable warnings
2019-04-17 16:04:10 -07:00
Andrew Noyes
13ba915a19
Fix more unused variable warnings
2019-04-17 15:38:08 -07:00
Andrew Noyes
6207d724f8
Fix all -Wunused-variable warnings
2019-04-15 18:13:00 -07:00
Jingyu Zhou
f7f8ddd894
Fix warnings on unused variables
...
Found by -Wunused-variable flag.
2019-04-01 14:00:20 -07:00
Stephen Atherton
64554e90d4
Change this to THIS in actors for IDE compatibility.
2019-03-27 13:42:49 -07:00
Jingyu Zhou
7c02ee6fdd
Fix compiler warning about unreferenced exception variable
2019-03-26 13:43:47 -07:00
Stephen Atherton
126252a274
Changed checksum to crc32. Disabled pager housekeeping for now. Added more btree read/write/commit metrics. Changed readPage to use disk read priority. Bug fix in CommitSubtree causing it to recurse to children unnecessarily. Added point read speed test at the end of set performance unit test.
2019-03-15 00:46:09 -07:00
Stephen Atherton
767de5aa4d
Redwood unit test improvements. Correctness errors now cause test to terminate earlier, and errors occurring after final commit are no longer ignored. Fixed bug in reverse iterator movement in Cursor. Several debug output improvements.
2019-02-24 03:47:32 -08:00
Stephen Atherton
6660ccd936
Large rewrite/refactor from the page format outward. Replaced the in-page format, PrefixTree, with more general and templated implementation of the same concept, DeltaTree, which will be incrementally modifiable soon. New implementation for in-page cursors to use a per-page arena and share decoded binary tree nodes between cursors in the same page. New implementation for internal record B+Tree cursor which uses reference counted path hops which makes cloning a cursor very cheap. New implementation of external facing B+Tree cursor which makes efficient use of two internal cursors to find user-visible KV pairs and return them without copying keys and values except in the case of a large sharded value.
2019-02-21 02:46:30 -08:00
mpilman
7730e161ae
Changed this-ACTOR references to THIS
2019-02-19 15:16:59 -08:00
mpilman
4be90c91d6
Moved THIS and THIS_ADDR to actorcompiler.h
2019-02-19 15:16:59 -08:00
mpilman
3a0f9839b9
Fix minor IDE build errors
2019-02-19 15:16:59 -08:00
Andrew Noyes
067a445e06
Replace unused _ variables with wait(success(...))
2019-02-12 17:30:30 -08:00
Alex Miller
b4b7f382a7
Fix issues that a newer compiler warned about.
2018-12-14 14:43:50 -08:00
Stephen Atherton
534e50de71
Added counters for page writes, sets, and commits.
2018-12-05 22:41:04 -08:00
Stephen Atherton
b08497b7ea
Bug fix, at least some users of IKeyValueStore expect the read actors to make their own copies of key arguments.
2018-10-25 19:48:31 -07:00
Stephen Atherton
f17cc1e20f
StorageServer will no longer send io_error or other inappropriate errors to a client (this would never happen on SQLite). Many bug fixes around error handling, initialization, and shutdown in Redwood. StorageServer now calls init() on its underlying storage engine.
2018-10-24 15:57:06 -07:00
Alex Miller
6bb1f4093d
Merge pull request #856 from dropbox/pr/include-fix
...
Adjust all includes to be relative to the root.
2018-10-22 09:51:55 -07:00
Evan Tschannen
1ef29cbf0d
more windows build fixes
2018-10-19 17:00:24 -07: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
8dd900a337
fixed the windows build
2018-10-18 20:26:45 -07:00
Stephen Atherton
5bc45958d8
Finished VersionedBTree's IClosable implementation. Added deletion of existing unit test pager state.
2018-10-15 03:43:43 -07:00
Stephen Atherton
3c36722ef8
Renamed redwood test cases to match references in test spec files.
2018-10-05 22:13:22 -07:00
Stephen Atherton
3ea9193fa7
Renamed redwood to redwood-experimental. UnitTest names can now be hidden using # as the first character so that random correctness tests will not run them. Excluded redwood tests from correctness testing. Reverted default storage engine to ssd.
2018-10-05 14:43:54 -07:00
Stephen Atherton
5d9cd9acdc
Correctness test now has additional random reader which doesn't do verification but isn't stopped when the btree is closed. Fixed bug exposed by this where pager snapshots will still try to read pages after the pager has been shut down or even destroyed. Added new error type, shutdown_in_progress.
2018-10-04 23:46:37 -07:00
Stephen Atherton
15c1f87681
Rewrite superpage writes to fix bugs involving logical ID reuse and to make the logic cleaner. Correctness test is stronger, with pipelined writes/commits during verification.
2018-10-01 16:51:57 -07:00
Stephen Atherton
a9f467c502
Btree correctness verification of contents is now asynchronous.
2018-09-28 00:35:03 -07:00
Stephen Atherton
5c3a93e41f
Bug fixes involving PrefixTree length encodings and page size limits, correctness test improvements such as better key size selection and random key reuse, reduced memory footprint of control set.
2018-09-27 16:07:29 -07:00