Multiple deletes cause a RuntimeException
-----------------------------------------
Key: ACCUMULO-53
URL: https://issues.apache.org/jira/browse/ACCUMULO-53
Project: Accumulo
Issue Type: Bug
Components: tserver
Affects Versions: 1.3.5, 1.4.0
Reporter: Jesse Yates
Assignee: Keith Turner
Pretty sure this affects 1.3.5, though it may also on 1.4.0 (haven't tested on
the latter, but the code looks the same).
When a BatchDeleter is used multiple times on the same time, it doesn't reset
the scan iterators, leading to runtime exceptions when there are multiple calls
to delete().
Below, we can see that it adds a scan iterator to get the list of values in the
table. Since it just sets the name of the deleter to
"org.apache.accumulo.core.client.BatchDeleter.NOVALUE" every time. So when you
go to run the scan a second time, it attempts set the same scan iterator again.
{code}
public void delete() throws MutationsRejectedException,
TableNotFoundException {
super.addScanIterator(new IteratorSetting(Integer.MAX_VALUE,
BatchDeleter.class.getName() + ".NOVALUE", SortedKeyIterator.class));
{code}
This results in a RuntimeException telling you that the 'Iterator name is
already in use'.
After doing the delete, the BatchDeleter should remove that iterator (possibly
just clear all iterators) when done with the delete.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira