看板 Soft_Job 關於我們 聯絡資訊
本文先發在java板, 不過回應不多, 所以轉發本版希望能夠找到比較多指導. 有違反板規請推文或站內信, 看到會馬上刪. 這個問題我們自己也很難重現, 都是user回報之後觀察到. 所以任何方法包括怎麼去測試找問題都歡迎指導. --------------------------------- 目前碰到一個棘手的問題. 查詢出來的資料, 轉化為物件呈現在頁面上時, 會有部分loss的狀況. 例如銷售系統的建立訂單畫面, 可以在欄位內輸入統編, 元件用統編查出廠商詳細資料後再帶到前端自動填入其餘欄位. 例如廠商名稱/ 地址/ 票期.... 但是在極少的狀況下, 會發生帶到前端的資料loss(損毀), 例如廠商名稱: ABC公司, 呈現在頁面上變成AB, 後面的字都不見了. user按下儲存後, 就會寫入錯誤的資料, 連帶影響後續功能. 頁面已經有檢核必填且不可輸入只能用點選帶值. 發生率約幾百分之一, 數百列訂單資料錯一筆. 除此之外在企業邏輯計算方面也有這種狀況, facade帶起service, 訂單檔儲存後要再計算以及寫入相關table. 例如訂單儲存簽核完成, 要連動計算最新的存貨狀況以及自動產生帳務資料與發票, 並寫入存貨table/ 會計table. 但可能有跑存貨facade, 卻沒有跑會計facade, 導致會計table都沒寫入. 邏輯確定會跑到. 將資料複製進去測試機再跑一次也會跑到會計facade, 但正式機的確就沒寫入會計table. 發生率也不高, 幾百次錯一次. 一些要查table的下拉選單也有這種狀況. 測試機都能正確查出abc三個選項, 但正式機只有ab兩個選項, 重開機才完整顯示abc選項. 雖然發生率低, 但這類狀況我們完全無法對user解釋, 很困擾. 想請問這樣的問題可能出在哪一個環節? 有可能是元件問題嗎? 要用什麼關鍵字google? 程式本身可以用什麼方法來查? 使用的元件大致如下 AP server: weblogic 本機: tomcat ORM: eclipselink 1.2.0 hibernate VIEW: jsf 1.2_14-b01-FCS json-lib 2.3 trinidad 1.2.14 velocity 1.5 frame work: spring 2.5.6 _SEC02 spring batch 2.0.4 spring security 2.0.4 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.134.132.140
Catbert:WebLogic的JVM多大???要不要監控一下看看 06/02 17:32
andymai:偵錯不外乎是"讓問題重現"→"縮小偵錯範圍"~幾百次出現一 06/02 17:56
andymai:次~那是否那次的資料和邏輯有問題?如果不是~那是否執行到 06/02 17:58
andymai:某個次數就會出現?總之~要找出問題~首先要能穩定的讓問題 06/02 17:59
andymai:重現~如果不能穩定重現~那真的是只能靠經驗老道的人去觀落 06/02 18:00
andymai:陰了...對了~基本上問題這樣問~得到解答是運氣好~畢竟連程 06/02 18:02
andymai:式架構、寫法、內容都不知道~是要怎麼找問題? 06/02 18:06
arenda:用log4j把每個步驟dump出來觀察 06/02 18:35
kithe:table部份寫入,代表transaction就有問題了 06/02 18:38
kithe:資料消失,是不是有人把exception吃掉了..隨便猜猜,無限可能 06/02 18:41
joetsai:有可能是session互蓋的問題嗎!? 06/02 19:00
最麻煩的一點是, 下拉選單帶值, 出現的值有毀損的這類狀況, 多拉第二次第三次就會正常帶出值. 因為是簡單查table做出下拉選單, 所以實在想不出怎樣能造成這種狀況 ※ 編輯: atpx 來自: 220.134.132.140 (06/02 20:28)
andymai:再怎麼簡單的範例都可能出問題啊~還是先想辦法縮小範圍吧 06/02 21:27
ggg12345:偉大的中文? 查一下有無"\"這類 control character. 06/02 21:54
Lordaeron:wow, 偉大囉 套一堆framework, 有得你查囉 06/02 23:15
Lordaeron:最簡單的方式, 一個一個framework 來替換版本看看吧 06/02 23:17
jk47tai:看看是否帶出來的的資料有部分用到JAVASRIPT的關鍵字 如' 06/04 10:11
ghchen:遇過類似的問題,我後來在filter那邊把沒用的conn殺光 06/04 13:31