Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-27408

Improve BucketAllocatorException log to always include HFile name

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.6.0, 3.0.0-alpha-4, 2.5.2
    • None
    • None

    Description

      In HBASE-26444 the logging around BucketAllocatorException was improved. One thing I'm noticing is that I'm often seeing logs like this:

      2022-10-03T13:13:18,284 [main-BucketCacheWriter-0] WARN org.apache.hadoop.hbase.io.hfile.bucket.BucketCache: Most recent failed allocation after 60000 ms; Message: Allocation too big size=771956; adjust BucketCache sizes hbase.bucketcache.bucket.sizes to accomodate if size seems reasonable and you want it cached.

      According to the logic in the code, this means the failure was for an HFileBlock but the block's getColumnFamily and/or getTableName were null. I'm not sure why that is the case, we don't have any special customizations here. But as a result we don't print any indication of the hfile name. We should add an option to fallback here on the default printing which includes the re.getKey() (HFile name) in all cases.

      Attachments

        Issue Links

          Activity

            People

              bbeaudreault Bryan Beaudreault
              bbeaudreault Bryan Beaudreault
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: