Test expansion
Detect a recent difference
This commit is contained in:
parent
da53808e2e
commit
52ca0e4b6c
3 changed files with 33 additions and 7 deletions
|
@ -446,9 +446,9 @@ aae_indexspecs(AAE, Bucket, Key, SQN, H, LastMods) ->
|
||||||
leveled_tictac:get_segment(Key, TreeSize),
|
leveled_tictac:get_segment(Key, TreeSize),
|
||||||
IdxFldStr = ?NRT_IDX ++ LMD1 ++ "_bin",
|
IdxFldStr = ?NRT_IDX ++ LMD1 ++ "_bin",
|
||||||
IdxTrmStr =
|
IdxTrmStr =
|
||||||
string:right(integer_to_list(SegID), 24, $0) ++
|
string:right(integer_to_list(SegID), 8, $0) ++
|
||||||
"." ++
|
"." ++
|
||||||
string:right(integer_to_list(H), 24, $0),
|
string:right(integer_to_list(H), 8, $0),
|
||||||
{IdxK, IdxV} =
|
{IdxK, IdxV} =
|
||||||
gen_indexspec(Bucket0, Key,
|
gen_indexspec(Bucket0, Key,
|
||||||
add,
|
add,
|
||||||
|
@ -826,7 +826,7 @@ genaaeidx_test() ->
|
||||||
[{{?IDX_TAG, <<"Bucket0">>, {Fld, Term}, <<"Key1">>},
|
[{{?IDX_TAG, <<"Bucket0">>, {Fld, Term}, <<"Key1">>},
|
||||||
{SQN, {active, TS}, no_lookup, null}}] = AAESpecsB1,
|
{SQN, {active, TS}, no_lookup, null}}] = AAESpecsB1,
|
||||||
?assertMatch(true, is_integer(TS)),
|
?assertMatch(true, is_integer(TS)),
|
||||||
?assertMatch(49, length(binary_to_list(Term))),
|
?assertMatch(17, length(binary_to_list(Term))),
|
||||||
?assertMatch("$aae.", lists:sublist(binary_to_list(Fld), 5)).
|
?assertMatch("$aae.", lists:sublist(binary_to_list(Fld), 5)).
|
||||||
|
|
||||||
-endif.
|
-endif.
|
|
@ -282,8 +282,12 @@ generate_testobject() ->
|
||||||
generate_testobject(B1, K1, V1, Spec1, MD).
|
generate_testobject(B1, K1, V1, Spec1, MD).
|
||||||
|
|
||||||
generate_testobject(B, K, V, Spec, MD) ->
|
generate_testobject(B, K, V, Spec, MD) ->
|
||||||
Content = #r_content{metadata=dict:from_list(MD), value=V},
|
MD0 = [{?MD_LASTMOD, os:timestamp()}|MD],
|
||||||
{#r_object{bucket=B, key=K, contents=[Content], vclock=[{'a',1}]},
|
Content = #r_content{metadata=dict:from_list(MD0), value=V},
|
||||||
|
{#r_object{bucket=B,
|
||||||
|
key=K,
|
||||||
|
contents=[Content],
|
||||||
|
vclock=generate_vclock()},
|
||||||
Spec}.
|
Spec}.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -543,7 +543,7 @@ recent_aae_allaae(_Config) ->
|
||||||
{ok, Book2C} = leveled_bookie:book_start(StartOptsC),
|
{ok, Book2C} = leveled_bookie:book_start(StartOptsC),
|
||||||
{ok, Book2D} = leveled_bookie:book_start(StartOptsD),
|
{ok, Book2D} = leveled_bookie:book_start(StartOptsD),
|
||||||
|
|
||||||
{TicTacTreeJoined, TicTacTreeFull, EmptyTree, _LMDIndexes} =
|
{TicTacTreeJoined, TicTacTreeFull, EmptyTree, LMDIndexes} =
|
||||||
load_and_check_recentaae(Book2A, Book2B, Book2C, Book2D,
|
load_and_check_recentaae(Book2A, Book2B, Book2C, Book2D,
|
||||||
SW_StartLoad, TreeSize, UnitMins,
|
SW_StartLoad, TreeSize, UnitMins,
|
||||||
LMDIndexes),
|
LMDIndexes),
|
||||||
|
@ -555,6 +555,28 @@ recent_aae_allaae(_Config) ->
|
||||||
true = DL1_0 == [],
|
true = DL1_0 == [],
|
||||||
true = length(DL1_1) > 100,
|
true = length(DL1_1) > 100,
|
||||||
|
|
||||||
|
V2 = "Value2",
|
||||||
|
{TestObject2, TestSpec2} =
|
||||||
|
testutil:generate_testobject(B1, K1, V2, S1, MD),
|
||||||
|
|
||||||
|
New_startTS = os:timestamp(),
|
||||||
|
|
||||||
|
ok = testutil:book_riakput(Book2B, TestObject2, TestSpec2),
|
||||||
|
testutil:check_forobject(Book2B, TestObject2),
|
||||||
|
testutil:check_forobject(Book2A, TestObject),
|
||||||
|
|
||||||
|
New_endTS = os:timestamp(),
|
||||||
|
NewLMDIndexes = determine_lmd_indexes(New_startTS, New_endTS, UnitMins),
|
||||||
|
{TicTacTreeJoined2, TicTacTreeFull2, _EmptyTree, NewLMDIndexes} =
|
||||||
|
load_and_check_recentaae(Book2A, Book2B, Book2C, Book2D,
|
||||||
|
New_startTS, TreeSize, UnitMins,
|
||||||
|
NewLMDIndexes),
|
||||||
|
DL2_0 = leveled_tictac:find_dirtyleaves(TicTacTreeFull2,
|
||||||
|
TicTacTreeJoined2),
|
||||||
|
|
||||||
|
% DL2_1 = leveled_tictac:find_dirtyleaves(TicTacTreeFull, EmptyTree),
|
||||||
|
true = length(DL2_0) == 1,
|
||||||
|
|
||||||
ok = leveled_bookie:book_close(Book2A),
|
ok = leveled_bookie:book_close(Book2A),
|
||||||
ok = leveled_bookie:book_close(Book2B),
|
ok = leveled_bookie:book_close(Book2B),
|
||||||
ok = leveled_bookie:book_close(Book2C),
|
ok = leveled_bookie:book_close(Book2C),
|
||||||
|
@ -619,7 +641,7 @@ load_and_check_recentaae(Book1A, Book1B, Book1C, Book1D,
|
||||||
fun(_B, _K) -> accumulate end},
|
fun(_B, _K) -> accumulate end},
|
||||||
{async, Folder} = leveled_bookie:book_returnfolder(Bookie, Q),
|
{async, Folder} = leveled_bookie:book_returnfolder(Bookie, Q),
|
||||||
R = Folder(),
|
R = Folder(),
|
||||||
io:format("TicTac Tree for index ~w took " ++
|
io:format("TicTac Tree for index ~s took " ++
|
||||||
"~w microseconds~n",
|
"~w microseconds~n",
|
||||||
[LMD, timer:now_diff(os:timestamp(), SW)]),
|
[LMD, timer:now_diff(os:timestamp(), SW)]),
|
||||||
leveled_tictac:merge_trees(R, Acc)
|
leveled_tictac:merge_trees(R, Acc)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue