Checkpointing large refactor of how commitSubtree() works regarding internal pages such that now they can be incrementally modified and detecting changes involves far fewer comparison and staging of records.
This commit is contained in:
parent
dda0993d16
commit
1966dbb576
|
@ -367,9 +367,10 @@ public:
|
|||
|
||||
const T* upperBound() const { return upper; }
|
||||
|
||||
DeltaTree* tree;
|
||||
|
||||
private:
|
||||
Arena arena;
|
||||
DeltaTree* tree;
|
||||
DecodedNode* root;
|
||||
const T* lower;
|
||||
const T* upper;
|
||||
|
@ -470,7 +471,8 @@ public:
|
|||
newNode->prev = prev;
|
||||
newNode->next = next;
|
||||
|
||||
ASSERT(deltaSize == k.writeDelta(raw->delta(tree->largeNodes), *base, commonPrefix));
|
||||
int written = k.writeDelta(raw->delta(tree->largeNodes), *base, commonPrefix);
|
||||
ASSERT(deltaSize == written);
|
||||
raw->delta(tree->largeNodes).setPrefixSource(basePrev);
|
||||
|
||||
// Initialize node's item from the delta (instead of copying into arena) to avoid unnecessary arena space
|
||||
|
|
|
@ -27,33 +27,6 @@
|
|||
#include "flow/flow.h"
|
||||
#include "fdbclient/FDBTypes.h"
|
||||
|
||||
#define REDWOOD_DEBUG 0
|
||||
|
||||
#define debug_printf_stream stdout
|
||||
#define debug_printf_always(...) \
|
||||
{ \
|
||||
fprintf(debug_printf_stream, "%s %f %04d ", g_network->getLocalAddress().toString().c_str(), now(), __LINE__); \
|
||||
fprintf(debug_printf_stream, __VA_ARGS__); \
|
||||
fflush(debug_printf_stream); \
|
||||
}
|
||||
|
||||
#define debug_printf_noop(...)
|
||||
|
||||
#if defined(NO_INTELLISENSE)
|
||||
#if REDWOOD_DEBUG
|
||||
#define debug_printf debug_printf_always
|
||||
#else
|
||||
#define debug_printf debug_printf_noop
|
||||
#endif
|
||||
#else
|
||||
// To get error-checking on debug_printf statements in IDE
|
||||
#define debug_printf printf
|
||||
#endif
|
||||
|
||||
#define BEACON debug_printf_always("HERE\n")
|
||||
#define TRACE \
|
||||
debug_printf_always("%s: %s line %d %s\n", __FUNCTION__, __FILE__, __LINE__, platform::get_backtrace().c_str());
|
||||
|
||||
#ifndef VALGRIND
|
||||
#define VALGRIND_MAKE_MEM_UNDEFINED(x, y)
|
||||
#define VALGRIND_MAKE_MEM_DEFINED(x, y)
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue