29868678a4
Small cleanups Small cleanups Refactoring argnames & order for more consistency Add server-side-calculated MD5 checksum + logging file:consult() style checksum management, too slow! 513K csums = 105 seconds, ouch Much faster checksum recording Add checksum_list. Alas, line-by-line I/O is slow, neh? Much faster checksum listing Add file0_verify_checksums.escript and supporting code Adjust escript +A and -smp flags Add file0_compare_filelists.escript First draft of file0_repair_server.escript First draft of file0_repair_server.escript, part 2 WIP of file0_repair_server.escript, part 3 WIP of file0_repair_server.escript, part 4 Basic repair works, it seems, hooray! When checksum file ordering is different, try a cheap(?) 'cmp' on sorted results instead Add README.md Initial import of szone_chash.erl Add file0_cc_make_projection.escript and supporting code Add file0_cc_map_prefix.escript and supporting code Change think-o: hash output is a chain, silly boy Add file0_cc_1file_write_redundant.escript and support Add file0_cc_read_client.escript and supporting code Add examples/servers.map & file0_start_servers.escript WIP: working on file0_cc_migrate_files.escript File migration finished, works, yay! Add basic 'what am I' docs to each script Add file0_server_daemon.escript Minor fixes Fix broken unit test Add basho_bench run() commands for append & read ops with projection Add to examples dir WIP: erasure coding hack, part 1 Fix broken unit test WIP: erasure coding hack, part 2 WIP: erasure coding hack, part 3, EC data write is finished! WIP: erasure coding hack, part 4, EC data read still in progress WIP: erasure coding hack, part 5, EC data read still in progress WIP: erasure coding hack, part 5b, EC data read still in progress WIP: erasure coding hack, EC data read finished! README update, part 1 README update, part 2 Oops, put back the printed ouput for file-write-client and 1file-write-redundant-client README update, part 3 Fix 'user' output bug in list-client Ugly hacks to get output/no-output from write clients Clean up minor output bugs Clean up minor output bugs, part 2 README update, part 4 Clean up minor output bugs, part 3 Clean up minor output bugs, part 5 Clean up minor output bugs, part 6 README update, part 6 README update, part 7 README update, part 7 README update, part 8 Final edits/fixes for demo day Fix another oops in the README/demo day script
33 lines
1.1 KiB
Erlang
33 lines
1.1 KiB
Erlang
%% -------------------------------------------------------------------
|
|
%%
|
|
%% Copyright (c) 2007-2014 Basho Technologies, Inc. All Rights Reserved.
|
|
%%
|
|
%% This file is provided to you under the Apache License,
|
|
%% Version 2.0 (the "License"); you may not use this file
|
|
%% except in compliance with the License. You may obtain
|
|
%% a copy of the License at
|
|
%%
|
|
%% http://www.apache.org/licenses/LICENSE-2.0
|
|
%%
|
|
%% Unless required by applicable law or agreed to in writing,
|
|
%% software distributed under the License is distributed on an
|
|
%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
%% KIND, either express or implied. See the License for the
|
|
%% specific language governing permissions and limitations
|
|
%% under the License.
|
|
%%
|
|
%% -------------------------------------------------------------------
|
|
|
|
-record(projection, {
|
|
%% hard state
|
|
epoch :: non_neg_integer(),
|
|
last_epoch :: non_neg_integer(),
|
|
float_map,
|
|
last_float_map,
|
|
%% soft state
|
|
migrating :: boolean(),
|
|
tree,
|
|
last_tree
|
|
}).
|
|
|
|
-define(SHA_MAX, (1 bsl (20*8))).
|