The only limitation with the approach that I can see is that I may not know
every permutation of visibility on a given key, and with the scan-driven
approach I can use the user's entire authorization set as a way to get all
of the rows for deletion.
On Fri, May 10, 2013 at 2:19 PM, Christopher <[EMAIL PROTECTED]> wrote:
> The BatchDeleter is essentially a BatchScanner with the
> SortedKeyIterator (which drops values from the returned entries...
> they aren't needed to delete), and a BatchWriter that inserts a delete
> entry in a mutation for every entry the scanner sees.
> You can, and should, select option 2, because you're better off
> sending two column updates in each mutation rather than send twice as
> many mutations, as you'd be doing for option 1.
> Christopher L Tubbs II
> On Fri, May 10, 2013 at 12:39 PM, Marc Reichman
> <[EMAIL PROTECTED]> wrote:
> > I have a table with rows which have 3 column values in one column family,
> > and a column visibility.
> > There are situations where I will want to replace the row content with a
> > column visibility; I understand that the visibility attributes are
> > immutable, so I will have to delete and re-put.
> > Am I better off doing:
> > 1. BatchDeleter with authorizations to allow access, set range to the
> key in
> > question, call delete, and then put in mutations with the new visibility
> > 2. Create mutations with a putDelete followed by a put with the new
> > visibility for each value
> > 3. Something else entirely?
> > For option #2, can I simply do a putDelete on the column
> > Or do I need to "know" the old authorizations to put in a visibility
> > expression with the putDelete?
> > For all of these, can a client get up-to-the-minute results immediately
> > after? Or does some kind of compaction need to occur first?