Test expansion

Detect a recent difference
This commit is contained in:
martinsumner 2017-07-02 19:33:18 +01:00
parent da53808e2e
commit 52ca0e4b6c
3 changed files with 33 additions and 7 deletions

View file

@ -446,9 +446,9 @@ aae_indexspecs(AAE, Bucket, Key, SQN, H, LastMods) ->
leveled_tictac:get_segment(Key, TreeSize),
IdxFldStr = ?NRT_IDX ++ LMD1 ++ "_bin",
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} =
gen_indexspec(Bucket0, Key,
add,
@ -826,7 +826,7 @@ genaaeidx_test() ->
[{{?IDX_TAG, <<"Bucket0">>, {Fld, Term}, <<"Key1">>},
{SQN, {active, TS}, no_lookup, null}}] = AAESpecsB1,
?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)).
-endif.

View file

@ -282,8 +282,12 @@ generate_testobject() ->
generate_testobject(B1, K1, V1, Spec1, MD).
generate_testobject(B, K, V, Spec, MD) ->
Content = #r_content{metadata=dict:from_list(MD), value=V},
{#r_object{bucket=B, key=K, contents=[Content], vclock=[{'a',1}]},
MD0 = [{?MD_LASTMOD, os:timestamp()}|MD],
Content = #r_content{metadata=dict:from_list(MD0), value=V},
{#r_object{bucket=B,
key=K,
contents=[Content],
vclock=generate_vclock()},
Spec}.

View file

@ -543,7 +543,7 @@ recent_aae_allaae(_Config) ->
{ok, Book2C} = leveled_bookie:book_start(StartOptsC),
{ok, Book2D} = leveled_bookie:book_start(StartOptsD),
{TicTacTreeJoined, TicTacTreeFull, EmptyTree, _LMDIndexes} =
{TicTacTreeJoined, TicTacTreeFull, EmptyTree, LMDIndexes} =
load_and_check_recentaae(Book2A, Book2B, Book2C, Book2D,
SW_StartLoad, TreeSize, UnitMins,
LMDIndexes),
@ -555,6 +555,28 @@ recent_aae_allaae(_Config) ->
true = DL1_0 == [],
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(Book2B),
ok = leveled_bookie:book_close(Book2C),
@ -619,7 +641,7 @@ load_and_check_recentaae(Book1A, Book1B, Book1C, Book1D,
fun(_B, _K) -> accumulate end},
{async, Folder} = leveled_bookie:book_returnfolder(Bookie, Q),
R = Folder(),
io:format("TicTac Tree for index ~w took " ++
io:format("TicTac Tree for index ~s took " ++
"~w microseconds~n",
[LMD, timer:now_diff(os:timestamp(), SW)]),
leveled_tictac:merge_trees(R, Acc)