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

Limit the length of initial resultSets for HBase thrift service

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.4.14
    • None
    • Thrift
    • None

    Description

      When the client requests getScannerResults or getScannerRows, set up a large numRows will cause ArrayIndexOutOfBoundsException ,and  may  cause OOM.

      For example

      conn := cli.(*hbase.THBaseServiceClient)
      tscan := &hbase.TScan{
         StartRow: []byte("prefix_1"),
         StopRow:  []byte("prefix_2"),
         Columns: []*hbase.TColumn{
            {
               Family:    []byte("N"),
               Qualifier: []byte("title"),
            },
         },
      }
      scanresult, err := conn.GetScannerResults([]byte("rowkey1"), tscan, 10000000)

      Here initialize the length of resultSets using the minimum value of "hbase.thrift.max.scanner.results.init.length"  and numRows。

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              wangjingying wangjingying
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: