I am not at a computer for the moment. 
This involves passing an extra parameter indicating the level of recursion and 
possibly using an enum in place of the Boolean return value. 
I will show you a patch when I get home. 

Thanks

On Dec 30, 2012, at 2:42 PM, Jean-Marc Spaggiari <[email protected]> 
wrote:

> I'm not sure I'm getting that.
> 
> It's recursive. So when you are on the parent directory, you don't
> know yet if the child directory is empty or not. So you can't call the
> delete() yet. If you call the delet() giving "true" for recurs, then
> you might delete some files who just got created, which we want to
> avoid.
> 
> IMHO.
> 
> 2012/12/30, Ted <[email protected]>:
>> Thanks for your digging.
>> 
>> Minor optimization would be to issue delete() on the parent directory so
>> that there are fewer requests to namenode.
>> 
>> Cheers
>> 
>> On Dec 30, 2012, at 2:15 PM, Jean-Marc Spaggiari <[email protected]>
>> wrote:
>> 
>>> I did the change, pushed it and it cleaned my directories correctly.
>>> 
>>> // if the directory doesn't exist or is empty, then we are done
>>> if (children == null) return fs.delete(toCheck, false);
>>> 
>>> The only thing is that I don't know what will fs.delete() return i
>>> case the directory doesn't exist. But I think it's still correct to
>>> return false if the directory doesn't exist because we can't really
>>> delete something which doesn't exist...
>>> 
>>> My opinion.
>>> 
>>> So the patch is ready, easy one ;) Just waiting for Jesse's feedback
>>> just in case.
>>> 
>>> JM
>>> 
>>> 2012/12/30, lars hofhansl <[email protected]>:
>>>> Nothing has changed around this in 0.94.4 as far as I know.
>>>> 
>>>> 
>>>> 
>>>> 
>>>> ________________________________
>>>> From: Jean-Marc Spaggiari <[email protected]>
>>>> To: [email protected]
>>>> Sent: Sunday, December 30, 2012 9:53 AM
>>>> Subject: Re: CleanerChore exception
>>>> 
>>>> I was going to move to 0.94.4 today ;) And yes I'm using 0.94.3. I
>>>> might wait a bit in case some testing is required with my version.
>>>> 
>>>> Is this what you are looking for? http://pastebin.com/N8Q0FMba
>>>> 
>>>> I will keep the files for now since it seems it's not causing any
>>>> major issue. That will allow some more testing if required.
>>>> 
>>>> JM
>>>> 
>>>> 
>>>> 2012/12/30, Ted Yu <[email protected]>:
>>>>> Looks like you're using 0.94.3
>>>>> 
>>>>> The archiver is backport of:
>>>>> HBASE-5547, Don't delete HFiles in backup mode
>>>>> 
>>>>> Can you provide more the log where the IOE was reported using pastebin
>>>>> ?
>>>>> 
>>>>> Thanks
>>>>> 
>>>>> On Sun, Dec 30, 2012 at 9:08 AM, Jean-Marc Spaggiari <
>>>>> [email protected]> wrote:
>>>>> 
>>>>>> Hi,
>>>>>> 
>>>>>> I have a "IOException" /hbase/.archive/table_name is non empty
>>>>>> exception every minute on my logs.
>>>>>> 
>>>>>> There is 30 directories under this directory. the main directory is
>>>>>> from yesterday, but all sub directories are from December 10th, all
>>>>>> the same time.
>>>>>> 
>>>>>> What does this .archive directory is used for, and what should I do?
>>>>>> 
>>>>>> Thanks,
>>>>>> 
>>>>>> JM
>> 

Reply via email to