hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anoop Sam John (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-18572) Delete#addColumn can't remove the cell which has no visibility label
Date Fri, 11 Aug 2017 16:13:01 GMT

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

Anoop Sam John commented on HBASE-18572:
----------------------------------------

bq.That mean the cell having no label can't be seen by anyone?
When the read is not passing any Authorization, those puts has to get visible for them.  
Also delete with no vis label should be able to delete such puts. 

> Delete#addColumn can't remove the cell which has no visibility label
> --------------------------------------------------------------------
>
>                 Key: HBASE-18572
>                 URL: https://issues.apache.org/jira/browse/HBASE-18572
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Chia-Ping Tsai
>            Assignee: Chia-Ping Tsai
>         Attachments: HBASE-18572.ut.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)

Mime
View raw message