[
https://issues.apache.org/jira/browse/HBASE-18572?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16133646#comment-16133646
]
Hudson commented on HBASE-18572:
--------------------------------
FAILURE: Integrated in Jenkins build HBase-1.5 #17 (See
[https://builds.apache.org/job/HBase-1.5/17/])
HBASE-18572 Delete can't remove the cells which have no visibility label
(chia7712: rev 10d65ee37f82c079ffe7f12cf7420d2ed7145f15)
* (edit)
hbase-server/src/test/java/org/apache/hadoop/hbase/security/visibility/ExpAsStringVisibilityLabelServiceImpl.java
* (edit)
hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityScanDeleteTracker.java
* (edit)
hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.java
* (edit)
hbase-server/src/test/java/org/apache/hadoop/hbase/security/visibility/TestVisibilityLabelsWithDeletes.java
* (edit)
hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityController.java
> Delete can't remove the cells which have no visibility label
> ------------------------------------------------------------
>
> Key: HBASE-18572
> URL: https://issues.apache.org/jira/browse/HBASE-18572
> Project: HBase
> Issue Type: Bug
> Affects Versions: 1.3.1, 1.2.6, 2.0.0-alpha-1
> Reporter: Chia-Ping Tsai
> Assignee: Chia-Ping Tsai
> Priority: Critical
> Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
> Attachments: HBASE-18572.branch-1.v0.patch,
> HBASE-18572.branch-1.v0.patch, HBASE-18572.branch-1.v0.patch,
> HBASE-18572.ut.patch, HBASE-18572.v0.patch, HBASE-18572.v0.patch,
> HBASE-18572.v1.patch
>
>
> {code:title=DefaultVisibilityLabelServiceImpl.java}
> @Override
> public boolean matchVisibility(List<Tag> putVisTags, Byte putTagsFormat,
> List<Tag> deleteVisTags,
> Byte deleteTagsFormat) throws IOException {
> if ((deleteTagsFormat != null && deleteTagsFormat ==
> SORTED_ORDINAL_SERIALIZATION_FORMAT)
> && (putTagsFormat == null || putTagsFormat ==
> SORTED_ORDINAL_SERIALIZATION_FORMAT)) {
> if (putVisTags.isEmpty()) {
> // Early out if there are no tags in the cell
> return false;
> }
> if (putTagsFormat == null) {
> return matchUnSortedVisibilityTags(putVisTags, deleteVisTags);
> } else {
> return matchOrdinalSortedVisibilityTags(putVisTags, deleteVisTags);
> }
> }
> throw new IOException("Unexpected tag format passed for comparison,
> deleteTagsFormat : "
> + deleteTagsFormat + ", putTagsFormat : " + putTagsFormat);
> }
> {code}
> If the putVisTags is empty, it will return the false directly. Hence, the
> Delete#addColumn can't "see" the cell as well as deleting it. The
> Delete#addColumns, by contrast, doesn't invoke the
> cp#prePrepareTimeStampForDeleteVersion so it can remove the cell.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)