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

Keith Turner commented on ACCUMULO-651:
---------------------------------------

I think this is a dupe of ACCUMULO-360
                
> Key constructor, Column Visibility can corrupt a table
> ------------------------------------------------------
>
>                 Key: ACCUMULO-651
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-651
>             Project: Accumulo
>          Issue Type: Bug
>          Components: tserver
>    Affects Versions: 1.4.0
>         Environment: RHEL 6, Hadoop 0.20.2, ZooKeeper 3.4.3, Accumulo 1.4.0
>            Reporter: Bob Thorman
>            Assignee: Keith Turner
>            Priority: Minor
>
> The Key constructor does not check the integrity of the column visibility 
> field which can cause some corruption in a table.  For example the following 
> code will generate a valid Key that can be written to a table
> Key k = new Key(new Text("BOB"), new Text("CF"), new Text("CQ"), new 
> Text("public,private"), System.currentTimeMillis());
> and that key can be used as output (in my case a mapreduce job).
> During scan operations the following exception is thrown...
> exception while scanning tablet a<<
>       org.apache.accumulo.core.util.BadArgumentException: bad character (44) 
> near index 6
>       public,private
>             ^
>               at 
> org.apache.accumulo.core.security.ColumnVisibility$ColumnVisibilityParser.parse_(ColumnVisibility.java:238)
>               at 
> org.apache.accumulo.core.security.ColumnVisibility$ColumnVisibilityParser.parse(ColumnVisibility.java:157)
>               at 
> org.apache.accumulo.core.security.ColumnVisibility.validate(ColumnVisibility.java:257)
>               at 
> org.apache.accumulo.core.security.ColumnVisibility.<init>(ColumnVisibility.java:311)
>               at 
> org.apache.accumulo.core.security.ColumnVisibility.<init>(ColumnVisibility.java:279)
>               at 
> org.apache.accumulo.core.iterators.system.VisibilityFilter.accept(VisibilityFilter.java:70)
>               at 
> org.apache.accumulo.core.iterators.Filter.findTop(Filter.java:72)
>               at 
> org.apache.accumulo.core.iterators.Filter.seek(Filter.java:65)
>               at 
> org.apache.accumulo.core.iterators.system.SourceSwitchingIterator.readNext(SourceSwitchingIterator.java:116)
>               at 
> org.apache.accumulo.core.iterators.system.SourceSwitchingIterator.seek(SourceSwitchingIterator.java:168)
>               at 
> org.apache.accumulo.server.tabletserver.Tablet.nextBatch(Tablet.java:1741)
>               at 
> org.apache.accumulo.server.tabletserver.Tablet.access$3200(Tablet.java:143)
>               at 
> org.apache.accumulo.server.tabletserver.Tablet$Scanner.read(Tablet.java:1883)
>               at 
> org.apache.accumulo.server.tabletserver.TabletServer$ThriftClientHandler$NextBatchTask.run(TabletServer.java:905)
>               at 
> org.apache.accumulo.cloudtrace.instrument.TraceRunnable.run(TraceRunnable.java:47)
>               at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>               at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>               at java.lang.Thread.run(Thread.java:662)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to