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.
Thanks, Marc 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 > http://gravatar.com/ctubbsii > > > 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? >
