Hi Harsh J, 

I'm not using WAL in my writes. 
Is there still a log rolling ?

ב-Jun 17, 2012, בשעה 7:40, Harsh J <[email protected]> כתב/ה:

> Amit,
> 
> Your values for HLog block size (hbase.regionserver.hlog.blocksize,
> default is the HDFS default block size (64 MB unless you've raised it
> properly), too low unless you also have HLog compression) and the
> factor of max-hlogs-to-keep (hbase.regionserver.maxlogs, default 32
> files) can easily cause premature flushing as it is another criteria.
> Given your write workload (which hit the WAL), this is definitely what
> you're hitting.
> 
> On Sat, Jun 16, 2012 at 7:47 PM, Amit Sela <[email protected]> wrote:
>> Thanks Doug, I read the regions section from the book like you recommended
>> but I still have some questions left.
>> 
>> When running a massive write job, the regionserver log show the memsize
>> that is flushed. The problem is that most of the time the memsize is either
>> much smaller then the memstore.flush.size configured (resulting in writing
>> more files, which leads to frequent compactions) or bigger
>> than memstore.flush.size * memstore.block.multiplier (resulting in Blocking
>> updates for 'IPC Server handler # on <port>...).
>> In some cases I also see HBaseServer throwing a ClosedChannelException:
>> "WARN org.apache.hadoop.ipc.HBaseServer: IPC Server handler <handler #> on
>> <port #> caught: java.nio.channels.ClosedChannelException"
>> 
>> I guess these problems are also the cause for long (few minutes) pauses and
>> in extreme cases Full GC during the write jobs.
>> 
>> Any ideas anyone ?
>> 
>> In general, I did some digging and couldn't find much about the write
>> process in HBase from a "memory usage" point of view... besides the
>> configurations description - maybe worth adding to the book.
>> 
>> Thank you for all your help,
>> 
>> Amit.
>> 
>> 
>> On Mon, Jun 11, 2012 at 3:22 PM, Doug Meil 
>> <[email protected]>wrote:
>> 
>>> 
>>> Hi there-
>>> 
>>> Your understanding is on track.
>>> 
>>> 
>>> You probably want to read this section..
>>> 
>>> http://hbase.apache.org/book.html#regions.arch
>>> 
>>> Š as it covers those topics in more detail.
>>> 
>>> 
>>> 
>>> 
>>> On 6/10/12 1:02 PM, "Amit Sela" <[email protected]> wrote:
>>> 
>>>> Hi all,
>>>> 
>>>> I'm trying to better understand what's going on in the region server
>>>> during
>>>> write to HBase.
>>>> 
>>>> As I understand the process:
>>>> 
>>>> 1. Data is written to memstore.
>>>> 2. Once the memstore has reached hbase.hregion.memstore.flush.size ->
>>>> memstore executes flush and writes a new StoreFile.
>>>> 3. The number of StoreFiles increases until a compaction is triggered.
>>>> 
>>>> To my understanding, the compaction is triggered after a compaction check
>>>> is done by either CheckCompaction thread running in the background or by
>>>> the flush memstore executed.
>>>> The compaction triggered will be a minor compaction BUT it could promote
>>>> to
>>>> major if it includes all store files.
>>>> When will it NOT include all store files ? say I set compactionThreshld to
>>>> 3, then when the 3rd (or 4th) flush is executed, a compaction wiil be
>>>> triggered and will promote to major since it includes all store files.
>>>> 
>>>> Is this right ? can anyone elaborate ?
>>> 
>>> 
>>> 
> 
> 
> 
> -- 
> Harsh J

Reply via email to