After discussing with Ian and Nextgens, these are the priorities for the near future:
DB4O: This is mostly working ... but it's been mostly working for quite a while now, and the bits that break are often quite serious. One problem is we tend to get constant garbage collection for long periods, and even OOMs. And that's just for requests. Inserts are harder, because the current insert code sucks; I may end up rewriting that. Inserts also mostly work. Freesite inserts haven't been tested; and there are a small number of vital features still to implement (e.g. deleting stuff when it's finished with!). Most work at the moment is on optimisation and on debugging the catastrophic results of optimisations. :) There are some "heavy" optimisations (i.e. optimisations which will take a lot of work but may be major improvements), which I have mentioned on the list recently, but hopefully they won't be necessary at least not in the near future. All in all, it should be feasible. If it is feasible, it should be merge quality within at most a couple of weeks. AUTOMATED TESTING: Before we enable FOAF routing, or even before we merge the branches, we should have some regular testing on the real-world network going on. This would mean running a node-based tester every day, and recording the results (probably reporting them to a mailing list). The 3 tests currently proposed: - Attempt to connect to all the current seednodes. Report which are online, along with ping times. Nextgens has done most of the work for this. - Bootstrap a new node. Measure the time taken to reach some number of peers. - Insert random data to a node. Bootstrap a new node, measure the time taken to fetch the data from the new node. FOAF ROUTING: Friend-of-a-friend routing should dramatically improve performance: in theory it should give us a gain on the order of halving average request path lengths. However, we need to be able to quantify this in practice, so the code (which nextgens has written) cannot be enabled until we have regular testing going on. Also, some major security issues have been raised: because an attacker can spoof any number of bogus locations, and because he knows our peers' locations and can find out our peers' peers' locations, he can divert either all traffic to himself, or most local traffic plus some remote traffic. Several possible solutions have been proposed, I will elaborate them on the other thread. The above, plus merging sdiz's new datastore, plus randomized splitfile encryption, sorting out the current seednodes problems, some more work on streamlining installation and bandwidth limiting, plus a hell of a lot of debugging, should put us in a good position for 0.8.0 late this year or early next year. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available URL: <https://emu.freenetproject.org/pipermail/devl/attachments/20080722/681a98ac/attachment.pgp>
