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

Remove getRowOrBefore from HTableInterface and HTable

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major
    • Resolution: Implemented
    • Affects Version/s: None
    • Fix Version/s: 0.99.0, 2.0.0
    • Component/s: None
    • Labels:
      None

      Description

      The javadoc for HTable#getRowOrBefore says:

         * @deprecated As of version 0.92 this method is deprecated without
         * replacement.   
         * getRowOrBefore is used internally to find entries in hbase:meta and makes
         * various assumptions about the table (which are true for hbase:meta but not
         * in general) to be efficient.
      

      It's been deprecated long enough. We should remove it from the client API and mark it as private.

        Issue Links

          Activity

          Hide
          apurtell Andrew Purtell added a comment -

          I would even suggest doing this in 0.98 except we promised no incompatible client API changes after .0

          Show
          apurtell Andrew Purtell added a comment - I would even suggest doing this in 0.98 except we promised no incompatible client API changes after .0
          Hide
          enis Enis Soztutar added a comment -

          +1 for 0.99. We have reverse scan if anybody wants to use it. We can also remove the implementation in trunk. Nicolas Liochon in HBASE-10018 changed location lookup to use a reverse scan.

          Show
          enis Enis Soztutar added a comment - +1 for 0.99. We have reverse scan if anybody wants to use it. We can also remove the implementation in trunk. Nicolas Liochon in HBASE-10018 changed location lookup to use a reverse scan.
          Hide
          jmspaggi Jean-Marc Spaggiari added a comment -

          Can we not just replace this with the reverse scan call like in Phoenix? So we keep the feature but remove the implementation?

          Show
          jmspaggi Jean-Marc Spaggiari added a comment - Can we not just replace this with the reverse scan call like in Phoenix? So we keep the feature but remove the implementation?
          Hide
          anoop.hbase Anoop Sam John added a comment -

          MetaScanner uses HTable.getRowOrBefore ()

          Show
          anoop.hbase Anoop Sam John added a comment - MetaScanner uses HTable.getRowOrBefore ()
          Hide
          enis Enis Soztutar added a comment -

          MetaScanner uses HTable.getRowOrBefore ()

          We can probably change it to use the reverse scan as well, no?

          Show
          enis Enis Soztutar added a comment - MetaScanner uses HTable.getRowOrBefore () We can probably change it to use the reverse scan as well, no?
          Hide
          apurtell Andrew Purtell added a comment -

          I'm not suggesting removing the method totally. Make it private. Move it somewhere else. Perhaps into MetaScanner.

          Or as Enis says use reversed scanning for MetaScanner instead.

          Show
          apurtell Andrew Purtell added a comment - I'm not suggesting removing the method totally. Make it private. Move it somewhere else. Perhaps into MetaScanner. Or as Enis says use reversed scanning for MetaScanner instead.
          Hide
          enis Enis Soztutar added a comment -

          In HBASE-11797 (subtask of HBASE-10602), we have created a Table interface to replace HTableInterface. I've left out the getRowOrBefore() from Table, but kept it in HTI for 0.99. Hence, I suggest closing this as implemented. What do you guys think? We should remove it from HTI as well?

          Show
          enis Enis Soztutar added a comment - In HBASE-11797 (subtask of HBASE-10602 ), we have created a Table interface to replace HTableInterface . I've left out the getRowOrBefore() from Table, but kept it in HTI for 0.99. Hence, I suggest closing this as implemented. What do you guys think? We should remove it from HTI as well?
          Hide
          stack stack added a comment -

          Leaving it in HTI but removing from Table seems safest. I'm good closing this as implemented.

          Show
          stack stack added a comment - Leaving it in HTI but removing from Table seems safest. I'm good closing this as implemented.
          Hide
          enis Enis Soztutar added a comment -

          Andrew Purtell you ok with the above plan?

          Show
          enis Enis Soztutar added a comment - Andrew Purtell you ok with the above plan?
          Hide
          apurtell Andrew Purtell added a comment -

          +1

          Show
          apurtell Andrew Purtell added a comment - +1
          Hide
          enis Enis Soztutar added a comment -

          Implemented as a part of HBASE-11797

          Show
          enis Enis Soztutar added a comment - Implemented as a part of HBASE-11797
          Hide
          enis Enis Soztutar added a comment -

          Closing this issue after 0.99.0 release.

          Show
          enis Enis Soztutar added a comment - Closing this issue after 0.99.0 release.

            People

            • Assignee:
              Unassigned
              Reporter:
              apurtell Andrew Purtell
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development