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

ProtobufUtil.multi behavior is inconsistent in case of errors

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 0.95.0
    • 0.98.0, 0.95.0
    • None
    • None
    • Reviewed

    Description

      ProtobufUtil splits operations by regions and performs multiple client.multi calls. In case if there are certain errors inside RS, HRegionServer adds the corresponding exceptions to MultiResponse, PU continues the multi request for other regions, and returns partial failure.
      In case of other errors (for example, region not served exception), the entire multi operation stops executing, and previous successes and partial results are disregarded.
      ProtobufUtil should probably catch ServiceException separately for each client.multi call, make it a partial-failure exception for all actions for this region, and also continue the batch, to make the behavior consistent.
      Alternatively, if we want to avoid continuing the batch in case of some server-wide errors/connection problems/etc., server should do that for region-specific errors (add exception to results for each action).

      Attachments

        1. hbase-8036_v1.patch
          13 kB
          Enis Soztutar
        2. hbase-8036_v2.patch
          17 kB
          Enis Soztutar
        3. hbase-8036_v3.patch
          19 kB
          Enis Soztutar
        4. hbase-8036_v4.patch
          23 kB
          Enis Soztutar

        Issue Links

          Activity

            People

              enis Enis Soztutar
              sershe Sergey Shelukhin
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: