From eaf007ec08094ea658caf9b8c69d884984c3115c Mon Sep 17 00:00:00 2001 From: Scott Lystig Fritchie Date: Tue, 19 May 2015 13:56:12 +0900 Subject: [PATCH] Fix read repair FLU tracking --- src/machi_cr_client.erl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/machi_cr_client.erl b/src/machi_cr_client.erl index be4aacb..a62e410 100644 --- a/src/machi_cr_client.erl +++ b/src/machi_cr_client.erl @@ -519,17 +519,17 @@ read_repair4([First|Rest]=MidsTails, ReturnMode, Chunk, Repaired, File, Offset, Proxy = orddict:fetch(First, PD), case ?FLU_PC:write_chunk(Proxy, EpochID, File, Offset, Chunk, ?TIMEOUT) of ok -> - read_repair4(Rest, ReturnMode, Chunk, Repaired, File, Offset, - Size, Depth, STime, S); + read_repair4(Rest, ReturnMode, Chunk, [First|Repaired], File, + Offset, Size, Depth, STime, S); {error, Retry} when Retry == partition; Retry == bad_epoch; Retry == wedged -> - read_repair3(MidsTails, ReturnMode, Chunk, Repaired, File, Offset, - Size, Depth, STime, S); + read_repair3(MidsTails, ReturnMode, Chunk, Repaired, File, + Offset, Size, Depth, STime, S); {error, written} -> %% TODO: To be very paranoid, read the chunk here to verify %% that it is exactly our Chunk. - read_repair4(Rest, ReturnMode, Chunk, Repaired, File, Offset, - Size, Depth, STime, S); + read_repair4(Rest, ReturnMode, Chunk, Repaired, File, + Offset, Size, Depth, STime, S); {error, not_written} -> exit({todo_should_never_happen,?MODULE,?LINE,File,Offset,Size}) end.