First, you don't need to flush then close. Close already flushes. As for your problem, I have only 2 ideas- are you writing to the correct table?
And as a sanity check, make sure the authorization you construct equals the column visibility you pull out. I wonder if information is getting lost in translation. Sent from my phone, please pardon the typos and brevity. On Apr 10, 2013 6:09 PM, "Bell, Philip S CIV SPAWARSYSCEN-PACIFIC, 81320" < [email protected]> wrote: > 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(); > } > > >
