% dev/dev1/bin/riak-cs escript $PWD/priv/tools/internal/select_gc_bucket.erl \
-p 10017 -r 8 --to today
% wc -l /tmp/tmp.txt
114 /tmp/tmp.txt
% head /tmp/tmp.txt
0 182687704666362864775460604089535377456991567872 365375409332725729550921208179070754913983135744 30623a098f6bcd4621d373cade4e832627b4f6 0df4ee08d2fa4f8f834be72af751758000000000 0df4ee08d2fa4f8f834be72af7517580 0
913438523331814323877303020447676887284957839360 1096126227998177188652763624537212264741949407232 1278813932664540053428224228626747642198940975104 30623a098f6bcd4621d373cade4e832627b4f6 0df4ee08d2fa4f8f834be72af751758000000001 0df4ee08d2fa4f8f834be72af7517580 1
182687704666362864775460604089535377456991567872 365375409332725729550921208179070754913983135744 548063113999088594326381812268606132370974703616 30623a098f6bcd4621d373cade4e832627b4f6 0df4ee08d2fa4f8f834be72af751758000000002 0df4ee08d2fa4f8f834be72af7517580 2
548063113999088594326381812268606132370974703616 730750818665451459101842416358141509827966271488 913438523331814323877303020447676887284957839360 30623a098f6bcd4621d373cade4e832627b4f6 0df4ee08d2fa4f8f834be72af751758000000003 0df4ee08d2fa4f8f834be72af7517580 3
1278813932664540053428224228626747642198940975104 0 182687704666362864775460604089535377456991567872 30623a098f6bcd4621d373cade4e832627b4f6 0df4ee08d2fa4f8f834be72af751758000000004 0df4ee08d2fa4f8f834be72af7517580 4
913438523331814323877303020447676887284957839360 1096126227998177188652763624537212264741949407232 1278813932664540053428224228626747642198940975104 30623a098f6bcd4621d373cade4e832627b4f6 4c80f90fea9f4fdeacc0861c888bf13200000000 4c80f90fea9f4fdeacc0861c888bf132 0
182687704666362864775460604089535377456991567872 365375409332725729550921208179070754913983135744 548063113999088594326381812268606132370974703616 30623a098f6bcd4621d373cade4e832627b4f6 4c80f90fea9f4fdeacc0861c888bf13200000001 4c80f90fea9f4fdeacc0861c888bf132 1
548063113999088594326381812268606132370974703616 730750818665451459101842416358141509827966271488 913438523331814323877303020447676887284957839360 30623a098f6bcd4621d373cade4e832627b4f6 4c80f90fea9f4fdeacc0861c888bf13200000002 4c80f90fea9f4fdeacc0861c888bf132 2
365375409332725729550921208179070754913983135744 548063113999088594326381812268606132370974703616 730750818665451459101842416358141509827966271488 30623a098f6bcd4621d373cade4e832627b4f6 4c80f90fea9f4fdeacc0861c888bf13200000003 4c80f90fea9f4fdeacc0861c888bf132 3
182687704666362864775460604089535377456991567872 365375409332725729550921208179070754913983135744 548063113999088594326381812268606132370974703616 30623a098f6bcd4621d373cade4e832627b4f6 4c80f90fea9f4fdeacc0861c888bf13200000004 4c80f90fea9f4fdeacc0861c888bf132 4
The first line of /tmp/tmp.txt
Vnode IDs
0
182687704666362864775460604089535377456991567872
365375409332725729550921208179070754913983135744
Bucket=30623a098f6bcd4621d373cade4e832627b4f6 <= s3://test
Key=0df4ee08d2fa4f8f834be72af751758000000000
UUID=0df4ee08d2fa4f8f834be72af7517580
Seq=0
% riak attach
(dev1@127.0.0.1)1> {ok, C} = riak:local_client().
{ok,{riak_client,['[email protected]',undefined]}}
%% For BKey of the first line of /tmp/tmp.txt
(dev1@127.0.0.1)2> C:get(mochihex:to_bin("30623a098f6bcd4621d373cade4e832627b4f6"), mochihex:to_bin("0df4ee08d2fa4f8f834be72af751758000000000")).
{ok,{r_object,<<48,98,58,9,143,107,205,70,33,211,115,202,
222,78,131,38,39,180,246>>,
<<13,244,238,8,210,250,79,143,131,75,231,42,247,81,117,
128,0,0,0,0>>,
[{r_content,{dict,4,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],[],[],...},
{{[],[],[],[],[],[],[],[],[],[],...}}},
<<104,104,104,189,165,199,75,149,201,195,152,60,205,198,
95,155,119,98,193,...>>}],
[{<<"ÅR±ÿ\vÌáÿòÿD">>,{1,63596997080}}],
{dict,1,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],[],[],[],...},
{{[],[],[],[],[],[],[],[],[],[],[],...}}},
{ok, Bin} = file:read_file("/tmp/tmp.txt"), ok.
Ls = binary:split(Bin, <<"\n">>, [global]), ok.
f(BKs), BKs = [begin
[_,_,_,_,BHex,KHex|_] = binary:split(L, <<"\t">>, [global]),
{mochihex:to_bin(binary_to_list(BHex)), mochihex:to_bin(binary_to_list(KHex))}
end || L <- Ls, L =/= <<>>], ok.
[{ok, _} = C:get(B, K) || {B, K} <- BKs].
Stop riak node -> Cleanup
% ../riak_ee-2.0-cs-2.0/dev/dev1/bin/riak escript \
$PWD/priv/tools/internal/offline_delete.erl \
$PWD/../riak_ee-2.0-cs-2.0/dev/dev1/data/bitcask \
/tmp/tmp.txt
Restart riak node -> riak attach
(dev1@127.0.0.1)1> {ok, C} = riak:local_client().
{ok,{riak_client,['[email protected]',undefined]}}
%% For BKey of the first line of /tmp/tmp.txt
(dev1@127.0.0.1)2> C:get(mochihex:to_bin("30623a098f6bcd4621d373cade4e832627b4f6"), mochihex:to_bin("0df4ee08d2fa4f8f834be72af751758000000000")).
{error,notfound}
{ok, Bin} = file:read_file("/tmp/tmp.txt"), ok.
Ls = binary:split(Bin, <<"\n">>, [global]), ok.
f(BKs), BKs = [begin
[_,_,_,_,BHex,KHex|_] = binary:split(L, <<"\t">>, [global]),
{mochihex:to_bin(binary_to_list(BHex)), mochihex:to_bin(binary_to_list(KHex))}
end || L <- Ls, L =/= <<>>], ok.
[{error, notfound} = C:get(B, K) || {B, K} <- BKs].