This is a short story on how I got my pull request merged into Apache Flink.
It started with the need to set CPU and Memory limits to Flink jobs running under Kubernetes.
The first thing I did was to join the user mailing list and ask around if someone has encountered the issue and if there’s a solution to it. The people from the mailing list were very friendly and they pointed me to an existing ticket on the Flink jira board, which was exactly what I needed.
To speed things up, I decided to implement the ticket by myself. I wrote on the mailing list that I want to implement FLINK-15648 and started signing the Apache individual contributor license agreement.
After sending the signed document via email, I cloned the Flink project from GitHub and imported it into my IntelliJ IDE. Flink has some great documentation on how to setup your IDE and import the project.
Lastly, I’ve implemented the feature and submitted the PR flink/pull/17098. The first time I forgot to generate the code docs and I’ve got a CI error. After the error was fixed, the PR was merged. It did not speed things up as I initially thought since it was merged into Flink 1.15. Nonetheless, It was a smooth and fun process and the code review that I’ve received was also well done.
I hope your experience contributing to open-source software will be as fun as mine was.
Thanks for reading and happy hacking!
Lately I’ve been busy with university, work and learning something new. I’ve started my programming journey when I was in high school with Python, I didn’t have any informatics classes so I had to study on my own. I confess that I didn’t really understood how Python works, until I’ve tried Java. Python had a dynamic type system and it was very confusing for a newbie like me.
After finishing Introduction to Computing with Java course from HKUST on edX I started to get a better grasp on programming. After that I’ve started reading some java books like: Effective Java, Head First Java and some chapters from Intro to Java Programming, Comprehensive Version, which I consider to be the most complete and useful Java book ever made (if you do the exercises). Then I’ve abandoned Java because all I knew to do with it was console programs, I had no ideas about framework and all the possibilities, when I saw someone at Google giving a talk and demonstrating a browser game that ran Java in the backend I was like: “What is this magic?!”, back then I had no knowledge about networking and client-server architecture.
I’ve been doing Django lately and decided to learn something new: Spring Boot.
As I just finished the Spring Boot courses, I want to make my notes publicly available. The notes are not perfect and they have been written in a style that’s tailored for my own personal use, sorry if you don’t understand them :/.
The next steps are to write a simple pastebin clone in spring boot and to start a the spring microservices course.
The notes can be downloaded by following this link: SpringNotes-01