[
https://issues.apache.org/jira/browse/HBASE-3239?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12932965#action_12932965
]
Jonathan Gray commented on HBASE-3239:
--------------------------------------
@Kannan, I think the case you're describing and what is seen here is a fairly
"normal" behavior, though it may not be seen often in practice if you have good
distribution of writes across regions.
Two possible but maybe not common/real world examples:
- All edits in the oldest log are for regions that have moved to other servers
- You have 4 regions, flush size is 64MB, hlog size is 64MB, you hold max 10
logs. With even distribution of writes, you would expect only the most recent
4 logs (latest 256MB of writes) to have any data which is present in the
current memstores (maximum total size of 64*4=256MB). Eviction of the oldest
logs will not contain any edits that are in the memstores of these regions.
> NPE when trying to roll logs
> ----------------------------
>
> Key: HBASE-3239
> URL: https://issues.apache.org/jira/browse/HBASE-3239
> Project: HBase
> Issue Type: Bug
> Components: regionserver
> Affects Versions: 0.90.0
> Reporter: Prakash Khemani
> Priority: Blocker
> Fix For: 0.90.0
>
>
> Note from Kannan
> findMemstoresWithEditsEqualOrOlderThan() can return NULL it seems like. And
> we don't check NULL, before "region.length".
> regions =
> findMemstoresWithEditsEqualOrOlderThan(this.outputfiles.firstKey(),
> this.lastSeqWritten);
> StringBuilder sb = new StringBuilder();
> for (int i = 0; i < regions.length; i++) {
> ===
> Stack Trace
> 2010-11-15 19:19:54,258 DEBUG org.apache.hadoop.hbase.io.hfile.LruBlockCache:
> LRU Stats: total=6.1 GB, free=1.71 GB, max=7.81 GB, blocks=385740,
> accesses=7020255, hits=6329399, hitRatio=90.15%%, cachingAccesses=6765050,
> cachingHits=6329399, cachingHitsRatio=93.56%%, evictions=1, evicted=49911,
> evictedPerRun=49911.0
> 2010-11-15 19:21:05,204 INFO
> org.apache.hadoop.hbase.regionserver.wal.SequenceFileLogWriter: Using syncFs
> -- HDFS-200
> 2010-11-15 19:21:05,211 INFO org.apache.hadoop.hbase.regionserver.wal.HLog:
> Roll
> /PUMAHBASE001-SNC5-HBASE/.logs/pumahbase042.snc5.facebook.com,60020,1289856892583/10.38.28.57%3A60020.1289877154987,
> entries=649004, filesize=255069060. New hlog
> /PUMAHBASE001-SNC5-HBASE/.logs/pumahbase042.snc5.facebook.com,60020,1289856892583/10.38.28.57%3A60020.1289877665062
> 2010-11-15 19:21:05,222 ERROR org.apache.hadoop.hbase.regionserver.LogRoller:
> Log rolling failed
> java.lang.NullPointerException
> at
> org.apache.hadoop.hbase.regionserver.wal.HLog.cleanOldLogs(HLog.java:648)
> at
> org.apache.hadoop.hbase.regionserver.wal.HLog.rollWriter(HLog.java:528)
> at
> org.apache.hadoop.hbase.regionserver.LogRoller.run(LogRoller.java:94)
> 2010-11-15 19:21:05,226 FATAL
> org.apache.hadoop.hbase.regionserver.HRegionServer: ABORTING region server
> serverName=pumahbase042.snc5.facebook.com,60020,1289856892583,
> load=(requests=3476, regions=40, usedHeap=8388, maxHeap=15987): Log rolling
> failed
> java.lang.NullPointerException
> at
> org.apache.hadoop.hbase.regionserver.wal.HLog.cleanOldLogs(HLog.java:648)
> at
> org.apache.hadoop.hbase.regionserver.wal.HLog.rollWriter(HLog.java:528)
> at
> org.apache.hadoop.hbase.regionserver.LogRoller.run(LogRoller.java:94)
> 2010-11-15 19:21:05,227 INFO
> org.apache.hadoop.hbase.regionserver.HRegionServer: Dump of metrics:
> request=1264.5834, regions=40, stores=70, storefiles=98,
> storefileIndexSize=35, memstoreSize=83, compactionQueueSize=0, usedHeap=8370,
> maxHeap=15987, blockCacheSize=6593768536, blockCacheFree=1788154792,
> blockCacheCount=388283, blockCacheHitRatio=90, blockCacheHitCachingRatio=93
> 2010-11-15 19:21:05,227 INFO
> org.apache.hadoop.hbase.regionserver.HRegionServer: STOPPED: Log rolling
> failed
> 2010-11-15 19:21:05,227 INFO org.apache.hadoop.hbase.regionserver.LogRoller:
> LogRoller exiting.
> 2010-11-15 19:21:07,255 INFO org.apache.hadoop.ipc.HBaseServer: Stopping
> server on 60020
> ===
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.