Server Tragedy- How A Backend Developer Killed The MyVIT API
At GDG VIT Vellore, I usually handle all the servers, and they are either deployed on Azure or Digital Ocean. One fine day, one of our members (schoolboy a.k.a. Balaji) asked for a server for a Hackathon held by TCS; but they were all engaged.
One of the pre-conditions was that, he needed a server with 4gigs of RAM to run his application.
The API is hosted on one of our servers with the best configuration available. You can find the source code of the API here.
Since the MyVIT server was the only server that was suitably configured, I shared the MyVIT’s server credentials with schoolboy to use it for the hack.
Since Shubhodeep was the only server doctor, he did not suspect anything could go wrong with the server. The API handles more than 3,000 calls per day.
Mr. schoolboy had no clue about MyVIT’s API running on the same server. I don’t understand the obsession with the port 8080, but every time I set up an application, I either use 8000, or 8080. And it’s not just me who is so obsessed with these numbers. Almost every web developer is obsessed with these numbers.
As usual, the MyVIT API was hosted on port 8080. During the hack, schoolboy logged onto the server, and typed in the command :
hackathonServer bee run
and he got something like this:
Failed to listen on localhost:8080 (reason: Address already in use)
Without bothering about the process running on the port, our star developer Mr. schoolboy typed in this command :
lsof -i tcp:8080
sudo kill -9 pid #where pid is the process id returned by lsof
Basically what this means is that, he killed the existing process running on port 8080, and happily served his application on the same port.
Students here started facing problems in logging into the MyVIT application, to refresh their attendance. When this came to our notice, Shubhodeep immediately logged onto the server and checked the process running on port 8080. When he realised that some other application was being served, he reacted by saying :
Kis mahaan insaan ko server diya tha tune?
He started the MyVIT application immediately and everything started functioning properly. After that incident, we always keep a note of applications running on a server along with the port number.
P.S. Mr. schoolboy’s team won the hackathon and bagged the first prize, for which he had to treat us later.
So that was one of the incidents. We have many more to share. Hope you like this!
Have a look at some of our cool projects at : https://github.com/GDGVIT
Download MyVIT android app at : https://play.google.com/store/apps/details?id=io.vit.vitio