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

Empty qualifier cell should not be returned if it does not match QualifierFilter

    XMLWordPrintableJSON

Details

    • Incompatible change
    • Hide
      <!-- markdown -->

      Scans that make use of `QualifierFilter` previously would erroneously return both columns with an empty qualifier along with those that matched. After this change that behavior has changed to only return those columns that match.
      Show
      <!-- markdown --> Scans that make use of `QualifierFilter` previously would erroneously return both columns with an empty qualifier along with those that matched. After this change that behavior has changed to only return those columns that match.

    Description

      hbase(main):002:0> put 'testTable','testrow','f:testcol1','testvalue1'
      0 row(s) in 0.0040 seconds
      
      hbase(main):003:0> put 'testTable','testrow','f:','testvalue2'
      0 row(s) in 0.0070 seconds
      
      # get row with empty column f:, result is correct.
      hbase(main):004:0> scan 'testTable',{FILTER => "QualifierFilter (=, 'binary:')"}
      ROW                                         COLUMN+CELL                                                                                                                    
       testrow                                    column=f:, timestamp=1536218563581, value=testvalue2                                                                           
      1 row(s) in 0.0460 seconds
      
      # get row with column f:testcol1, result is incorrect.
      hbase(main):005:0> scan 'testTable',{FILTER => "QualifierFilter (=, 'binary:testcol1')"}
      ROW                                         COLUMN+CELL                                                                                                                    
       testrow                                    column=f:, timestamp=1536218563581, value=testvalue2                                                                           
       testrow                                    column=f:testcol1, timestamp=1536218550827, value=testvalue1                                                                   
      1 row(s) in 0.0070 seconds
      

      As the above operation, when the row contains empty qualifier column, empty qualifier cell is always returned when using QualifierFilter.

      Attachments

        1. HBASE-21158.branch-1.001.patch
          8 kB
          Guangxu Cheng
        2. HBASE-21158.master.001.patch
          8 kB
          Guangxu Cheng
        3. HBASE-21158.master.002.patch
          8 kB
          Guangxu Cheng
        4. HBASE-21158.master.003.patch
          8 kB
          Guangxu Cheng
        5. HBASE-21158.master.004.patch
          8 kB
          Guangxu Cheng

        Issue Links

          Activity

            People

              gxcheng Guangxu Cheng
              gxcheng Guangxu Cheng
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: