virtualeconomy / v-systems

V Systems Reference Full Node
Other
115 stars 45 forks source link

org.iq80.leveldb.DBException when POST ​/database​/put . then node stop synchronization #276

Open jianjunchu opened 3 years ago

jianjunchu commented 3 years ago

org.iq80.leveldb.DBException: IO error: /mnt/usbsdd/vsys/vsys-data/block/947512.sst: No such file or directory at org.fusesource.leveldbjni.internal.JniDB.get(JniDB.java:90) at org.fusesource.leveldbjni.internal.JniDB.get(JniDB.java:77) at vsys.db.Storage.$anonfun$get$1(Storage.scala:19) at scala.util.Try$.apply(Try.scala:209) at vsys.db.Storage.get(Storage.scala:19) at vsys.db.StateMap.get(StateMap.scala:45) at vsys.db.StateMap.containsKey(StateMap.scala:52) at vsys.blockchain.state.reader.StateReaderImpl.$anonfun$containsTransaction$1(StateReaderImpl.scala:122) at vsys.blockchain.state.reader.StateReaderImpl.$anonfun$containsTransaction$1$adapted(StateReaderImpl.scala:121) at vsys.utils.Synchronized.synchronizeOperation(Synchronized.scala:82) at vsys.utils.Synchronized.synchronizeOperation$(Synchronized.scala:79) at vsys.blockchain.state.reader.StateReaderImpl.synchronizeOperation(StateReaderImpl.scala:13) at vsys.utils.Synchronized.read(Synchronized.scala:74) at vsys.utils.Synchronized.read$(Synchronized.scala:73) at vsys.blockchain.state.reader.StateReaderImpl.read(StateReaderImpl.scala:13) at vsys.blockchain.state.reader.StateReaderImpl.containsTransaction(StateReaderImpl.scala:121) at vsys.blockchain.state.reader.CompositeStateReader.containsTransaction(CompositeStateReader.scala:117) at vsys.blockchain.state.reader.CompositeStateReader$Proxy.containsTransaction(CompositeStateReader.scala:196)

OS: CentOs 7 Java: openjdk version "1.8.0_262"

And when I killed the PID and restart the node by run

            java -jar v-systems*.jar vsys.conf

The Node can't start:

2021-03-29 14:09:33 INFO [main] vsys.Application$ - Starting... 2021-03-29 14:09:33 INFO [main] kamon.Kamon$Instance - Initializing Kamon... 2021-03-29 14:09:34 INFO [lt-dispatcher-5] a.event.slf4j.Slf4jLogger - Slf4jLogger started 2021-03-29 14:09:34 INFO [main] vsys.Application$ - VSYS Core v0.3.2 Blockchain Id: M 2021-03-29 14:09:34 ERROR [main] v.actor.RootActorSystem$ - Error while initializing actor system vsys org.fusesource.leveldbjni.internal.NativeDB$DBException: Corruption: 1390 missing files; e.g.: /mnt/usbsdd/vsys/vsys-data/block/939947.sst at org.fusesource.leveldbjni.internal.NativeDB.checkStatus(NativeDB.java:200) at org.fusesource.leveldbjni.internal.NativeDB.open(NativeDB.java:218) at org.fusesource.leveldbjni.JniDBFactory.open(JniDBFactory.java:168) at vsys.db.package$.openDB(package.scala:22) at vsys.Application.(Application.scala:46) at vsys.Application$$anon$1.(Application.scala:253) at vsys.Application$.$anonfun$main$1(Application.scala:253) at vsys.Application$.$anonfun$main$1$adapted(Application.scala:243) at vsys.actor.RootActorSystem$.start(RootActorSystem.scala:25) at vsys.Application$.main(Application.scala:243)

jianjunchu commented 3 years ago

How to fix the startup error?

org.fusesource.leveldbjni.internal.NativeDB$DBException: Corruption: 1390 missing files; e.g.: /mnt/usbsdd/vsys/vsys-data/block/939947.sst

I don't want sync again. It will spend almost 2 days...

faddat commented 3 years ago

HI, I am going to try to reproduce this, and I'll let you know.

Thank you for the detailed report.

quick question-- no chance it is your filesystem?

org.fusesource.leveldbjni.internal.NativeDB$DBException: Corruption: 1390 missing files; e.g.: /mnt/usbsdd/vsys/vsys-data/block/939947.sst