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

Allow better control over lease timeouts on a per-scan basis

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Minor
    • Resolution: Duplicate
    • None
    • None
    • None
    • None

    Description

      Changing the global scanner lease timeout is a heavy-handed solution for long scans on a cluster that may be used by a variety of applications. Two additions would make this easier to manage in this circumstance:

      1) Allow overriding hbase.regionserver.lease.period on a per-scan basis.

      2) Allow manual reporting of progress, similar to Hadoop's context.progress(). Example usage:

      Scan scan = new Scan(startRow, endRow);
      scan.setCaching(someVal); // based on what we expect most rows to take for processing time
      
      ResultScanner scanner = table.getScanner(scan);
      
      for (Result r : scanner) {
        //
        // usual processing, the time for which we accounted for in our caching and global lease timeout settings
        //
      
        if (someCondition) {
          //
          // More time-intensive processing necessary on this record, which is hard to account for in the caching
          //
      
          scanner.progress();
        }
      }
      

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: