I started the coding phase of GSoC with a very simple understanding of the task at hand and have been trying to materialise and better understand the exact implementation details of the project over the past 20 days, ever since @little-wallace provided me with the proposal document. I would like to document the process in a few concise notes that shall later be collected into a memoir/blog.
May 30th - June 6th: Work on coding the EBS integration into TiKV begins with research into rusoto_ec2, a crate that allows for AWS EC2 instance interaction from within rust programs. rusoto_ec2::EbsBlockDevice
is a struct within the mentioned crate of particular importance to the project and it provides an interface for the program with EC2/EBS volumes. Creating a new module ebs.rs
in components/external_storage to interface with EBS instances, lifting some code from s3.rs
which was also written using rusoto.
Update June 7th: Apparently the EBS integration wasn't of much use and I have thus removed all code that was written for it. Instead I used some of the findings I made from researching the rusoto library into updating the crate that has helped decrease lines of code in s3.rs
.
Update June 9th: The PR tikv#8066 has been merged