github cculianu/Fulcrum v2.0.0-pre1
Fulcrum 2.0 Pre-Release 1 (Beta)

pre-release16 hours ago

This is a beta test and/or pre-release version of Fulcrum 2.0.

While it has been thoroughly tested by me here on several machines -- and should be very stable -- there have been massive modifications to the database format and/or other Fulcrum internals. As such, it is best if cautious admins don't run this version until it is officially released, and more adventuresome admins that are willing to test beta software do.

Note that, like I said, it should be very stable.

Brief Summary: What's New in 2.0

A brief summary of what Fulcrum 2.0 offers vs the 1.x series:

  • Database Reliability - one of the main weaknesses of Fulcrum 1.x was that should the process be killed at an inopportune time, or should abrupt powerloss or kernel-level crash occur at an inopportune time, there was always a risk that the datadir would get corrupted and the admin would be forced to do a full database resynch. This is no longer the case!
    • Fulcrum 2.x series will no longer suffer from this problem and the process can be killed at any time (including abrupt powerloss), without any database corruption. At worst the last few blocks worth of data is rolled-back and Fulcrum will re-synch from the rollback point.
    • It is still recommended that admins gracefully shut-down Fulcrum, however, via SIGINT/SIGTERM/SIGQUIT (either from their init/systemd scripts or via kill -TERM <pid>, etc), and wait for it to terminate. This maximizes performance and minimizes startup times for Fulcrum the next time it is restarted.
  • Database format is now 100% platform-neutral. This means it should be possible to always copy datadirs around regardless of whether one is transferring them from Windows, Linux, BSD, macOS, and regardless of platform architecture (including big endian platforms).
  • Improved performance.

Upgrading from the Fulcrum 1.x Series

Upgrade instructions:

Fulcrum 2.0 has a different database format than the 1.x series. As such, you have two options for upgrading:

  • Create a blank new datadir and just re-synch from block 0 (slow, but 100% reliable)
  • Upgrade your existing 1.x datadir (faster, but irreversible and destructice)

To upgade your existing database, be sure to pass the one-time --db-upgrade flag to Fulcrum. It will refuse to start up if it detects that your datadir is in the old format and you did not pass this flag. This ensures that admins know what they are getting into.

Critical Note On Upgrading the DB from 1.x -> 2.0

Let it run to completion!

While Fulcrum 2.0 is 100% reliable and may be killed at any time during its operation -- there is one exception to this rule: the upgrade process that converts 1.x databases -> 2.0. As such please let the upgrade process run to completion and do not kill, stop, molest, or otherwise abuse the Fulcrum process while it's upgrading the DB!!. If you do, the old 1.x database will be lost and your 2.0 database will also be corrupted.

You have been warned!

Don't miss a new Fulcrum release

NewReleases is sending notifications on new releases.