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();
        }
        

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to