Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-4932

Brainstorm more ways to avoid special SPLIT handling in Phoenix

    XMLWordPrintableJSON

Details

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

    Description

      Currently Phoenix still requires special handling and retries (automated and manually by the client user) when SPLITs occur in HBase.

      PHOENIX-4849 avoids that for "simple" SELECTs. I think we can go further if we add a bit more logic to the client like this:

      • Sorts. As we merge sort partial server results from the server scan, start a "merge bucket" when we see the next K/V to be out of order (that can happen when HBase executes partial scan across the new daughter regions)
      • Aggregates. Make sure the client can deal with more than one result per scan. I.e. for a SUM the scanner might return two results if HBase splits the scan across two regions. Similarly for AVG, client needs to deal with two sets of SUM/COUNT.
      • Offset. Make sure the client applies the offset. The server might return more. (this might be more complicated... haven't look too closely)

      In summary: We should let HBase do its things as much as possible. HBase already deals with SPLITs, scans are restarted and scan across regions, the region cache on the client is invalidated, etc.

      Just parking this here. This is not new. The ideas are probably not new either.

      tdsilva, FYI.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              larsh Lars Hofhansl
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: