Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
d865cbde
Commit
d865cbde
authored
Apr 17, 2013
by
Zardosht Kasheff
Committed by
Yoni Fogel
Apr 17, 2013
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refs #5737, merge to main
git-svn-id:
file:///svn/toku/tokudb@53577
c7de825b-a66e-492c-adef-691d508d4ae1
parent
2e83023f
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
32 additions
and
13 deletions
+32
-13
ft/cachetable.cc
ft/cachetable.cc
+3
-1
ft/cachetable.h
ft/cachetable.h
+1
-1
ft/ft-internal.h
ft/ft-internal.h
+1
-1
ft/ft-ops.cc
ft/ft-ops.cc
+2
-0
ft/rollback-ct-callbacks.cc
ft/rollback-ct-callbacks.cc
+3
-0
ft/rollback-ct-callbacks.h
ft/rollback-ct-callbacks.h
+1
-1
ft/tests/cachetable-clone-checkpoint.cc
ft/tests/cachetable-clone-checkpoint.cc
+2
-1
ft/tests/cachetable-clone-partial-fetch-pinned-node.cc
ft/tests/cachetable-clone-partial-fetch-pinned-node.cc
+2
-1
ft/tests/cachetable-clone-partial-fetch.cc
ft/tests/cachetable-clone-partial-fetch.cc
+2
-1
ft/tests/cachetable-clone-pin-nonblocking.cc
ft/tests/cachetable-clone-pin-nonblocking.cc
+2
-1
ft/tests/cachetable-clone-unpin-remove.cc
ft/tests/cachetable-clone-unpin-remove.cc
+2
-1
ft/tests/cachetable-pin-checkpoint.cc
ft/tests/cachetable-pin-checkpoint.cc
+3
-1
ft/tests/cachetable-put-checkpoint.cc
ft/tests/cachetable-put-checkpoint.cc
+2
-0
ft/tests/cachetable-simple-clone.cc
ft/tests/cachetable-simple-clone.cc
+2
-1
ft/tests/cachetable-simple-clone2.cc
ft/tests/cachetable-simple-clone2.cc
+2
-1
ft/tests/ft-serialize-test.cc
ft/tests/ft-serialize-test.cc
+2
-1
No files found.
ft/cachetable.cc
View file @
d865cbde
...
...
@@ -884,6 +884,7 @@ static void
clone_pair
(
evictor
*
ev
,
PAIR
p
)
{
PAIR_ATTR
old_attr
=
p
->
attr
;
PAIR_ATTR
new_attr
;
long
clone_size
=
0
;
// act of cloning should be fast,
// not sure if we have to release
...
...
@@ -892,6 +893,7 @@ clone_pair(evictor* ev, PAIR p) {
p
->
clone_callback
(
p
->
value_data
,
&
p
->
cloned_value_data
,
&
clone_size
,
&
new_attr
,
true
,
p
->
write_extraargs
...
...
@@ -909,7 +911,7 @@ clone_pair(evictor* ev, PAIR p) {
p
->
attr
=
new_attr
;
ev
->
change_pair_attr
(
old_attr
,
new_attr
);
}
p
->
cloned_value_size
=
p
->
attr
.
size
;
p
->
cloned_value_size
=
clone_
size
;
ev
->
add_to_size_current
(
p
->
cloned_value_size
);
}
...
...
ft/cachetable.h
View file @
d865cbde
...
...
@@ -171,7 +171,7 @@ typedef void (*CACHETABLE_PUT_CALLBACK)(CACHEKEY key, void *value_data, PAIR p);
// TODO(leif) XXX TODO XXX
typedef
int
(
*
CACHETABLE_CLEANER_CALLBACK
)(
void
*
ftnode_pv
,
BLOCKNUM
blocknum
,
uint32_t
fullhash
,
void
*
write_extraargs
);
typedef
void
(
*
CACHETABLE_CLONE_CALLBACK
)(
void
*
value_data
,
void
**
cloned_value_data
,
PAIR_ATTR
*
new_attr
,
bool
for_checkpoint
,
void
*
write_extraargs
);
typedef
void
(
*
CACHETABLE_CLONE_CALLBACK
)(
void
*
value_data
,
void
**
cloned_value_data
,
long
*
clone_size
,
PAIR_ATTR
*
new_attr
,
bool
for_checkpoint
,
void
*
write_extraargs
);
typedef
void
(
*
CACHETABLE_CHECKPOINT_COMPLETE_CALLBACK
)(
void
*
value_data
);
...
...
ft/ft-internal.h
View file @
d865cbde
...
...
@@ -639,7 +639,7 @@ void toku_ft_status_update_flush_reason(FTNODE node, uint64_t uncompressed_bytes
void
toku_ft_status_update_serialize_times
(
FTNODE
node
,
tokutime_t
serialize_time
,
tokutime_t
compress_time
);
void
toku_ft_status_update_deserialize_times
(
FTNODE
node
,
tokutime_t
deserialize_time
,
tokutime_t
decompress_time
);
void
toku_ftnode_clone_callback
(
void
*
value_data
,
void
**
cloned_value_data
,
PAIR_ATTR
*
new_attr
,
bool
for_checkpoint
,
void
*
write_extraargs
);
void
toku_ftnode_clone_callback
(
void
*
value_data
,
void
**
cloned_value_data
,
long
*
clone_size
,
PAIR_ATTR
*
new_attr
,
bool
for_checkpoint
,
void
*
write_extraargs
);
void
toku_ftnode_checkpoint_complete_callback
(
void
*
value_data
);
void
toku_ftnode_flush_callback
(
CACHEFILE
cachefile
,
int
fd
,
BLOCKNUM
nodename
,
void
*
ftnode_v
,
void
**
UU
(
disk_data
),
void
*
extraargs
,
PAIR_ATTR
size
,
PAIR_ATTR
*
new_size
,
bool
write_me
,
bool
keep_me
,
bool
for_checkpoint
,
bool
is_clone
);
int
toku_ftnode_fetch_callback
(
CACHEFILE
cachefile
,
PAIR
p
,
int
fd
,
BLOCKNUM
nodename
,
uint32_t
fullhash
,
void
**
ftnode_pv
,
void
**
UU
(
disk_data
),
PAIR_ATTR
*
sizep
,
int
*
dirty
,
void
*
extraargs
);
...
...
ft/ft-ops.cc
View file @
d865cbde
...
...
@@ -746,6 +746,7 @@ void toku_ftnode_checkpoint_complete_callback(void *value_data) {
void
toku_ftnode_clone_callback
(
void
*
value_data
,
void
**
cloned_value_data
,
long
*
clone_size
,
PAIR_ATTR
*
new_attr
,
bool
for_checkpoint
,
void
*
write_extraargs
...
...
@@ -796,6 +797,7 @@ void toku_ftnode_clone_callback(
else
{
new_attr
->
is_valid
=
false
;
}
*
clone_size
=
ftnode_memory_size
(
cloned_node
);
*
cloned_value_data
=
cloned_node
;
}
...
...
ft/rollback-ct-callbacks.cc
View file @
d865cbde
...
...
@@ -202,6 +202,7 @@ int toku_rollback_cleaner_callback (
void
toku_rollback_clone_callback
(
void
*
value_data
,
void
**
cloned_value_data
,
long
*
clone_size
,
PAIR_ATTR
*
new_attr
,
bool
UU
(
for_checkpoint
),
void
*
UU
(
write_extraargs
)
...
...
@@ -213,9 +214,11 @@ void toku_rollback_clone_callback(
XMALLOC
(
serialized
);
toku_serialize_rollback_log_to_memory_uncompressed
(
log
,
serialized
);
*
cloned_value_data
=
serialized
;
*
clone_size
=
sizeof
(
struct
serialized_rollback_log_node
)
+
serialized
->
len
;
}
else
{
*
cloned_value_data
=
&
cloned_rollback
;
*
clone_size
=
sizeof
(
cloned_rollback
);
}
// clear the dirty bit, because the node has been cloned
log
->
dirty
=
0
;
...
...
ft/rollback-ct-callbacks.h
View file @
d865cbde
...
...
@@ -28,7 +28,7 @@ int toku_rollback_pe_callback (
)
;
bool
toku_rollback_pf_req_callback
(
void
*
UU
(
ftnode_pv
),
void
*
UU
(
read_extraargs
))
;
int
toku_rollback_pf_callback
(
void
*
UU
(
ftnode_pv
),
void
*
UU
(
disk_data
),
void
*
UU
(
read_extraargs
),
int
UU
(
fd
),
PAIR_ATTR
*
UU
(
sizep
));
void
toku_rollback_clone_callback
(
void
*
value_data
,
void
**
cloned_value_data
,
PAIR_ATTR
*
new_attr
,
bool
for_checkpoint
,
void
*
write_extraargs
);
void
toku_rollback_clone_callback
(
void
*
value_data
,
void
**
cloned_value_data
,
long
*
clone_size
,
PAIR_ATTR
*
new_attr
,
bool
for_checkpoint
,
void
*
write_extraargs
);
int
toku_rollback_cleaner_callback
(
void
*
UU
(
ftnode_pv
),
...
...
ft/tests/cachetable-clone-checkpoint.cc
View file @
d865cbde
...
...
@@ -7,9 +7,10 @@
#include "cachetable-test.h"
static
void
clone_callback
(
void
*
UU
(
value_data
),
void
**
cloned_value_data
,
PAIR_ATTR
*
new_attr
,
bool
UU
(
for_checkpoint
),
void
*
UU
(
write_extraargs
))
clone_callback
(
void
*
UU
(
value_data
),
void
**
cloned_value_data
,
long
*
clone_size
,
PAIR_ATTR
*
new_attr
,
bool
UU
(
for_checkpoint
),
void
*
UU
(
write_extraargs
))
{
*
cloned_value_data
=
(
void
*
)
1
;
*
clone_size
=
8
;
new_attr
->
is_valid
=
false
;
}
...
...
ft/tests/cachetable-clone-partial-fetch-pinned-node.cc
View file @
d865cbde
...
...
@@ -10,9 +10,10 @@ bool flush_completed;
bool
pf_called
;
static
void
clone_callback
(
void
*
UU
(
value_data
),
void
**
cloned_value_data
,
PAIR_ATTR
*
new_attr
,
bool
UU
(
for_checkpoint
),
void
*
UU
(
write_extraargs
))
clone_callback
(
void
*
UU
(
value_data
),
void
**
cloned_value_data
,
long
*
clone_size
,
PAIR_ATTR
*
new_attr
,
bool
UU
(
for_checkpoint
),
void
*
UU
(
write_extraargs
))
{
*
cloned_value_data
=
(
void
*
)
1
;
*
clone_size
=
8
;
new_attr
->
is_valid
=
false
;
}
...
...
ft/tests/cachetable-clone-partial-fetch.cc
View file @
d865cbde
...
...
@@ -10,9 +10,10 @@ bool flush_completed;
bool
pf_called
;
static
void
clone_callback
(
void
*
UU
(
value_data
),
void
**
cloned_value_data
,
PAIR_ATTR
*
new_attr
,
bool
UU
(
for_checkpoint
),
void
*
UU
(
write_extraargs
))
clone_callback
(
void
*
UU
(
value_data
),
void
**
cloned_value_data
,
long
*
clone_size
,
PAIR_ATTR
*
new_attr
,
bool
UU
(
for_checkpoint
),
void
*
UU
(
write_extraargs
))
{
*
cloned_value_data
=
(
void
*
)
1
;
*
clone_size
=
8
;
new_attr
->
is_valid
=
false
;
}
...
...
ft/tests/cachetable-clone-pin-nonblocking.cc
View file @
d865cbde
...
...
@@ -8,9 +8,10 @@
static
void
clone_callback
(
void
*
UU
(
value_data
),
void
**
cloned_value_data
,
PAIR_ATTR
*
new_attr
,
bool
UU
(
for_checkpoint
),
void
*
UU
(
write_extraargs
))
clone_callback
(
void
*
UU
(
value_data
),
void
**
cloned_value_data
,
long
*
clone_size
,
PAIR_ATTR
*
new_attr
,
bool
UU
(
for_checkpoint
),
void
*
UU
(
write_extraargs
))
{
*
cloned_value_data
=
(
void
*
)
1
;
*
clone_size
=
8
;
new_attr
->
is_valid
=
false
;
}
...
...
ft/tests/cachetable-clone-unpin-remove.cc
View file @
d865cbde
...
...
@@ -10,9 +10,10 @@ bool flush_completed;
bool
evict_called
;
static
void
clone_callback
(
void
*
UU
(
value_data
),
void
**
cloned_value_data
,
PAIR_ATTR
*
new_attr
,
bool
UU
(
for_checkpoint
),
void
*
UU
(
write_extraargs
))
clone_callback
(
void
*
UU
(
value_data
),
void
**
cloned_value_data
,
long
*
clone_size
,
PAIR_ATTR
*
new_attr
,
bool
UU
(
for_checkpoint
),
void
*
UU
(
write_extraargs
))
{
*
cloned_value_data
=
(
void
*
)
1
;
*
clone_size
=
8
;
new_attr
->
is_valid
=
false
;
}
...
...
ft/tests/cachetable-pin-checkpoint.cc
View file @
d865cbde
...
...
@@ -29,6 +29,7 @@ static void
clone_callback
(
void
*
value_data
,
void
**
cloned_value_data
,
long
*
clone_size
,
PAIR_ATTR
*
new_attr
,
bool
UU
(
for_checkpoint
),
void
*
UU
(
write_extraargs
)
...
...
@@ -37,7 +38,8 @@ clone_callback(
new_attr
->
is_valid
=
false
;
int64_t
*
XMALLOC
(
data_val
);
*
data_val
=
*
(
int64_t
*
)
value_data
;
*
cloned_value_data
=
data_val
;
*
cloned_value_data
=
data_val
;
*
clone_size
=
8
;
}
...
...
ft/tests/cachetable-put-checkpoint.cc
View file @
d865cbde
...
...
@@ -42,6 +42,7 @@ static void
clone_callback
(
void
*
value_data
,
void
**
cloned_value_data
,
long
*
clone_size
,
PAIR_ATTR
*
new_attr
,
bool
UU
(
for_checkpoint
),
void
*
UU
(
write_extraargs
)
...
...
@@ -52,6 +53,7 @@ clone_callback(
*
data_val
=
*
(
int64_t
*
)
value_data
;
*
cloned_value_data
=
data_val
;
*
new_attr
=
make_pair_attr
(
8
);
*
clone_size
=
8
;
}
static
void
...
...
ft/tests/cachetable-simple-clone.cc
View file @
d865cbde
...
...
@@ -12,11 +12,12 @@ bool flush_expected;
bool
flush_called
;
static
void
clone_callback
(
void
*
UU
(
value_data
),
void
**
cloned_value_data
,
PAIR_ATTR
*
new_attr
,
bool
UU
(
for_checkpoint
),
void
*
UU
(
write_extraargs
))
clone_callback
(
void
*
UU
(
value_data
),
void
**
cloned_value_data
,
long
*
clone_size
,
PAIR_ATTR
*
new_attr
,
bool
UU
(
for_checkpoint
),
void
*
UU
(
write_extraargs
))
{
*
cloned_value_data
=
(
void
*
)
1
;
new_attr
->
is_valid
=
false
;
clone_called
=
true
;
*
clone_size
=
8
;
}
static
void
...
...
ft/tests/cachetable-simple-clone2.cc
View file @
d865cbde
...
...
@@ -12,11 +12,12 @@ bool flush_expected;
bool
flush_called
;
static
void
clone_callback
(
void
*
UU
(
value_data
),
void
**
cloned_value_data
,
PAIR_ATTR
*
new_attr
,
bool
UU
(
for_checkpoint
),
void
*
UU
(
write_extraargs
))
clone_callback
(
void
*
UU
(
value_data
),
void
**
cloned_value_data
,
long
*
clone_size
,
PAIR_ATTR
*
new_attr
,
bool
UU
(
for_checkpoint
),
void
*
UU
(
write_extraargs
))
{
*
cloned_value_data
=
(
void
*
)
1
;
new_attr
->
is_valid
=
false
;
clone_called
=
true
;
*
clone_size
=
8
;
}
static
void
...
...
ft/tests/ft-serialize-test.cc
View file @
d865cbde
...
...
@@ -191,7 +191,8 @@ static void write_sn_to_disk(int fd, FT_HANDLE brt, FTNODE sn, FTNODE_DISK_DATA*
if
(
do_clone
)
{
void
*
cloned_node_v
=
NULL
;
PAIR_ATTR
attr
;
toku_ftnode_clone_callback
(
sn
,
&
cloned_node_v
,
&
attr
,
false
,
brt
->
ft
);
long
clone_size
;
toku_ftnode_clone_callback
(
sn
,
&
cloned_node_v
,
&
clone_size
,
&
attr
,
false
,
brt
->
ft
);
FTNODE
CAST_FROM_VOIDP
(
cloned_node
,
cloned_node_v
);
r
=
toku_serialize_ftnode_to
(
fd
,
make_blocknum
(
20
),
cloned_node
,
src_ndd
,
false
,
brt
->
ft
,
false
);
assert
(
r
==
0
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment