CalDescent
de3ebf664f
Fixed issue with format specifier
3 years ago
CalDescent
850d879726
Use a "tmp" folder in the Qortal directory rather than a system generated temp folder.
...
This avoids the need to move files between partitions, and we also can't assume that the system partition has enough space to do the extraction.
3 years ago
CalDescent
5397e6c723
Bump version to 2.0.0-beta.1
3 years ago
CalDescent
889f6fc5fc
Add a "testnet-" prefix in filenames when creating or importing bootstraps on testnet, so that the two databases can be kept separate.
3 years ago
CalDescent
41c2ed7c67
Fixed out of memory errors when copying AT states.
3 years ago
CalDescent
cdf47d4719
Reduce log spam.
3 years ago
CalDescent
210368bea0
Bump version to 2.0.0-beta.0
3 years ago
CalDescent
4f48751d0b
Fixed issue caused when trying to update the splash frame status in a headless environment.
3 years ago
CalDescent
b6d3e82304
Update status when performing repository maintenance
3 years ago
CalDescent
3bb3528aa5
Merge branch 'master' into bootstrap
3 years ago
CalDescent
4f892835b8
Show maximum time estimations in archiving and pruning statuses
3 years ago
CalDescent
ac49221639
Show warning status on startup if the database is missing the AtStatesHeightIndex.
3 years ago
CalDescent
75ed5db3e4
Test multiple files when bulk archiving.
3 years ago
CalDescent
59c8e4e6a2
Fixed bug in earlier commit
3 years ago
CalDescent
52b322b756
Take a backup of local data before overwriting with a bootstrap.
...
Also moved the import phase to after the validation phase, so that the data returns after the bootstrap.
3 years ago
CalDescent
dc876d9c96
Force a bootstrap if the block archive isn't intact on launch
...
This allows the topOnly setting to be disabled and the node will automatically bootstrap to the archive version. A rebuild isn't attempted if bootstrapping is disabled, in order to reduce risk.
3 years ago
CalDescent
5b028428c4
Checkpoint immediately after starting/upgrading the repository
...
This should fix a longstanding issue where quitting the core before the first checkpoint (1-2 hours after first launch) causes the database to become corrupt.
3 years ago
CalDescent
f67a0469fc
SplashFrame styling improvements
3 years ago
CalDescent
494cd0efff
Added white background to splash frame - I think it looks nicer this way, and it may solve the X2Go issues too.
3 years ago
CalDescent
fc8e38e862
Show version number in the "Starting Qortal Core" status.
3 years ago
CalDescent
f09fb5a209
Run the bulk block archiver any time that it isn't reported to be up to date. This should allow it to re-run if the user quits the core before it completes.
3 years ago
CalDescent
b00c1c1575
Update splash frame statuses when reshaping, pruning, or building the block archive
3 years ago
CalDescent
7e5dd62a92
Show bootstrap statuses on splash frame.
3 years ago
CalDescent
35718f6215
Fixed issue with bootstrap retries.
3 years ago
CalDescent
a6d3891a95
Fixed bugs when importing bootstrap.
3 years ago
CalDescent
9591c4eb58
Added support for creating top-only bootstraps
3 years ago
CalDescent
8aaf720b0b
Force archiveEnabled to false if we're in top only mode.
...
Most of the code handles this case anyway, but it's an easy place for bugs to be created. So it's safest to enforce it at the settings level.
3 years ago
CalDescent
63a35c97bc
Fixed bug in path returned to POST /bootstrap/create API.
3 years ago
CalDescent
8eddaa3fac
Small refactor to update wording.
3 years ago
CalDescent
1b3f37eb78
Delete the "archive" folder when in top-only mode
...
This allows a block archive node to be switched into top-only mode.
3 years ago
CalDescent
1f8fbfaa24
Missed a few topOnly references from the last commit.
3 years ago
CalDescent
ea92ccb4c1
"pruningEnabled" setting renamed to "topOnly"
...
Pruning is still a concept in the code, but since it relates to both archived and topOnly mode, it makes it cleaner to use "topOnly" to refer to the pruned db with no archive.
3 years ago
CalDescent
d25a77b633
Ignore bootstraps and other 7z archives in git.
3 years ago
CalDescent
51bb776e56
Select a random host when importing a bootstrap, and started adding support for multiple bootstrap types.
3 years ago
CalDescent
47b1b6daba
Retry the entire bootstrap import process on failure, rather than just the download.
3 years ago
CalDescent
adeb654248
Rework of repository maintenance and backups
...
It will now attempt to wait until there are no other active transactions before starting, to avoid deadlocks. A timeout for this process is specified - generally 60 seconds - so that callers can give up or retry if something is holding a transaction open for too long. Right now we will give up in all places except for bootstrap creation, where it will keep retrying until successful.
3 years ago
CalDescent
c4d7335fdd
Fixed more issues that could cause transactions to be held open.
3 years ago
CalDescent
ca7f42c409
Reduced unnecessary database queries in the block archiver.
3 years ago
CalDescent
ca02cd72ae
Fixed issue in block archiver, which caused it to hold a transaction open for a very long time. This caused deadlocks when trying to create bootstraps or perform repository maintenance.
3 years ago
CalDescent
1ba542eb50
Simplified minting code in block archive tests.
3 years ago
CalDescent
53cd967541
Added defrag (repository maintenance) tests.
3 years ago
CalDescent
49749a0bc7
Added more precise checking of database states to the bulk pruning test. This highlighted a major bug in the bulk prune process whereby the recent AT states weren't being retained.
3 years ago
CalDescent
446f924380
Added bulk pruning test, which highlighted some bugs in both bulk and regular pruning.
3 years ago
CalDescent
5b231170cd
Fixed small issues with block archive tests.
3 years ago
CalDescent
7375357b11
Added bootstrap tests
...
This involved adding a feature to the test suite in include the option of using a repository located on disk rather than in memory. Also moved the bootstrap compression/extraction working directories to temporary folders.
3 years ago
CalDescent
347d799d85
Reduce log spam.
3 years ago
CalDescent
0d17f02191
Pass a repository instance into the bulk archiving and pruning methods.
...
This is a better approach than opening a new session for each, and it makes it easier to write unit tests.
3 years ago
CalDescent
ce5bc80347
Increased threshold of BlockArchiveWriter.isArchiverUpToDate() from 90 to 95%.
...
In practice, the reading from a correctly archived chain with 550k blocks is currently around 99.5%, but it will be lower if starting with a chain that isn't fully synced.
3 years ago
CalDescent
0a4479fe9e
Initial implementation of automatic bootstrapping
...
Currently supports block archive (i.e. full) bootstraps only. Still need to add support for top-only bootstraps.
3 years ago
CalDescent
de8e96cd75
Added Blockchain.validateAllBlocks() to check every block back to genesis.
...
This is extremely slow and shouldn't be needed in normal use cases. It currently checks that each block references the one before, but can ultimately be expanded to check more information about each block and its derived data.
3 years ago