五月十八日,週四,AM9:00。 姜北在自己辦公桌前填着借款表格。 根據公司的規矩,出差或常駐的人員在臨行前可以向公司借款,金額2萬到十萬不等,出差或常駐回來後再拿發票報銷,這對於經濟狀況不好的員工來說這是個很惠民的政策。因爲都是內部人,通常審批的都很快,隔天款項就會打進來。 姜北的手頭很緊,僅憑自己手裡的那點錢,換成日元到那邊根本不夠自己的花銷,所以出發前他需要先向公司借筆款。通常出差的人員不論手頭是否寬裕都會這麼做,反正也沒有利息,何樂而不爲呢? 他正低頭填着表格,旁邊一個聲音道:“北哥,忙什麼呢?” 姜北擡頭一看,是韓鈺,因爲項目前天剛提交,項目組這兩天難得清閒。 姜北笑道:“沒什麼,填個表格,出差前向公司借點錢。” 因爲昨天晚上跟她的約定,他今天的心情大好。 “你下週就要走了吧?” “是啊,你有什麼想帶的不用客氣,儘管開口。” 姜北對韓鈺的印象一向很好,他工作認真,脾氣又好,是自己的得力助手。 韓鈺笑道:“那太好了,讓我想想……”他摸着下巴沉吟一會兒,說道:“你到那邊後就給我寄點清酒吧,中國酒我喝過很多,日本酒還真從來都沒嘗過。” 姜北笑道:“沒問題,等我到那邊什麼清酒燒酒的都讓你喝個夠。” 韓鈺大笑,摟着姜北肩膀道:“北哥真是夠義氣……” 兩人正說着,不遠處的李麗薇衝這邊喊道:“姜北,你過來一下。” 李麗薇的辦公桌離姜北那也就五六米,姜北拍拍韓鈺,走到她身邊,笑問道:“李姐也需要我帶點什麼東西嗎?” 姜北今天
心情着實不錯,不然他平時是很少跟她開玩笑的。 李麗薇面沉似水,指着自己的顯示器,對他說道:“你看看這個。” 姜北見她面色不善,心中正疑惑,便轉頭看向她的顯示器,頓時吃了一驚。 李麗薇給他看的是日方剛剛發來的一封EMail,裡面的內容是昨天晚上在日方的真實運行環境上出現了重大的不具合,直接導致服務器崩潰,現在正在緊急維護中,而照成這個問題的正是前天S市分部提交的項目。日方總部對這件事情十分惱怒,勒令這邊馬上調查不具合原因。 這封EMail是直接發給周東亦的,另外抄送給了幾個公司高層。 姜北怔怔的看着顯示器,剛纔的笑容就像凝固了一般,硬生生的僵在了臉上,他瞬間就意識到了這次問題的嚴重性,如果事情屬實,自己作爲項目的負責人實在是難辭其咎。 “會不會……是他們搞錯了。”姜北驚訝的發現自己竟然磕巴了,說出的這話連自己都不信。 “希望是吧,”李麗薇臉色難看極了,“我把郵件轉發給你,你趕緊回去看看,一會兒可能會開檢討會,你要有所準備。” “好的。”姜北應了一聲,趕忙回到了自己的座位。 正像李麗薇說的那樣,周東亦對這件事極其重視,下午一點便召集了衆人開檢討會,與會的有公司幾個高層,品質部的幾人和項目組的相關人員。 會議的主題是分析這次重大不具合的原因,主要由品質部的嚴亦分析講解。 會議室的氣氛很壓抑,周東亦更是陰沉着一張臉,這次的事故讓他受到總部的嚴厲批評,正在氣頭上,這時候誰也不敢多說話,生怕觸了黴頭。 嚴亦打開投影儀,將會議室的電腦遠程連接到自己的電腦
上,開始了分析講解。 “這次不具合的原因已經初步調查清楚,之所以照成日方服務器的崩潰,是因爲程序中的邏輯出錯,形成了死循環。具體出錯的地方我已經定位到,大家看下面這段代碼……” 嚴亦說着打開了一個文件,映在牆壁的投影上顯示出了一段代碼: for(inti=0;i<getLength();i++){//todo...ListaccountList=accountDao.getAccountInfo();//todo...if(getLength()>CONSTANTS.MAX_LENGTH){break;}//todo...} “大家請看,代碼for循環中對DB做了一些請求,但是循環上限的getLength方法得到的數值卻是一個天文數字,所以照成這個循環始終在運行,大量的DB請求直接導致了服務器超載,最後崩潰……” “那爲什麼我們這邊的測試沒有出現問題?”李麗薇打斷嚴亦的講解問道。 “那是因爲我們這邊的數據量小,而日方的真實運行環境中卻是非常龐大的數據量,所以同樣的代碼在不同的環境中運行次數完全不在一個數量級。” 嚴亦停頓了一下,見李麗薇沒有異議,正要繼續講解,旁聽的韓鈺突然打斷道:“我有個問題。” “你說。” “你看for循環中的代碼,在if語句中明明有跳出循環的break,如果getLength方法得到的結果真是一個天文數字,循環早在達到常量CONSTANTS.MAX_LENGTH定義的上限值前就跳出循環了,怎麼可能一直進行下去?”
(本章完)