Open romansemko opened 6 years ago
that's strange, because the DB is a full copy and not a snapshot.
I suspect that the rockdb dll for windows is linked without snappy, whereas on mac/linux it's with snappy. Similar to this issue: https://github.com/facebook/rocksdb/issues/1887
Would be nice to have them identical. And still not sure why it affects IRI not being synchronised.
seeing the same error here.
Same issue with my Windows node, switched to Ubuntu and problem solved.
This is a known issue in RocksDB - the only way to resolve this is to actively not compress the DB.
CompressionTypes
in the past, the only compression type supported on all systems (Linux, Windows, Mac) was No Compression - tested by reading available Options
in IDE on each system.
this could have changed since, if so, then it's worth reconsidering a different, cross-platform compression scheme - help wanted to explore this.
Same issue when developing on windows.
Steps to reproduce on Windows:
ERROR com.iota.iri.Milestone - Error initializing snapshots. Skipping. org.rocksdb.RocksDBException: Snappy not supported or corrupted Snappy compressed block contents at org.rocksdb.RocksDB.get(Native Method) ~[iri-1.4.1.6-bolero.jar:na] at org.rocksdb.RocksDB.get(RocksDB.java:810) ~[iri-1.4.1.6-bolero.jar:na] at com.iota.iri.storage.rocksDB.RocksDBPersistenceProvider.get(RocksDBPersistenceProvider.java:193) ~[iri-1.4.1.6-bolero.jar:na] at com.iota.iri.storage.Tangle.load(Tangle.java:40) ~[iri-1.4.1.6-bolero.jar:na] at com.iota.iri.controllers.StateDiffViewModel.load(StateDiffViewModel.java:18) ~[iri-1.4.1.6-bolero.jar:na] at com.iota.iri.LedgerValidator.buildSnapshot(LedgerValidator.java:229) ~[iri-1.4.1.6-bolero.jar:na] at com.iota.iri.LedgerValidator.init(LedgerValidator.java:201) ~[iri-1.4.1.6-bolero.jar:na] at com.iota.iri.Milestone.lambda$init$1(Milestone.java:138) ~[iri-1.4.1.6-bolero.jar:na] at java.lang.Thread.run(Unknown Source) ~[na:1.8.0_151] 01/09 01:24:33.047 [main] INFO com.iota.iri.IRI - IOTA Node initialised correctly.
IRI continues normally, nonetheless. However, it never gets synced. All values apart of the all transactions stay at zero. Does not matter if one uses Nelson or static neighbours.