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 new
> 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 family/qualifier?
> 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?