Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 Search Hadoop and all its subprojects:

Switch to Plain View
Accumulo >> mail # user >> How to remove entire row at the server side?


+
Terry P. 2013-11-05, 23:20
+
William Slacum 2013-11-06, 02:48
+
Terry P. 2013-11-06, 20:37
+
Billie Rinaldi 2013-11-06, 20:43
+
Terry P. 2013-11-06, 20:49
+
Billie Rinaldi 2013-11-06, 21:29
+
Terry P. 2013-11-06, 22:50
+
Billie Rinaldi 2013-11-07, 00:56
+
Terry P. 2013-11-07, 02:28
+
David Medinets 2013-11-07, 02:06
Copy link to this message
-
Re: How to remove entire row at the server side?
Actually, the classpath command won't verify if it was loaded, it will just
verify that it should be loaded. There is a race condition in the file
monitor that can cause jars in place to fail to be reloaded.
On Wed, Nov 6, 2013 at 9:06 PM, David Medinets <[EMAIL PROTECTED]>wrote:

> Just in case you didn't know there is a 'classpath' command in the
> Accumulo shell which should list your custom jar. It's handy to verify that
> it was loaded. I think there might also be a log entry if you have access
> to them. I've also found it useful to use 'jar tf <filename> on the
> Accumulo nodes to verify the jar file contents. Sometimes I've deployed the
> wrong version of a jar file.
>
>
> On Wed, Nov 6, 2013 at 7:56 PM, Billie Rinaldi <[EMAIL PROTECTED]>wrote:
>
>> Making your class "extends RowFilter implements OptionDescriber" should
>> be fine.  One reason it might have been complaining about the @Override
>> annotations is if the Java compiler is set to 1.5 compatibility rather than
>> 1.6.
>>
>> Regarding getting the same error, did you replace all the jars containing
>> your iterator on all the nodes?  If you did, perhaps it's not reloading the
>> jars properly.  You could restart accumulo to make sure it's using the
>> fresh jar, or you could try renaming your class and dropping it in with a
>> different jar name to ensure the new code is being picked up.
>>
>>
>> On Wed, Nov 6, 2013 at 2:50 PM, Terry P. <[EMAIL PROTECTED]> wrote:
>>
>>> Hi Billie,
>>> Many thanks for your help.  I added those two methods, but had to remove
>>> the @Override as the RowFilter class I'm extending from doesn't implement
>>> them.  Even with these methods in place, I still get the same error trying
>>> to add the iterator in the shell.
>>>
>>> I notice that the RowFilter class extends WrappingIterator, which also
>>> doesn't appear to have the describeOptions and validateOptions methods ...
>>> should I try extending from just the Filter class?  I didn't understand the
>>> benefits William listed of extending from the RowFilter class.  I just know
>>> that once I identify a RowKey should be purged based on its expTs ColFam
>>> Value, I want to remove all entries for that RowKey.
>>>
>>>
>>> On Wed, Nov 6, 2013 at 3:29 PM, Billie Rinaldi <[EMAIL PROTECTED]
>>> > wrote:
>>>
>>>> To use setiter in the shell, your iterator must implement
>>>> OptionDescriber.  It has two methods, and something like the following
>>>> should work for your iterator.  If you implement passing options to the
>>>> iterator, you'll want to change the null parameters to the constructor of
>>>> IteratorOptions below, and probably also to do some validation in
>>>> validateOptions.
>>>>
>>>>   @Override
>>>>   public IteratorOptions describeOptions() {
>>>>     return new IteratorOptions("expTs", "Removes rows based on the
>>>> column designated as the expiration timestamp column family", null, null);
>>>>   }
>>>>
>>>>   @Override
>>>>   public boolean validateOptions(Map<String,String> options) {
>>>>     return true;
>>>>   }
>>>>
>>>>
>>>>
>>>> On Wed, Nov 6, 2013 at 12:49 PM, Terry P. <[EMAIL PROTECTED]> wrote:
>>>>
>>>>> Eyes of an eagle Billie!  com is correct, but after viewing
>>>>> "org.apache.accumulo" so many times, my brain was stuck on org and I goofed
>>>>> in my setiter syntax.
>>>>>
>>>>> With THAT corrected, here is the new error:
>>>>>
>>>>> root@meta> setiter -class
>>>>> com.esa.accumulo.iterators.ExpirationTimestampPurgeFilter -n expTsFilter -p
>>>>> 20 -scan -t itertest
>>>>> 2013-11-06 14:46:28,280 [shell.Shell] ERROR:
>>>>> org.apache.accumulo.core.util.shell.ShellCommandException: Command could
>>>>> not be initialized (Unable to load
>>>>> com.esa.accumulo.iterators.ExpirationTimestampPurgeFilter as type
>>>>> org.apache.accumulo.core.iterators.OptionDescriber; configure with 'config'
>>>>> instead)
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Nov 6, 2013 at 2:43 PM, Billie Rinaldi <
>>>>> [EMAIL PROTECTED]> wrote:
>>>>>
+
Terry P. 2013-11-07, 02:31
+
Keith Turner 2013-11-07, 17:43
+
Terry P. 2013-11-07, 20:49
+
Keith Turner 2013-11-07, 21:16
+
Terry P. 2013-11-08, 05:26
+
Keith Turner 2013-11-08, 14:49
+
Terry P. 2013-11-12, 17:36
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB