Qortal Core - Main Code Repository Decentralized Data Network - Blockchain - TRUE Cross-Chain Trading - Application and Website Hosting - Much More - Qortal is the future internet infrastructure for the global digital world.
Go to file
CalDescent ee95a00ce2 Hopeful fix for "Performing repository CHECKPOINT..." deadlock.
This is probably our number one reliability issue at the moment, and has been a problem for a very long time.

The existing CHECKPOINT_LOCK would prevent new connections being created when we are checkpointing or about to checkpoint. However, in many cases we obtain the db connection early on and then don't perform any queries until later. An example would be in synchronization, where the connection is obtained at the start of the process and then retained throughout the sync round. My suspicion is that we were encountering this series of events:
1. Open connection to database
2. Call maybeCheckpoint() and confirm there are no active transactions
3. An existing connection starts a new transaction
4. Checkpointing is performed, but deadlocks due to the in-progress transaction

This potential fix includes preparedStatement.execute() in the CHECKPOINT_LOCK, to block any new transactions being started when we are locked for checkpointing. It is fairly high risk so we need to build some confidence in this before releasing it.
2021-06-28 09:13:36 +01:00
.github/workflows Automated testing (#38) 2021-05-26 11:27:46 +01:00
lib/org Upgrade to CIYAM-AT v1.3.8 with slight performance improvements 2020-10-07 10:31:18 +01:00
src Hopeful fix for "Performing repository CHECKPOINT..." deadlock. 2021-06-28 09:13:36 +01:00
tools Updates to build-zip.sh and build-release.sh 2021-06-14 18:46:21 +01:00
WindowsInstaller Updated AdvancedInstaller project for v1.5.5 2021-06-23 19:57:03 +01:00
.gitignore Removed /src/main/resources/log*.properties from .gitignore 2021-06-14 18:49:24 +01:00
AutoUpdates.md More detail in AutoUpdates.md 2021-02-21 17:12:02 +00:00
DATABASE.md Documentation updates 2021-02-06 10:59:31 +00:00
log4j2.properties Suppress extraneous bitcoinj logging output 2020-05-14 12:52:08 +01:00
pom.xml Bump version to 1.5.5 2021-06-23 18:21:55 +01:00
README.md Documentation updates 2021-02-06 10:59:31 +00:00
run.sh Improved start-up shell script "start.sh" 2020-09-01 10:25:48 +01:00
start.sh Improved start-up shell script "start.sh" 2020-09-01 10:25:48 +01:00
stop.sh Added optional "--testnet" or "-t" argument to stop.sh. When passing this argument, it will attempt to stop the core using the default testnet port (62391) rather than the default mainnet port (12391). 2021-02-21 11:50:02 +00:00
TestNets.md Documentation updates 2021-02-06 10:59:31 +00:00

Qortal Project - Official Repo

Build / run

  • Requires Java 11. OpenJDK 11 recommended over Java SE.
  • Install Maven
  • Use Maven to fetch dependencies and build: mvn clean package
  • Built JAR should be something like target/qortal-1.0.jar
  • Create basic settings.json file: echo '{}' > settings.json
  • Run JAR in same working directory as settings.json: java -jar target/qortal-1.0.jar
  • Wrap in shell script, add JVM flags, redirection, backgrounding, etc. as necessary.
  • Or use supplied example shell script: start.sh