accumulo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Medinets <david.medin...@gmail.com>
Subject How Can Accumulo Gracefully Recover From "must specify columns" error?
Date Sat, 17 Mar 2012 02:44:53 GMT
I am playing with the Combiner feature. I created my own combiner, put
it in a jar file in the lib/ext directory. Then started Accumulo and
used a java program to create a table and add an iterator. Of course,
I defined the combiner incorrectly and broke the system. I shut
accumulo down, then restarted and tried to delete the offending table.
The system hung on the deletetable command.

I feel accumulo needs to be more robust to that it can handle this
kind of user mistake.

At the moment, it seems like my accumulo instance is hosed. I think I
need to delete it from hdfs and initialize again. Before I do that
however, can I do something to save the state and pass it along to
someone to add testing or debugging?

I will shutdown accumulo and leave the system alone until I hear back.
I'd have to lose the current, corrupted state if it is useful to
someone.

Here are the errors from the log files.

16 22:35:46,829 [tabletserver.MinorCompactor] WARN : MinC failed (Must
specify columns option) to create
/accumulo/tables/a/default_tablet/F00000hp.rf_tmp retrying ...
java.lang.IllegalArgumentException: Must specify columns option
	at org.apache.accumulo.core.iterators.Combiner.init(Combiner.java:221)
	at org.apache.accumulo.core.iterators.IteratorUtil.loadIterators(IteratorUtil.java:234)
	at org.apache.accumulo.core.iterators.IteratorUtil.loadIterators(IteratorUtil.java:210)
	at org.apache.accumulo.core.iterators.IteratorUtil.loadIterators(IteratorUtil.java:188)
	at org.apache.accumulo.core.iterators.IteratorUtil.loadIterators(IteratorUtil.java:182)
	at org.apache.accumulo.server.tabletserver.Compactor.compactLocalityGroup(Compactor.java:261)
	at org.apache.accumulo.server.tabletserver.Compactor.call(Compactor.java:139)
	at org.apache.accumulo.server.tabletserver.MinorCompactor.call(MinorCompactor.java:80)
	at org.apache.accumulo.server.tabletserver.Tablet.minorCompact(Tablet.java:2135)
	at org.apache.accumulo.server.tabletserver.Tablet.access$4300(Tablet.java:141)
	at org.apache.accumulo.server.tabletserver.Tablet$MinorCompactionTask.run(Tablet.java:2214)
	at org.apache.accumulo.core.util.LoggingRunnable.run(LoggingRunnable.java:34)
	at org.apache.accumulo.cloudtrace.instrument.TraceRunnable.run(TraceRunnable.java:47)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:722)

16 22:39:41,562 [log.TabletServerLogger] INFO : Log write failed:
another thread probably closed the log
16 22:39:41,586 [log.TabletServerLogger] ERROR: Unable to cleanly
close logger 127.0.0.1:11224: NoSuchLogIDException()

Mime
View raw message