Ah I forgot to clean up my testing code, when I saw deletes weren't working I tried setting it to the last version timestamp to see if it required an exact match.
So no matter if I submit delMutation.putDelete( colFam, colQual, new ColumnVisibility( colVis ), e.getKey().getTimestamp() ); or delMutation.putDelete( colFam, colQual, new ColumnVisibility( colVis ) ); I am still seeing the entries I wanted to delete -----Original Message----- From: John Vines [mailto:[email protected]] Sent: Wednesday, April 10, 2013 3:07 PM To: [email protected] Subject: Re: FW: Deletes not commiting from custom java API but work in shell interface Deletes will remove all entries which occur before the key. I believe there is undefined behavior for when a delete key is identical. It should work if you set the delete keys time +1. Sent from my phone, please pardon the typos and brevity. On Apr 10, 2013 6:02 PM, "Bell, Philip S CIV SPAWARSYSCEN-PACIFIC, 81320" <[email protected]> wrote: Using the following code, rows are never deleted even when identified and submitted for deletion to the batchwriter. After running the code the rows still show up in search. This has been seen in 1.4.1 and 1.4.2 The same rows can be deleted from the accumulo shell interface >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> for( Entry<Key, Value> e : mainScanner ) { Text currentUUID = e.getKey().getRow(); Text colFam = e.getKey().getColumnFamily(); Text colQual = e.getKey().getColumnQualifier(); String colVis = e.getKey().getColumnVisibility().toString(); System.out.println( currentUUID + ":" + colFam + ":" + colQual + ":" + colVis + ":" + e.getKey().getTimestamp() ); if( colFam.toString().equalsIgnoreCase( "root" ) || colVis.length() > 0 ) { Mutation delMutation = new Mutation( currentUUID ); delMutation.putDelete( colFam, colQual, new ColumnVisibility( colVis ), e.getKey().getTimestamp() ); System.out.println( "removing" ); try { bw.addMutation( delMutation ); } catch( MutationsRejectedException e1 ) { e1.printStackTrace(); } count++; if( count % 1000000 == 0 ) { System.out.println( this.getName() + ": " + count + " completed in " + getTimePassed() ); } } }// for each entry found try { bw.flush(); bw.close(); } catch( Exception e1 ) { e1.printStackTrace(); }
smime.p7s
Description: S/MIME cryptographic signature
