Friday, July 19, 2013

GSoC Update (Week 5)

After a few days of struggling with one test in particular, my patch to Tahoe's upload algorithm passes all tests! It is waiting to be reviewed and will hopefully be merged with trunk in a couple of weeks. Once my patch has been reviewed, I plan on implementing a similar upload algorithm to be used with mutable files. While I could move onto a different aspect of Tahoe, continuing to diverge the behavior of immutable and mutable files will only create more trouble for users. Also it is best to write the patch when the information is fresh in my mind.

In the meantime, I have been working on redefining Tahoe's measure of file health to use servers-of-happiness. A patch for immutable files is already finished and can be viewed here. Right now some of the tests don't pass, but I have decided to put the patch on hold until mutable files use servers-of-happiness during upload. This is because it's inconstant to upload a file distribution that the checker will deem unhealthy.

Today I plan to start working on some minor tickets associated with Tahoe's new cloud backend system, which allows users to use popular cloud storage services as storage nodes. It also makes some existing operations faster for regular storage nodes due to some architecturale changes that were necessary in order to get cloud backends to work.

In my free time I have been writing a new IRC bot for the #tahoe-lafs channel on freenode. The current bot is nice because it will display ticket information when someone refers to a ticket by number (ex. #1382). However, the bot will only parse one ticket per line, which is annoying at times. Since I could not find the source code for the existing bot, I decided to write a new one. Right now my bot successfully parses multiple tickets, and my plan is to integrate trac updates through rss. I'd also like to add interaction with github, such as knowing when a new pull request is opened, since there is some disconnect between the activity on trac and the activity on github. My plan is to open source the bot once I clean up my code.

Tuesday, July 2, 2013

GSoC Update (Week 3)

Last week I was able to clean up most of my code and finish implementing the new algorithm into the current uploader. All of the existing tests pass except for one, which needs to be rewritten to reflect the new behavior of the uploader. I've tested the new upload algorithm over the test grid and everything seems to work well in production. I'm excited to work with my mentors to clean up the code so that other users in the community can test it out!

Hopefully my project will be finished in a week or so and I will be able to start hacking away at a new project for the Tahoe-LAFS community.