Commit 7471e08a authored by Bradley C. Kuszmaul's avatar Bradley C. Kuszmaul Committed by Yoni Fogel

Candidate fix for #1632. Refs #1632.

git-svn-id: file:///svn/toku/tokudb@10848 c7de825b-a66e-492c-adef-691d508d4ae1
parent 55d1e7ed
...@@ -851,7 +851,7 @@ brtleaf_split (BRT t, BRTNODE node, BRTNODE *nodea, BRTNODE *nodeb, DBT *splitk) ...@@ -851,7 +851,7 @@ brtleaf_split (BRT t, BRTNODE node, BRTNODE *nodea, BRTNODE *nodeb, DBT *splitk)
u_int32_t diff_fp = 0; u_int32_t diff_fp = 0;
u_int32_t diff_size = 0; u_int32_t diff_size = 0;
struct subtree_estimates diff_est = zero_estimates; struct subtree_estimates diff_est = zero_estimates;
LEAFENTRY free_us[n_leafentries-break_at]; LEAFENTRY *MALLOC_N(n_leafentries-break_at, free_us);
for (i=break_at; i<n_leafentries; i++) { for (i=break_at; i<n_leafentries; i++) {
LEAFENTRY prevle = (i>0) ? leafentries[i-1] : 0; LEAFENTRY prevle = (i>0) ? leafentries[i-1] : 0;
LEAFENTRY oldle = leafentries[i]; LEAFENTRY oldle = leafentries[i];
...@@ -885,6 +885,7 @@ brtleaf_split (BRT t, BRTNODE node, BRTNODE *nodea, BRTNODE *nodeb, DBT *splitk) ...@@ -885,6 +885,7 @@ brtleaf_split (BRT t, BRTNODE node, BRTNODE *nodea, BRTNODE *nodeb, DBT *splitk)
LEAFENTRY oldle = free_us[i-break_at]; LEAFENTRY oldle = free_us[i-break_at];
toku_mempool_mfree(&node->u.l.buffer_mempool, oldle, leafentry_memsize(oldle)); toku_mempool_mfree(&node->u.l.buffer_mempool, oldle, leafentry_memsize(oldle));
} }
toku_free(free_us);
node->local_fingerprint -= node->rand4fingerprint * diff_fp; node->local_fingerprint -= node->rand4fingerprint * diff_fp;
B ->local_fingerprint += B ->rand4fingerprint * diff_fp; B ->local_fingerprint += B ->rand4fingerprint * diff_fp;
node->u.l.n_bytes_in_buffer -= diff_size; node->u.l.n_bytes_in_buffer -= diff_size;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment