코더 이용호

Coder Lee YongHo – Chapter 8: Course Registration Chaos (3)

It was the second re-activation of the DB due to the same error. The RDBMS(Relational database management system) program was still occupying more than 90% of the memory on the server. If it was temporary, there would be no problem, but the problem was that everything would freeze the moment memory reaches 100%.
“Hyung, is it alright to re-activate this on a whim?”
“Nope.”
“I don’t think this is right.”
“Me too… I am of the same opinion.”
*Ring* *Ring* (telephone sounds)
The telephones in the conference room started ringing without giving them a moment to breathe. It was the complaints from the students whose screen froze.
“When can I register for the courses again?”
“It will be back to normal soon.”
-it’s not my problem alone right?
“Yes. It’s happening to all the 3rd years. So you don’t need to worry.”
The worries of the students were about just one thing.
Am I the only one who has this problem? While I’m stuck, wouldn’t my preferred course fill up? – They worried about these.
‘hmm……’
Even as he was answering the calls, YongHo’s attention was somewhere else. He was checking the bug window. But from someone else’s view, he was just wandering off.
“Look at that, that sunbae still has the time to wander off even in this situation.”
“Don’t say that, SuMin.”
“I can’t understand why SungGyu-sunbae would cover for someone like him.”
“But he’s kind!”
“Kind? Didn’t you see that he was only wearing briefs in the clubroom?”
At SuMin’s words, HyeJin turned around, face red. She then changed topic.
“Th…There’s another call, let me get it.”
HyeJin picked up the telephone in a hurry, YongHo, who was focusing on the bug window also heard their conversation. If someone talked in this 5 pyung(≈16.5m2) room, then one couldn’t not hear it.
‘Why does she hate me so much?’
YongHo hadn’t really done anything wrong. Other than settling his food and lodging, he had done nothing to feel bad about.
‘But anyway, Line 107, that is where SQL(Structured Query Language, used in relational database) is run
YongHo looked at the details of the bug.
‘Hmm… But what does this mean?”
Even though he’s a 4th year, and he had done many program related part time jobs, he was still a student. It wasn’t the first time he had seen content like this, but he couldn’t really understand anything.

Title: A Table Lock has occurred.
Details: Due to the SELECT FOR UPDATE statement, a Table Lock has occurred Due to the lock, other users trying to access the related table are waiting and is causing the current error.
Solution: Change the SELECT FOR UPDATE to SELECT FOR UPDATE WAIT 3 to make other users end their sessions after around 3 seconds.

‘I need to tell this somehow…….”
The bugs up till now, YongHo had knowledge of it. But something like SQLthat was an exception. All he knew was something from 3rd year when he listened to the Database course.
‘Let’s indirectly throw it to SungGyu-Hyung.”
He first wanted to confirm with SungGyu. Even at this moment, the memory usage was running towards 100%. They could eat lunch only after 2 more re-activations happened.

YongHo quietly called SungGyu who was about to enter the conference room.
“Hyung, wait a sec.”
“Sorry?”
“Just talk to me for a sec.”
“Why? I’m busy at the moment.”
“It’s because of that. I only need a moment.”
“Hyung, by chance, do you know what Table Lock is?”
“Table Lock?”
“Yes. You know how the error stems from line 107?”
“So?”
“The query statement(shortened version of SQL, apparently) which is run at that line had something that went SELECT FOR UPDATE.
SELECT FOR UPDATE?”
“I looked it up on the internet and found out that it’s the same system used for reservations in a cinema. It seemed like we were using it on the course registration system.
“That’s the problem, you’re saying?”
“What I found was that a Table Lock is basically: when I use the table, you can’t use the same one. If you want to use it, you would have to wait until I let go of it.”
“Hmm……”
“So, if I don’t let go of the table, other people would have to wait indefinitely.”
“So you’re saying the memory is filling up because one person isn’t letting go of the table and other people are waiting for it?”
It seemed like SungGyu got a grasp of the situation.

“You are right. By making people wait the memory usage rate keeps going up as time flows. So even though it looks perfectly fine after re-activation, the memory would keep going up as time flows.”
“You have a point there.”
“If we want to get rid of the waiting status, it said to put a WAIT 3 statement to automatically end the users’ sessions.”
“This is all on the internet?”
Surprise was written all over SungGyu’s face after listening to YongHo’s explanation for a few minutes. It wasn’t the skill that YongHo he had that he knew about.
“You know? ‘Stack Overfly’. But actually, I don’t really get what any of it means…”
“Stack Overfly you say…., I get it. Let’s talk to the employee about it.”

Stack Overfly.(parody of Stack Overflow)
As the world’s biggest program related Q&A website, it boasts 1.7million users and over 5 million Q&As. SungGyu used it often when he did program related part time jobs.
“Let’s go quickly.”
YongHo followed SungGyu towards the student support office.

It was already many times that the DB re-activated. Everybody was exhausted because of the calls every time the DB re-activated.
“Excuse me sir, but is the problem found?”
SungGyu carefully asked assistant manager Kim(surname) WonHo(first name). But the reply didn’t come. Assistant manager Kim was still looking at the screen. He just murmured to himself.
“Oh, f*uck… Why isn’t it working.”
“Assistant manager Kim.”
“There’s no problem with line 107.”
Assistant manager Kim was looking at the server’s log. The log said that the error was happening on line 107.
“ASSISTANT MANAGER KIM!”
After calling him quietly many times, the assistant manager didn’t respond. So SungGyu called him loudly. Finally, Assistant manager Kim turned around to SungGyu.
“I’m busy so talk to me later.”
Assistant manager Kim treated SungGyu as if he didn’t exist. He didn’t think a college student would understand, much less solve, any of this.
“I looked it up and I think it’s due to a Table Lock problem.”
“Didn’t you hear me?” Just go and do the monitoring.”
SungGyu left without even speaking to the end.


Translator’s note

 

Regular chapter 2/4, 3/4 will be released tomorrow.

I have a feeling that YongHo is going to be the second Conan. Everywhere he goes, a program will malfunction for some reason, and he will fix it.

Thanks for reading!


Translator : Chamber
Proofreader : Maled

<< Previous Chapter | Index | Next Chapter >>

 

9 thoughts on “Coder Lee YongHo – Chapter 8: Course Registration Chaos (3)

    1. jacobpaige

      They probably wrote it themselves or hired students to do it at well below industry standard wages.

      I wouldn’t expect a quality job on any software used at a university. They’d much rather remodel the dean’s home than improve software that supports the students.

      Reply
  1. jacobpaige

    Well, if the manager that Assistant Manager Kim is assisting finds out about this, he’ll be lucky to keep his job.

    Also, a lock or memory leak problem should have been the very first things to occur to them. That it didn’t, shows that they are incompetent, especially when they already know what line the problem is occurring at and should be able to readily tell which it was.

    Reply
  2. Ruubix

    If YonhHo is the next Conan then this series will never end lol. I imagine realistically he’d become a “God” of coding and debugging.

    (I’ve always wondered about how peaceful Japan could have so much crime centered around one person. )

    Reply

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s