Skip to content

Commit e6a4bbe

Browse files
AliSQLAliSQL
authored andcommitted
[Feature] Issue#26 REBASE TO TokuDB 7.5.6
1 parent 4e932ab commit e6a4bbe

45 files changed

Lines changed: 877 additions & 400 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

storage/tokudb/ft-index/buildheader/make_tdb.cc

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,6 @@ static void print_defines (void) {
339339
dodefine_from_track(txn_flags, DB_INHERIT_ISOLATION);
340340
dodefine_from_track(txn_flags, DB_SERIALIZABLE);
341341
dodefine_from_track(txn_flags, DB_TXN_READ_ONLY);
342-
dodefine_from_track(txn_flags, DB_READ_COMMITTED_ALWAYS);
343342
}
344343

345344
/* TokuFT specific error codes*/
@@ -573,7 +572,7 @@ static void print_db_txn_struct (void) {
573572
STRUCT_SETUP(DB_TXN, abort, "int (*%s) (DB_TXN *)");
574573
STRUCT_SETUP(DB_TXN, api_internal,"void *%s");
575574
STRUCT_SETUP(DB_TXN, commit, "int (*%s) (DB_TXN*, uint32_t)");
576-
STRUCT_SETUP(DB_TXN, prepare, "int (*%s) (DB_TXN*, uint8_t gid[DB_GID_SIZE])");
575+
STRUCT_SETUP(DB_TXN, prepare, "int (*%s) (DB_TXN*, uint8_t gid[DB_GID_SIZE], uint32_t flags)");
577576
STRUCT_SETUP(DB_TXN, discard, "int (*%s) (DB_TXN*, uint32_t)");
578577
STRUCT_SETUP(DB_TXN, id, "uint32_t (*%s) (DB_TXN *)");
579578
STRUCT_SETUP(DB_TXN, mgrp, "DB_ENV *%s /* In TokuFT, mgrp is a DB_ENV, not a DB_TXNMGR */");
@@ -582,10 +581,12 @@ static void print_db_txn_struct (void) {
582581
"int (*txn_stat)(DB_TXN *, struct txn_stat **)",
583582
"int (*commit_with_progress)(DB_TXN*, uint32_t, TXN_PROGRESS_POLL_FUNCTION, void*)",
584583
"int (*abort_with_progress)(DB_TXN*, TXN_PROGRESS_POLL_FUNCTION, void*)",
585-
"int (*xa_prepare) (DB_TXN*, TOKU_XA_XID *)",
584+
"int (*xa_prepare) (DB_TXN*, TOKU_XA_XID *, uint32_t flags)",
586585
"uint64_t (*id64) (DB_TXN*)",
587586
"void (*set_client_id)(DB_TXN *, uint64_t client_id)",
588587
"uint64_t (*get_client_id)(DB_TXN *)",
588+
"bool (*is_prepared)(DB_TXN *)",
589+
"DB_TXN *(*get_child)(DB_TXN *)",
589590
NULL};
590591
sort_and_dump_fields("db_txn", false, extra);
591592
}
@@ -614,7 +615,7 @@ static void print_dbc_struct (void) {
614615
"int (*c_getf_set_range_reverse)(DBC *, uint32_t, DBT *, YDB_CALLBACK_FUNCTION, void *)",
615616
"int (*c_getf_set_range_with_bound)(DBC *, uint32_t, DBT *k, DBT *k_bound, YDB_CALLBACK_FUNCTION, void *)",
616617
"int (*c_set_bounds)(DBC*, const DBT*, const DBT*, bool pre_acquire, int out_of_range_error)",
617-
"void (*c_set_check_interrupt_callback)(DBC*, bool (*)(void*), void *)",
618+
"void (*c_set_check_interrupt_callback)(DBC*, bool (*)(void*, uint64_t deleted_rows), void *)",
618619
"void (*c_remove_restriction)(DBC*)",
619620
"char _internal[512]",
620621
NULL};

storage/tokudb/ft-index/ft/cursor.cc

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,12 @@ PATENT RIGHTS GRANT:
9494
#include "util/dbt.h"
9595

9696
int toku_ft_cursor_create(FT_HANDLE ft_handle, FT_CURSOR cursor, TOKUTXN ttxn,
97-
enum cursor_read_type read_type,
97+
bool is_snapshot_read,
9898
bool disable_prefetching,
9999
bool is_temporary) {
100-
if (read_type == C_READ_SNAPSHOT) {
100+
if (is_snapshot_read) {
101101
invariant(ttxn != NULL);
102-
int accepted = toku_txn_reads_txnid(ft_handle->ft->h->root_xid_that_created, ttxn, false); // last parameter is irrelevant
102+
int accepted = toku_txn_reads_txnid(ft_handle->ft->h->root_xid_that_created, ttxn);
103103
if (accepted != TOKUDB_ACCEPT) {
104104
invariant(accepted == 0);
105105
return TOKUDB_MVCC_DICTIONARY_TOO_NEW;
@@ -109,7 +109,7 @@ int toku_ft_cursor_create(FT_HANDLE ft_handle, FT_CURSOR cursor, TOKUTXN ttxn,
109109
memset(cursor, 0, sizeof(*cursor));
110110
cursor->ft_handle = ft_handle;
111111
cursor->ttxn = ttxn;
112-
cursor->read_type = read_type;
112+
cursor->is_snapshot_read = is_snapshot_read;
113113
cursor->disable_prefetching = disable_prefetching;
114114
cursor->is_temporary = is_temporary;
115115
return 0;
@@ -126,8 +126,7 @@ void toku_ft_cursor_destroy(FT_CURSOR cursor) {
126126
int toku_ft_cursor(FT_HANDLE ft_handle, FT_CURSOR *cursorptr, TOKUTXN ttxn,
127127
bool is_snapshot_read, bool disable_prefetching) {
128128
FT_CURSOR XCALLOC(cursor);
129-
enum cursor_read_type read_type = is_snapshot_read ? C_READ_SNAPSHOT : C_READ_ANY;
130-
int r = toku_ft_cursor_create(ft_handle, cursor, ttxn, read_type, disable_prefetching, false);
129+
int r = toku_ft_cursor_create(ft_handle, cursor, ttxn, is_snapshot_read, disable_prefetching, false);
131130
if (r == 0) {
132131
*cursorptr = cursor;
133132
} else {
@@ -322,11 +321,11 @@ int toku_ft_cursor_shortcut(FT_CURSOR cursor, int direction, uint32_t index, bn_
322321
r = bd->fetch_klpair(index, &le, &foundkeylen, &foundkey);
323322
invariant_zero(r);
324323

325-
if (toku_ft_cursor_is_leaf_mode(cursor) || !le_val_is_del(le, cursor->read_type, cursor->ttxn)) {
324+
if (toku_ft_cursor_is_leaf_mode(cursor) || !le_val_is_del(le, cursor->is_snapshot_read, cursor->ttxn)) {
326325
le_extract_val(
327326
le,
328327
toku_ft_cursor_is_leaf_mode(cursor),
329-
cursor->read_type,
328+
cursor->is_snapshot_read,
330329
cursor->ttxn,
331330
vallen,
332331
val

storage/tokudb/ft-index/ft/cursor.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ struct ft_cursor {
9999
DBT range_lock_left_key, range_lock_right_key;
100100
bool prefetching;
101101
bool left_is_neg_infty, right_is_pos_infty;
102-
enum cursor_read_type read_type; // true if query is reading from a snapshot, false otherwise
102+
bool is_snapshot_read; // true if query is read_committed, false otherwise
103103
bool is_leaf_mode;
104104
bool disable_prefetching;
105105
bool is_temporary;
@@ -176,7 +176,7 @@ static inline void ft_search_finish(ft_search *search) {
176176

177177

178178
int toku_ft_cursor_create(FT_HANDLE ft_handle, FT_CURSOR cursor, TOKUTXN txn,
179-
enum cursor_read_type read_type,
179+
bool is_snapshot_read,
180180
bool disable_prefetching,
181181
bool is_temporary);
182182

storage/tokudb/ft-index/ft/ft-internal.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -616,6 +616,7 @@ typedef enum {
616616
FT_PRO_RIGHTMOST_LEAF_SHORTCUT_SUCCESS,
617617
FT_PRO_RIGHTMOST_LEAF_SHORTCUT_FAIL_POS,
618618
FT_PRO_RIGHTMOST_LEAF_SHORTCUT_FAIL_REACTIVE,
619+
FT_CURSOR_SKIP_DELETED_LEAF_ENTRY, // how many deleted leaf entries were skipped by a cursor
619620
FT_STATUS_NUM_ROWS
620621
} ft_status_entry;
621622

@@ -654,7 +655,7 @@ int toku_upgrade_msn_from_root_to_header(int fd, FT ft) __attribute__((nonnull))
654655
// When lock_only is true, the callback only does optional lock tree locking.
655656
typedef int (*FT_GET_CALLBACK_FUNCTION)(uint32_t keylen, const void *key, uint32_t vallen, const void *val, void *extra, bool lock_only);
656657

657-
typedef bool (*FT_CHECK_INTERRUPT_CALLBACK)(void *extra);
658+
typedef bool (*FT_CHECK_INTERRUPT_CALLBACK)(void *extra, uint64_t deleted_rows);
658659

659660
struct ft_cursor;
660661
int toku_ft_search(FT_HANDLE ft_handle, ft_search *search, FT_GET_CALLBACK_FUNCTION getf, void *getf_v, struct ft_cursor *ftcursor, bool can_bulk_fetch);

storage/tokudb/ft-index/ft/ft-ops.cc

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -375,6 +375,8 @@ status_init(void)
375375
STATUS_INIT(FT_PRO_RIGHTMOST_LEAF_SHORTCUT_FAIL_POS, nullptr, PARCOUNT, "promotion: tried the rightmost leaf shorcut but failed (out-of-bounds)", TOKU_ENGINE_STATUS);
376376
STATUS_INIT(FT_PRO_RIGHTMOST_LEAF_SHORTCUT_FAIL_REACTIVE,nullptr, PARCOUNT, "promotion: tried the rightmost leaf shorcut but failed (child reactive)", TOKU_ENGINE_STATUS);
377377

378+
STATUS_INIT(FT_CURSOR_SKIP_DELETED_LEAF_ENTRY, CURSOR_SKIP_DELETED_LEAF_ENTRY, PARCOUNT, "cursor skipped deleted leaf entries", TOKU_ENGINE_STATUS|TOKU_GLOBAL_STATUS);
379+
378380
ft_status.initialized = true;
379381
}
380382
static void status_destroy(void) {
@@ -3373,25 +3375,26 @@ ok: ;
33733375

33743376
if (toku_ft_cursor_is_leaf_mode(ftcursor))
33753377
goto got_a_good_value; // leaf mode cursors see all leaf entries
3376-
if (le_val_is_del(le, ftcursor->read_type, ftcursor->ttxn)) {
3378+
if (le_val_is_del(le, ftcursor->is_snapshot_read, ftcursor->ttxn)) {
33773379
// Provisionally deleted stuff is gone.
33783380
// So we need to scan in the direction to see if we can find something.
3379-
// Every 100 deleted leaf entries check if the leaf's key is within the search bounds.
3380-
for (uint n_deleted = 1; ; n_deleted++) {
3381+
// Every 64 deleted leaf entries check if the leaf's key is within the search bounds.
3382+
for (uint64_t n_deleted = 1; ; n_deleted++) {
33813383
switch (search->direction) {
33823384
case FT_SEARCH_LEFT:
33833385
idx++;
3384-
if (idx >= bn->data_buffer.num_klpairs() ||
3385-
((n_deleted % 64) == 0 && !search_continue(search, key, keylen))) {
3386-
if (ftcursor->interrupt_cb && ftcursor->interrupt_cb(ftcursor->interrupt_cb_extra)) {
3386+
if (idx >= bn->data_buffer.num_klpairs() || ((n_deleted % 64) == 0 && !search_continue(search, key, keylen))) {
3387+
STATUS_INC(FT_CURSOR_SKIP_DELETED_LEAF_ENTRY, n_deleted);
3388+
if (ftcursor->interrupt_cb && ftcursor->interrupt_cb(ftcursor->interrupt_cb_extra, n_deleted)) {
33873389
return TOKUDB_INTERRUPTED;
33883390
}
33893391
return DB_NOTFOUND;
33903392
}
33913393
break;
33923394
case FT_SEARCH_RIGHT:
33933395
if (idx == 0) {
3394-
if (ftcursor->interrupt_cb && ftcursor->interrupt_cb(ftcursor->interrupt_cb_extra)) {
3396+
STATUS_INC(FT_CURSOR_SKIP_DELETED_LEAF_ENTRY, n_deleted);
3397+
if (ftcursor->interrupt_cb && ftcursor->interrupt_cb(ftcursor->interrupt_cb_extra, n_deleted)) {
33953398
return TOKUDB_INTERRUPTED;
33963399
}
33973400
return DB_NOTFOUND;
@@ -3403,7 +3406,10 @@ ok: ;
34033406
}
34043407
r = bn->data_buffer.fetch_klpair(idx, &le, &keylen, &key);
34053408
assert_zero(r); // we just validated the index
3406-
if (!le_val_is_del(le, ftcursor->read_type, ftcursor->ttxn)) {
3409+
if (!le_val_is_del(le, ftcursor->is_snapshot_read, ftcursor->ttxn)) {
3410+
STATUS_INC(FT_CURSOR_SKIP_DELETED_LEAF_ENTRY, n_deleted);
3411+
if (ftcursor->interrupt_cb)
3412+
ftcursor->interrupt_cb(ftcursor->interrupt_cb_extra, n_deleted);
34073413
goto got_a_good_value;
34083414
}
34093415
}
@@ -3414,7 +3420,7 @@ ok: ;
34143420
void *val;
34153421

34163422
le_extract_val(le, toku_ft_cursor_is_leaf_mode(ftcursor),
3417-
ftcursor->read_type, ftcursor->ttxn,
3423+
ftcursor->is_snapshot_read, ftcursor->ttxn,
34183424
&vallen, &val);
34193425
r = toku_ft_cursor_check_restricted_range(ftcursor, key, keylen);
34203426
if (r == 0) {

storage/tokudb/ft-index/ft/ft.cc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1062,6 +1062,11 @@ garbage_helper(BLOCKNUM blocknum, int64_t UU(size), int64_t UU(address), void *e
10621062
goto exit;
10631063
}
10641064
}
1065+
{
1066+
float a = info->used_space, b=info->total_space;
1067+
float percentage = (1 - (a / b)) * 100;
1068+
printf("LeafNode# %d has %d BasementNodes and %2.1f%% of the allocated space is garbage\n", (int)blocknum.b, node->n_children, percentage);
1069+
}
10651070
exit:
10661071
toku_ftnode_free(&node);
10671072
toku_free(ndd);

storage/tokudb/ft-index/ft/leafentry.h

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -124,12 +124,6 @@ PATENT RIGHTS GRANT:
124124
val[]
125125
*/
126126

127-
enum cursor_read_type {
128-
C_READ_ANY = 0,
129-
C_READ_SNAPSHOT = 1,
130-
C_READ_COMMITTED = 2
131-
};
132-
133127
//
134128
// enum of possible values for LEAFENTRY->type field
135129
// LE_CLEAN means that there is a single committed value in a format that saves disk space
@@ -217,7 +211,7 @@ void wbuf_nocrc_LEAFENTRY(struct wbuf *w, LEAFENTRY le);
217211
int print_klpair (FILE *outf, const void* key, uint32_t keylen, LEAFENTRY v); // Print a leafentry out in human-readable form.
218212

219213
int le_latest_is_del(LEAFENTRY le); // Return true if it is a provisional delete.
220-
int le_val_is_del(LEAFENTRY le, enum cursor_read_type read_type, TOKUTXN txn); // Returns true if the value that is to be read is empty
214+
int le_val_is_del(LEAFENTRY le, bool is_snapshot_read, TOKUTXN txn); // Returns true if the value that is to be read is empty
221215
bool le_is_clean(LEAFENTRY le); //Return how many xids exist (0 does not count)
222216
bool le_has_xids(LEAFENTRY le, XIDS xids); // Return true transaction represented by xids is still provisional in this leafentry (le's xid stack is a superset or equal to xids)
223217
void* le_latest_val (LEAFENTRY le); // Return the latest val (return NULL for provisional deletes)
@@ -232,13 +226,13 @@ uint64_t le_outermost_uncommitted_xid (LEAFENTRY le);
232226
// 0: context ignores this entry, id.
233227
// TOKUDB_ACCEPT: context accepts id
234228
// r|r!=0&&r!=TOKUDB_ACCEPT: Quit early, return r, because something unexpected went wrong (error case)
235-
typedef int(*LE_ITERATE_CALLBACK)(TXNID id, TOKUTXN context, bool is_provisional);
229+
typedef int(*LE_ITERATE_CALLBACK)(TXNID id, TOKUTXN context);
236230

237231
int le_iterate_val(LEAFENTRY le, LE_ITERATE_CALLBACK f, void** valpp, uint32_t *vallenp, TOKUTXN context);
238232

239233
void le_extract_val(LEAFENTRY le,
240234
// should we return the entire leafentry as the val?
241-
bool is_leaf_mode, enum cursor_read_type read_type,
235+
bool is_leaf_mode, bool is_snapshot_read,
242236
TOKUTXN ttxn, uint32_t *vallen, void **val);
243237

244238
size_t

storage/tokudb/ft-index/ft/logger/recover.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -712,7 +712,7 @@ static int toku_recover_xstillopenprepared (struct logtype_xstillopenprepared *l
712712
}
713713
switch (renv->ss.ss) {
714714
case FORWARD_BETWEEN_CHECKPOINT_BEGIN_END: {
715-
toku_txn_prepare_txn(txn, l->xa_xid);
715+
toku_txn_prepare_txn(txn, l->xa_xid, 0);
716716
break;
717717
}
718718
case FORWARD_NEWER_CHECKPOINT_END: {
@@ -754,7 +754,7 @@ static int toku_recover_xcommit (struct logtype_xcommit *l, RECOVER_ENV renv) {
754754
assert(txn!=NULL);
755755

756756
// commit the transaction
757-
int r = toku_txn_commit_with_lsn(txn, true, l->lsn, false,
757+
int r = toku_txn_commit_with_lsn(txn, true, l->lsn,
758758
NULL, NULL);
759759
assert(r == 0);
760760

@@ -776,7 +776,7 @@ static int toku_recover_xprepare (struct logtype_xprepare *l, RECOVER_ENV renv)
776776
assert(txn!=NULL);
777777

778778
// Save the transaction
779-
toku_txn_prepare_txn(txn, l->xa_xid);
779+
toku_txn_prepare_txn(txn, l->xa_xid, 0);
780780

781781
return 0;
782782
}

storage/tokudb/ft-index/ft/tests/is_empty.cc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ static void test_it (int N) {
121121

122122
r = toku_open_ft_handle(FILENAME, 1, &ft, 1024, 256, TOKU_DEFAULT_COMPRESSION_METHOD, ct, txn, toku_builtin_compare_fun); CKERR(r);
123123

124-
r = toku_txn_commit_txn(txn, false, false, NULL, NULL); CKERR(r);
124+
r = toku_txn_commit_txn(txn, false, NULL, NULL); CKERR(r);
125125
toku_txn_close_txn(txn);
126126
CHECKPOINTER cp = toku_cachetable_get_checkpointer(ct);
127127
r = toku_checkpoint(cp, logger, NULL, NULL, NULL, NULL, CLIENT_CHECKPOINT); CKERR(r);
@@ -131,7 +131,7 @@ static void test_it (int N) {
131131
for (int i=0; i<N; i++) {
132132
r = toku_txn_begin_txn((DB_TXN*)NULL, (TOKUTXN)0, &txn, logger, TXN_SNAPSHOT_ROOT, false); CKERR(r);
133133
r = toku_open_ft_handle(FILENAME, 0, &ft, 1024, 256, TOKU_DEFAULT_COMPRESSION_METHOD, ct, txn, toku_builtin_compare_fun); CKERR(r);
134-
r = toku_txn_commit_txn(txn, false, false, NULL, NULL); CKERR(r);
134+
r = toku_txn_commit_txn(txn, false, NULL, NULL); CKERR(r);
135135
toku_txn_close_txn(txn);
136136

137137
r = toku_txn_begin_txn((DB_TXN*)NULL, (TOKUTXN)0, &txn, logger, TXN_SNAPSHOT_ROOT, false); CKERR(r);
@@ -142,7 +142,7 @@ static void test_it (int N) {
142142
memset(val, 'v', sizeof(val));
143143
val[sizeof(val)-1]=0;
144144
toku_ft_insert(ft, toku_fill_dbt(&k, key, 1+strlen(key)), toku_fill_dbt(&v, val, 1+strlen(val)), txn);
145-
r = toku_txn_commit_txn(txn, false, false, NULL, NULL); CKERR(r);
145+
r = toku_txn_commit_txn(txn, false, NULL, NULL); CKERR(r);
146146
toku_txn_close_txn(txn);
147147

148148

@@ -154,7 +154,7 @@ static void test_it (int N) {
154154
for (int i=0; i<N; i++) {
155155
r = toku_txn_begin_txn((DB_TXN*)NULL, (TOKUTXN)0, &txn, logger, TXN_SNAPSHOT_ROOT, false); CKERR(r);
156156
r = toku_open_ft_handle(FILENAME, 0, &ft, 1024, 256, TOKU_DEFAULT_COMPRESSION_METHOD, ct, txn, toku_builtin_compare_fun); CKERR(r);
157-
r = toku_txn_commit_txn(txn, false, false, NULL, NULL); CKERR(r);
157+
r = toku_txn_commit_txn(txn, false, NULL, NULL); CKERR(r);
158158
toku_txn_close_txn(txn);
159159

160160
r = toku_txn_begin_txn((DB_TXN*)NULL, (TOKUTXN)0, &txn, logger, TXN_SNAPSHOT_ROOT, false); CKERR(r);
@@ -169,7 +169,7 @@ static void test_it (int N) {
169169
assert(!is_empty);
170170
}
171171

172-
r = toku_txn_commit_txn(txn, false, false, NULL, NULL); CKERR(r);
172+
r = toku_txn_commit_txn(txn, false, NULL, NULL); CKERR(r);
173173
toku_txn_close_txn(txn);
174174

175175
r = toku_checkpoint(cp, logger, NULL, NULL, NULL, NULL, CLIENT_CHECKPOINT); CKERR(r);
@@ -179,7 +179,7 @@ static void test_it (int N) {
179179
}
180180
r = toku_txn_begin_txn((DB_TXN*)NULL, (TOKUTXN)0, &txn, logger, TXN_SNAPSHOT_ROOT, false); CKERR(r);
181181
r = toku_open_ft_handle(FILENAME, 0, &ft, 1024, 256, TOKU_DEFAULT_COMPRESSION_METHOD, ct, txn, toku_builtin_compare_fun); CKERR(r);
182-
r = toku_txn_commit_txn(txn, false, false, NULL, NULL); CKERR(r);
182+
r = toku_txn_commit_txn(txn, false, NULL, NULL); CKERR(r);
183183
toku_txn_close_txn(txn);
184184

185185
if (0) {

storage/tokudb/ft-index/ft/tests/le-cursor-provdel.cc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ create_populate_tree(const char *logdir, const char *fname, int n) {
140140
error = toku_open_ft_handle(fname, 1, &ft, 1<<12, 1<<9, TOKU_DEFAULT_COMPRESSION_METHOD, ct, txn, test_ft_cursor_keycompare);
141141
assert(error == 0);
142142

143-
error = toku_txn_commit_txn(txn, true, false, NULL, NULL);
143+
error = toku_txn_commit_txn(txn, true, NULL, NULL);
144144
assert(error == 0);
145145
toku_txn_close_txn(txn);
146146

@@ -160,7 +160,7 @@ create_populate_tree(const char *logdir, const char *fname, int n) {
160160
assert(error == 0);
161161
}
162162

163-
error = toku_txn_commit_txn(txn, true, false, NULL, NULL);
163+
error = toku_txn_commit_txn(txn, true, NULL, NULL);
164164
assert(error == 0);
165165
toku_txn_close_txn(txn);
166166

@@ -210,7 +210,7 @@ test_provdel(const char *logdir, const char *fname, int n) {
210210
error = toku_open_ft_handle(fname, 1, &ft, 1<<12, 1<<9, TOKU_DEFAULT_COMPRESSION_METHOD, ct, txn, test_ft_cursor_keycompare);
211211
assert(error == 0);
212212

213-
error = toku_txn_commit_txn(txn, true, false, NULL, NULL);
213+
error = toku_txn_commit_txn(txn, true, NULL, NULL);
214214
assert(error == 0);
215215
toku_txn_close_txn(txn);
216216

@@ -257,11 +257,11 @@ test_provdel(const char *logdir, const char *fname, int n) {
257257

258258
toku_le_cursor_close(cursor);
259259

260-
error = toku_txn_commit_txn(cursortxn, true, false, NULL, NULL);
260+
error = toku_txn_commit_txn(cursortxn, true, NULL, NULL);
261261
assert(error == 0);
262262
toku_txn_close_txn(cursortxn);
263263

264-
error = toku_txn_commit_txn(txn, true, false, NULL, NULL);
264+
error = toku_txn_commit_txn(txn, true, NULL, NULL);
265265
assert(error == 0);
266266
toku_txn_close_txn(txn);
267267

0 commit comments

Comments
 (0)