Case 3

ไปเจอ Defect บน Production ของลูกค้ารายหนึ่ง ได้รับแจ้งว่ามีระบบหนึ่ง เกิดปัญหา คือ ทางลูกค้า ทำรายการเข้ามา แต่บนระบบ Post รายการไปแล้วไม่ Post หรือ Post ไปอย่าง ได้ผลลัพธ์อีกอย่าง หรือ Post ไปแล้วกลายเป็น 2 รายการ ทั้งที่ก่อนหน้านี้ไม่เคยเกิดขึ้น โดยจะเกิดนั่นบ่อยมากในช่วงหลัง แต่ไม่สามารถหาสาเหตุได้
ทีมงานจึงได้รับการติดต่อเพื่อไปหาสาเหตุ และแก้ปัญหา ….
ซึ่งจากการตรวจสอบ พบว่า ปัญหาที่เกิดนั้นไม่ได้เกิดทุกช่วงเวลา แต่เป็นการเกิดในช่วงเวลาที่มีผู้ใช้งานจำนวนมาก ทำให้เราเจอสาเหตุหลักของปัญหา นั่นก็คือ การประกาศตัวแปรแบบ Sharing Value กัน โดยสาเหตุ คือ
1. ในช่วงเวลาที่ระบบยังทำงานไม่เต็มที่ Memory มีใช้อยู่เหลือเฟือ ทำให้ระบบสร้างตัวแปรใหม่มาเก็บค่าได้ตลอดเวลา
2. ในช่วงเวลาที่ระบบทำงานเต็มที่ ทำให้ Memory ไม่มีเหลือ ทำให้ระบบเห็นว่า มีการประกาศตัวแปรให้สามารถใช้งานได้ จึงใช้ตัวแปรที่ประกาศไปแล้ว มาใช้ ผลก็คือ ทำให้ระบบทำงานผิดพลาด เช่น Post รายการไปแล้วไม่ Post หรือ Post ไปอย่าง ได้ผลลัพธ์อีกอย่าง เป็นต้น
โดยวิธีการแก้ไข และวิธีการป้องกันทำได้ครับ ซึ่งจะขอกล่าวในครั้งถัดไป….