You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "cuijianwei (JIRA)" <ji...@apache.org> on 2015/01/27 14:37:35 UTC

[jira] [Created] (HBASE-12930) Check single row size not exceed configured max row size across families for Get/Scan

cuijianwei created HBASE-12930:
----------------------------------

             Summary: Check single row size not exceed configured max row size across families for Get/Scan
                 Key: HBASE-12930
                 URL: https://issues.apache.org/jira/browse/HBASE-12930
             Project: HBase
          Issue Type: Improvement
          Components: Scanners
            Reporter: cuijianwei
            Priority: Minor
             Fix For: 0.99.2


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)?
{code}
    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) {
    ...
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)