On 9/9/08 9:23 PM, "Jim Kellerman" <[EMAIL PROTECTED]> wrote:

>> -----Original Message-----
>> From: Cosmin Lehene [mailto:[EMAIL PROTECTED]
>> Sent: Tuesday, September 09, 2008 11:08 AM
>> To: [email protected]
>> Subject: Re: Hbase corrupts data after reporting MSG_REPORT_CLOSE to master
>> during compaction and split process
>>
>> On 9/9/08 6:56 PM, "Jim Kellerman" <[EMAIL PROTECTED]> wrote:
>>
>>> Comments inline below:
>>>> -----Original Message-----
>>>> From: Cosmin Lehene [mailto:[EMAIL PROTECTED]
>>>> Sent: Tuesday, September 09, 2008 7:25 AM
>>>> To: [email protected]
>>>> Subject: Re: Hbase corrupts data after reporting MSG_REPORT_CLOSE to
>> master
>>>> during compaction and split process
>
> <snip>
>
>>>> Our scenario goes this way:
>>>>
>>>> Master (M) assigns region A to region server R1
>>>> R1 starts compaction and split of A
>>>> R1 on heart beat sends it's load and a list of MLR that contains A
>>>
>>> This list should only be a list of open regions and should not include any
>>> regions in the process of being opened.
>> Yes, however A has been opened. Compact split is part of the opening process
>> (I think in openRegion method)
>
> Ah, ok now I understand what is going on. The region server should not put
> regions that are being compacted or split into the list it sends back for the
> load. Nice catch! That is definitely a bug.
>

Well that only reduces the possibility of a problem.
What happens if the region server sends the list of "clean" regions with the
heartbeat and then starts a compaction? Wouldn't this leave the cluster in
the same inconsistent state?

A compaction can be requested when opening a region after an assignment and
when the cache is flushed (flushRegion).


Reply via email to