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

Check single row size not exceed configured max row size across families for Get/Scan

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Incomplete
    • None
    • None
    • Scanners
    • None

    Description

      StoreScanner#next will check the 'totalBytesRead' not exceed configured ‘hbase.table.max.rowsize’ for each family. However, if there are several families, the single row will also achieve unexpected big size even if 'totalBytesRead' of each family not exceed 'hbase.table.max.rowsize'. This may cause the region server fail because of OOM. What about checking single row size across families in StoreScanner#next(List<Cell>, int)?

          long totalBytesRead = 0;
          // ==> compute the size of cells have been read
          for (Cell cell : outResult) {
            totalBytesRead += CellUtil.estimatedSerializedSizeOf(old);
          }
      
          LOOP: while((cell = this.heap.peek()) != null) {
          ...
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            cuijianwei Jianwei Cui
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: