[ 
https://issues.apache.org/jira/browse/HBASE-14997?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16157868#comment-16157868
 ] 

Hudson commented on HBASE-14997:
--------------------------------

FAILURE: Integrated in Jenkins build HBase-Trunk_matrix #3676 (See 
[https://builds.apache.org/job/HBase-Trunk_matrix/3676/])
HBASE-14997 Move compareOp and Comparators out of filter to client (stack: rev 
6752eba68f69e5d2d279b2b9433e584e1cc9b58b)
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncTableImpl.java
* (add) hbase-common/src/main/java/org/apache/hadoop/hbase/CompareOperator.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestCheckAndMutate.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/RegionAsTable.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/SimpleRegionObserver.java
* (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/client/Query.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestAtomicOperation.java
* (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java
* (edit) hbase-client/src/main/java/org/apache/hadoop/hbase/client/Table.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
* (edit) 
hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/TableBasedReplicationQueuesImpl.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/RawAsyncTableImpl.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/util/EncryptionTest.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Region.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncTableBase.java
* (edit) 
hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/filter/CompareFilter.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/client/HTableWrapper.java


> Move compareOp and Comparators out of filter to client package
> --------------------------------------------------------------
>
>                 Key: HBASE-14997
>                 URL: https://issues.apache.org/jira/browse/HBASE-14997
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Enis Soztutar
>            Assignee: stack
>            Priority: Critical
>             Fix For: 2.0.0-alpha-3
>
>         Attachments: HBASE-14997.master.001.patch, 
> HBASE-14997.master.002.patch, HBASE-14997.master.003.patch, 
> HBASE-14997.master.004.patch
>
>
> {{Table.checkAndPut()}} and its cousins depend on CompareOp from the filter 
> package. Originally, ComparaOp and ByteArrayComparable, and various 
> "comparators" have been used in filters, so these are in the filter package. 
> However, for checkAndPut(), etc we depend on the filter subpackage although 
> these are not filter related operations. We can use some clean up.
> {code}
>   boolean checkAndPut(byte[] row, byte[] family, byte[] qualifier,
>     CompareFilter.CompareOp compareOp, byte[] value, Put put) throws 
> IOException;
> {code}
> Some ideas
>  - Cleanup ByteArrayComparable interface (see the TODO at the class) 
>  - Maybe introduce a {{Condition}} or a similar concept and do 
> {{checkAndPut(Condition condition, Put put)}} and change filters to use that 
> as well. 
>  - Introducing Condition like thing will allow us to have an interface like: 
> {{checkAndMutate(List<Condition> conditions, List<Mutation> mutations)}}. 
>  - BinaryComparator, etc are not "Comparators", they are comparables. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to