accumulo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bell, Philip S CIV SPAWARSYSCEN-PACIFIC, 81320" <philip.b...@navy.mil>
Subject RE: FW: Deletes not commiting from custom java API but work in shell interface
Date Wed, 10 Apr 2013 22:09:27 GMT
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:vines@apache.org] 
Sent: Wednesday, April 10, 2013 3:07 PM
To: user@accumulo.apache.org
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" <philip.bell@navy.mil>
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();
	}
	


Mime
View raw message