Skip to content

Instantly share code, notes, and snippets.

@xor-freenet
Last active August 29, 2015 14:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xor-freenet/7913faede9cdf4d470db to your computer and use it in GitHub Desktop.
Save xor-freenet/7913faede9cdf4d470db to your computer and use it in GitHub Desktop.
Draft of request for testing for WOT build0014 rc01
The WOT release build0014, which has been in development for months, is finally nearing its completion.
There's good news and a bad news about this build.
The good news: With >1800 commits, this build includes more new commits than WOT *ever* consisted of as of the previous build (1461 commits) :) There is an insane amount of code quality improvements and bugfixes. This will pay out a lot during future development, as the huge maintenance backlog which built up during the years I wasn't working on WOT has now started to go away.
The bad news: Even though the primary purpose of this build is to alleviate the performance issues, it will still be slow as hell.
Why: The main new performance feature is the so-called "event-notifications" FCP API. This is a framework which applications built on top of WOT such as Sone etc. need to first start using before it reduces their performance impact. A reallife example to understand why this is the case: If your mail service delivers letters by horse, they won't arrive any faster because the government has just build a railway system. The mail company needs to first start using trains instead of horses.
Sorry that this isn't the ultimate performance fix yet. A system such as WOT is a major project - 30 000 lines of code already, and as such just takes its time to optimize. I am as annoyed as anyone else by the performance issues, and trying to do my best to get them fixed ASAP. Please stay patient :)
Much more details about how to use event-notificiations and further new features can be found in the draft changelog: FIXME.
To prepare for the release, you hereby get a release candidate for testing.
PLEASE READ WHAT FOLLOWS BEFORE TESTING!
- Please be aware that testing releases can destroy the WOT database or might even permanently damage your WOT identities. Also, please notice that your WOT database will NOT work with previous versions of WOT anymore once you have used the testing release. If you are concerned about this, shut down Freenet and move away your WebOfTrust/ in the Freenet folder so you can test with a new database and temporary identities.
- Please make a backup of the WebOfTrust/ directory in the Freenet folder before you start testing. Please shutdown Freenet before doing this.
- Please also consider making a backup of the insert URIs of all your WOT identities before you use this testing release. This will allow you to restore them without the WebOfTrust/ directory backup, which is even beyond testing purposes useful if the WOT database dies due to future bugs, corruption, etc. The insert URIs are available via the "Edit" button on the web interface at "Community / Own anonymous identities". Notice: Doing a backup of the WebOfTrust/ directory as well is a good idea nevertheless because it could be used to reproduce errors which you encountered during testing.
- To actually be able to execute the release candidate, you need a development version of Freenet which includes the code which will likely be in the next Freenet testing release, testing-build1468-pre2. As the testing release is not out yet (I will post a comment when it is), this effectively means that you need to get and compile the code which is announced in the pull request https://github.com/freenet/fred/pull/319 and compile it yourself. The can be obtained via the command line "git clone https://github.com/xor-freenet/fred-staging.git --branch plugin-fcp-rewrite-purge-db4o". NOTICE: As this includes purge-db4o, you will need to follow all instructions for testing purge-db4o which toad has provided. Notably, be aware that your Freenet download/upload queue will be converted to a new format, and thus will not work with the current stable Freenet release anymore. Backup instructions are in toad's guides.
- The most important part about testing itself: To make your test runs useful for me to fix bugs, please read your log files. Instructions for producing and observing the log files follow:
- Please go to "Configuration" / "Logs" at your Freenet's web interface.
- Select "Switch to advanced mode" at the bottom of the web interface.
- There configure:
- "Minimum priority to log messages at" to "NONE"
- "Detailed priority thresholds" to "plugins.WebOfTrust:ERROR"
- "Log rotation interval" to "48HOUR" (yes, no S in HOUR)
This will disable any logging besides WOT errors.
- Restart you node, let it run for a night, but no more than 48 hours because the log file will be rotated then. Then check the log "freenet installation directory/logs/freenet-lastest.log" for errors.
- Post the errors here, but make sure to review them: They might contain the names of your identities, their public request URIs or even their secret insert URIs. Publishing the insert URIs would allow anyone to impersonate your identities!
Thank you for testing! :)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment