Hello,

I'm evaluating Apollo for our current project and so far it worked well for
our use case, however today I've encountered a problem, corrupted LevelDB...

What could possibly corrupt it? I have Apollo 1.7 installed on my laptop
and everything was fine till today when I discovered the problem (see some
log messages below). Nothing unusual happened, so cannot link this with any
incident...

So I was wondering:

What's the proper fix for this? This time i deleted all files in data dir
and restarted apollo, but I'm not sure it's the way to go in a production
environment...

What can be done to avoid disasters? A msg queue is a critical component of
our architecture so, if that stops most of the functionalities are stopped
too...

Is there an easy way to replicate persisted messages it?

Is there a more verbose logging that I could use to monitor/find the
problem in future?

Should I use different storage engine?

Is there a best practice/pattern to recover from this kind of situations?
Like re-publishing messages, but it increases complexity of our app.

Thank you in advance.


[Log messages]

2014-06-15 11:57:16,866 | INFO  | OS     : Linux 3.14.5-200.fc20.x86_64
("Fedora release 20 (Heisenbug)") |
2014-06-15 11:57:16,870 | INFO  | JVM    : Java HotSpot(TM) 64-Bit Server
VM 1.7.0_51 (Oracle Corporation) |
2014-06-15 11:57:16,870 | INFO  | Apollo : 1.7 (at: /opt/apollo/home) |
2014-06-15 11:57:16,871 | INFO  | OS is restricting the open file limit to:
100000 |
2014-06-15 11:57:17,077 | INFO  | Starting store: leveldb store at
/opt/apollo/brokers/local/data |
2014-06-15 11:57:17,139 | INFO  | Accepting connections at: tcp://
0.0.0.0:60013 |
2014-06-15 11:57:17,144 | INFO  | Opening the log file took: 27.97 ms |
2014-06-15 11:57:17,196 | WARN  | DB operation failed. (entering recovery
mode): org.fusesource.leveldbjni.internal.NativeDB$DBException: Corruption:
CURRENT file does not end with newline | 146a03f386f
2014-06-15 11:57:18,081 | INFO  | virtual host startup is waiting on store
startup |
2014-06-15 11:57:18,199 | INFO  | DB recovered from failure. |
2014-06-15 11:57:18,200 | ERROR | Store startup failure:
org.fusesource.leveldbjni.internal.NativeDB$DBException: Corruption:
CURRENT file does not end with newline | 146a03f3870
2014-06-15 11:57:18,201 | INFO  | virtual host startup is no longer
waiting.  It waited a total of 1 seconds. |
2014-06-15 11:57:18,305 | INFO  | Administration interface available at:
http://127.0.0.1:60080/

Reply via email to