کشف دشوار یک باگ؛ «دیوار» هزینههای باگ نردبان را بازمیگرداند
بهتازگی تیم فنی دیوار در بررسیهای خود ایرادی فنی را کشف کردند که باعث شده بود برای تعدادی از کاربران پنلهای کسبوکاری که آگهی خود را در فواصل زمانی کوتاه (کمتر از ۲ ساعت) بیش از یک بار نردبان میکردند، اعمال نردبانهای بعدی تأثیری نداشته است.
این ایراد فنی به این معنا بود که وقتی کاربران پنلهای کسبوکاری با فاصله کمی از نردبان قبلی اقدام به اعمال نردبان میکردند عملاً تأثیری روی آگهی آنها نداشت و باعث بیشتر دیده شدن آن آگهی نمیشد.
سرویس نردبان راهکاری برای ارتقای آگهی است؛ به این صورت که آگهی کاربران را تا زمان ثبت آگهی جدید یا نردبان از سوی سایر کاربران، در صدر آگهیهای همان شهر و دستهبندی نمایش میدهد و با این کار میزان بازدید آگهی افزایش پیدا میکند.
حالا دیوار در بررسیهای فنی خود متوجه باگ مذکور شده و در بیانیهای رسمی، ضمن قبول مسئولیت این ماجرا از کاربران خود بهخاطر این مشکل عذرخواهی و اعلام کرده که این مشکل بهصورت کامل برطرف شده است.
پلتفرم دیوار در بیانیه رسمی خود اعلام کرده است که مبلغ کل هزینهای که کاربران در زمان وجود این باگ متحمل شده بودند رقمی حدود ۱.۶ میلیارد تومان بوده است و دیوار اکنون برای جبران منصفانه این ایراد سیستمی، مبلغ ۵ میلیارد و ۲۵۰ میلیون تومان را با «قیمت روز» به تمامی این کاربران بازمیگرداند.
همچنین، دیوار توضیح داده است که تعداد کاربران متأثر از این باگ در مجموع ۲۷ هزار و ۷۳۴ کاربر بوده است که از این تعداد بیشتر از ۲۰ هزار کاربر ۱ یا ۲ نردبان اعمال نشده داشتهاند.
در این بیانیه آمده است که در حال حاضر ارسال پیام به کاربرانی که تحتتأثیر این مشکل قرار گرفتهاند شروع شده و این افراد میتوانند شماره شبای خود را اعلام کنند تا این هزینه به آنها بازگردانده شود.
ماجرا از کجا شروع شد؟
برای اولین بار این ایراد سیستمی را نیروهای فنی دیوار، در پنل نمایشگاه خودرو کشف و گزارش کردند. گزارشهایی از سمت بعضی نمایشگاههای خودرو انجام شده بود که نردبان به اشتباه از آنها کم شده است. در ابتدا این مسئله با بررسی موردی حل میشد. تعدادی از این گزارشها نادرست بودند اما در مواردی که وجود این ایراد تأیید میشد، نردبان به بسته کاربر بازگردانده میشد.
دیوار روی صفحه نردبان گروهی، قاعده(رولی) داشت که هر آگهی را، که از اولین ثبت آن یا آخرین نردبانش حداقل ۲ ساعت گذشته بود، نشان میداد. وقتی کاربران پنلهای فروشگاهی با فاصله کمی از نردبان قبلی اقدام به اعمال نردبان میکردند عملا ارزشی برای کاربر خلق نمیشد.
نردبانها با این که اعمال شده بودند، ولی در فاصله زمانی کوتاهی از نردبان قبلی همان آگهی رخ داده بودند که این باعث میشد عملا برای کاربر ارزش کافی خلق نشود و تاثیری روی آگهی او نداشته باشد. چون در فاصله زمانی کوتاهی دو یا چند نردبان مختلف روی یک آگهی یکسان برای کاربر اعمال شده و از بستهاش کم شده بود.
حدس از علت رخداد این باگ در حالتهای کمتر از چند ثانیه این بود که سیستم کاربر دچار مشکل شده یا در اتصال به اینترنت دچار اختلال بوده است. همچنین حدس دیگر، تیم فنی از علت رخداد این باگ در حالتهای بیشتر از چند ثانیه و در حدود چند دقیقه زمانی بود که دو اپراتور روی صفحه نردبان گروهی بهصورت همزمان بودند.
یکی از اپراتورها نردبان را اعمال میکرد و اپراتور دوم بدون این که صفحه خود را رفرش کند، دوباره همان آگهی را نردبان میکرده است. این در صورتی بود که در صورت رفرش صفحه، آگهیهایی که «تازه» نردبان شده بودند از لیست حذف میشدند.
این مسئله باعث میشد چند درخواست (ریکوئست) با هم سمت سرور ایجاد شود اما قاعده (رولی) وجود نداشت که نردبان تکراری در فاصله زمانی کمتر از محدودیتی که روی نردبان گروهی قرار داشت روی یک پست یکسان ایجاد نشود.
درگیر شدن تیمی ۵۰ نفره برای رفع مشکل
پدرام طاهری، یکی از راهبران ارشد فنی دیوار، درباره گسترده شدن تحقیقات درباره این باگ پس از گزارش میگوید: «بعد از این که مشکل از سمت پنل نمایشگاههای خودرو گزارش شد حدسمان این بود که احتمالاً این ایراد در پنلهای کسبوکاری دیگر هم وجود داشته باشد.»
او در ادامه توضیح میدهد: «با کشف کامل ماجرا تیمی از بچههای دیوار از بخشهای مختلف درگیر شدند تا این مسئله را بهطور کامل حل کنند. در دورهای آزمایشی هم این مسئله را بهطور کامل تحت نظر داشتیم تا زمانی که مطمئن شدیم این ماجرا بار دیگر اتفاق نمیافتد.»
به گفته پدرام طاهری، بهصورت مستقیم حدود ۱۵ نفر و در مجموع حدود ۵۰ نفر از تیمهای مختلف دیوار حدود ۳ ماه در مقاطع مختلف برای استخراج فهرست کاربرانی که از از این باگ تأثیر دیدهاند و همچنین برطرف کردن کامل آن تلاش کردند.
خودمان را جای کاربر گذاشتیم
او در ادامه تأکید میکند: «فهمیدن این مشکل و این که حق گروهی از کاربران ضایع شده کار بسیار سخت و زمانبری بود. چون تعداد بسیار زیادی از کاربران متوجه این مسئله نشده بودند؛ اما ما وظیفه خودمان میدانستیم که از حق کاربران دفاع کنیم.»
طاهری میگوید: «ما خودمان را جای کاربر گذاشتیم که هزینه سرویسی را داده که از آن استفاده نکرده است. خودمان هم اگر بهجای کاربر یا مشتری بودیم دوست داشتیم این صداقت و شفافیت را میدیدیم و اگر اشتباهی بهصورت غیرعمدی رخ داده شرکت آن را اعلام و جبران میکرد.»
نظرات