The client layer rewrite aka purge-db4o is finished. That is, it is
feature complete, and has had a reasonable amount of testing (but needs
more).

Major changes:
- No longer uses db4o to store anything, but will migrate from old
node.db4o*'s (downloads and uploads will be restarted)
- Should be much more reliable, and cause much less disk I/O
- Uses the multi-container code even for persistent inserts
- Improved disk crypto (I may improve this further)
- Trivial changes to FCP
- New metadata format (fixes some minor bugs, but we use the old one for
now by default)
- Handles low disk space much better. Migration may use significant disk
space; if we have less than 512MB left, transient requests will fail to
avoid breaking the system, if we have less than 1GB left, persistent
requests will fail / not start.
- Various bugfixes
- Rename RandomAccessThing to RandomAccessBuffer, etc.

The latest version is here:
https://github.com/freenet/fred/pull/287
g...@github.com:freenet/fred.git
Branch "purge-db4o-crypt"
Signed tag "purge-db4o-snapshot-19"
Commit hash 9b7c9204fa5461ddbfa3236f81e257e379dc86eb

Uploaded jar and signature:
CHK@WiSJI8wGPKMZ4KJhxO7EHzd3k4OtJBmay95IQ2dUbS0,4ChtKmFXtb5EOegUgQQZ85EWpijCdUyKubelVP9AOU0,AAMC--8/freenet.purge-db4o-snapshot-19.jar
CHK@FwVHzsL8zuRv6cJix2B14xm~8fH2EZsO68nyggIwoqQ,P0etmFePAHcKmgBKJTtnFckxQ7ZX97qM4Wg43bokPus,AAMC--8/freenet.purge-db4o-snapshot-19.jar.sig

Uploaded source code:
CHK@G6wygJmWpuQtHYLOdbW11QI~dsuba3gn4UJzc6oqwXc,jRwwqVNFpX4WGG427XtdZmnWDf5OmmS1~Wzroftv~wU,AAMC--8/freenet.purge-db4o-snapshot-19.source.tar.bz2
CHK@AwL-130P6XVuNvqzw5HDawHh6ViIE7BENK4tcDjPY4o,ErBIjNJsUeNAuxmr55rwINyh7k05UdoJQtPAipb3C0I,AAMC--8/freenet.purge-db4o-snapshot-19.source.tar.bz2.sig

Please test, and please consider for integration. Thanks!

I will do some more testing and might do better password encryption, but
I will have to stop working on Freenet within the next few days because
of uni... I will answer any reasonable queries by email even then.

TESTING ADVICE:

It will automatically migrate from node.db4o*, and hopefully we won't
need to make further incompatible changes, but it's possible e.g. if
operhiem1 doesn't like the class names. Also there may be more bugs,
including in migration. So ...
- Download the jar and sig file, and check the signature.
- Shutdown the node.
- Backup master.keys, node.db4o or node.db4o.crypt, and the whole
persistent-temp* folder (e.g. persistent-temp-1234).
- Edit wrapper.conf to make sure that we are running freenet.jar not
freenet.jar.new:
wrapper.java.classpath.1=freenet.jar
- Replace freenet.jar with the downloaded jar.
- Start Freenet.
- Test it! The changes affect anything you do in terms of downloads,
uploads, site uploads, fproxy, etc.

NOTE: This is not compatible with previous snapshots, so you may have to
restore the backups of your node.db4o* etc and then re-migrate if you
have been testing previously.
NOTE: It *is* compatible with disk encryption (physical security level
above NONE, "encrypt temp buckets" / "encrypt persistent temp buckets"
enabled in advanced config). Please test this, this is the newest
riskiest bit!

PLUGINS:

Plugins have not been updated. There are updated versions available but
they may need further changes after the refactoring in snapshot 19.

Enjoy! And please let me know if you find any bugs in the next few days.

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Devl mailing list
Devl@freenetproject.org
https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to