Open hartmana opened 6 years ago
Try to send SIGINT to iri process. This will initiate shutdown process. Perhaps this can work as a workaround
Does SIGTERM
not do the same? I don't know if iota.partners
is an official guide but most all of these guides are incorrect if SIGINT
is the better way to go.
That being said I did try it. I did a service stop passing SIGINT
at 6976339 transactions and after an immediate start I came up with 7246187. That doesn't quite make sense but at least is a higher number instead of a lower number. Even with the higher number of transactions after restart it has been 10 minutes with no milestone message.
Do you have any explanation to transaction numbers and how they don't necessarily relate to what is present in #botbox
with associated milestones? I'm assuming the Coordinator is making snapshots and at that point it resets its transaction count? At this point I'm just guessing though.
I did a service stop passing SIGINT at 6976339 transactions and after an immediate start I came up with 7246187.
the reason why the transaction count changes dramatically when restarting is due to the way tx count is fetched: RocksDBPersistenceProvider.java#L216
this is an estimate on the number of keys, and "this estimation can be far off ...", you may also see this number decrease in the first few minutes after restart - as the estimate becomes more accurate.
for more info see: https://github.com/facebook/rocksdb/wiki/RocksDB-FAQ
Even with the higher number of transactions after restart it has been 10 minutes with no milestone message.
this is due to the ledgerValidatorInitialized
taking time to scan and build the latest milestone state Milestone.java#L82
This results in 1-2hr of, what should be unnecessary, syncing to catch up to the latest milestone index.
this process above (ledgerValidatorInitialized
) shouldn't take 1-2hrs, or does that take 10 mins?
can you share your system's specs? SSD/HDD?
@jakubcech I am reopening it because it is a bug. But it should be set in a very low priority.
Doing a shutdown of the IRI and subsequent start does not resume from latest transaction history.
Issuing a
systemctl stop iota
which sends SIGTERM to the IRI process and subsequentsystemctl start iota
results in the following log messages:After the stop/start operations the service does not start from the latest milestone before the stop but some other unknown previous point. In this example the service was at 7599422 transactions before stop and started at 5979754. Not positive but this seems to be the point of the initial DB snapshot installed on the system.
This results in 1-2hr of, what should be unnecessary, syncing to catch up to the latest milestone index.