記一次bug的查詢
前幾天上線了一個關於向攜程同步審批單的東西,但是上去之後,竟然可以重複傳送;這個問題按說是不應該的,呼叫攜程的介面我是單獨啟用的執行緒做的,線上程內部我啟用了鎖,也就是說在同步完成後我會更新狀態,下一個執行緒過來執行是不可能再重複推送的。而且這次攜程那邊可能也沒有做同步控制,也直接出現了兩條資料。
首先我懷疑是不是分散式導致的,因為我只是加了全域性鎖,而伺服器是分散式部署的,有可能是請求分發到不同的伺服器,導致鎖並不能起作用。但是看了下日誌,發現請求也都在一臺機子上,所以就更奇怪了。
最後發現是我的鎖內部又啟用了一個新的執行緒,鎖在裡面的那個執行緒是不起作用的,所以其實跟沒加鎖差不多。
最後,合併執行緒為一個執行緒,加鎖;並且加的是分散式鎖。
稍微延伸下,一般的分散式鎖都是基於資料庫或zookeeper實現的;很多是基於redis實現的,我的這個分散式鎖就是這樣的。
相關推薦
記一次bug的查詢
前幾天上線了一個關於向攜程同步審批單的東西,但是上去之後,竟然可以重複傳送;這個問題按說是不應該的,呼叫攜程的介面我是單獨啟用的執行緒做的,線上程內部我啟用了鎖,也就是說在同步完成後我會更新狀態,下一個執行緒過來執行是不可能再重複推送的。而且這次攜程那邊可能也沒有做同步控制,
記一次OOM查詢處理過程
poi pri eve ctime oop spa 進行 無需 頻繁 記一次OOM查詢處理過程 問題的爆出及分析排查現場 排查後的解決方案 項目的jvm參數 總結 一、問題的爆出及分析排查現場 服務偶爾會出現不可用的情況,導致出現time o
記一次bug修復過程
我的建議,究竟有誰會看,以我的位置,到底能推動到哪一層可行性,可能性 問題:使用者的資料丟失了。以為是修改操作 有bug,但查看了後端介面和前端校驗,都沒有發現問題。但是input資料沒有日誌【日誌級別是debug】,不能自證清白。並且一些沒有辦法輕易證明的猜測也有:是不是併發問題,一個inser
記一次bug解決過程(數字轉化成中文)
前言 由於公司業務週期較短,時常是幾個專案一起做,或是加上bug修復。上午的時候接到個任務,正式上的網站發現如下圖的錯誤。 問題原因 找到專案中對應頁面,很快發現了問題,原來之前的哥們通過定義了個數組,通過序號來取對應的中文。這樣的方式缺點很明顯,個數有限。導致現在出現不夠用的狀況。
記一次錯誤查詢
查詢語句: UPDATE `表名` SET status=-1 WHERE id=(SELECT id FROM `表名` WHERE position_id=%u AND status!=-1 ORDER BY box_no DESC LIMIT 1) 執行後報錯:You can
記一次sql查詢慢的坑(存在查詢條件隱式轉換)
今天在做功能的時候。很慢 sql語句 也正常啊,沒毛病 原sql 我貼一下 SELECT * FROM `goods` WHERE `sku` = 12454207 LIMIT 1; 檢視執行時間是30多秒 起初猜測是 索引問題 後面發現建立啦,
記一次bug 誤匯入com.sun.org.apache.xpath.internal.operations.String 引起的
在學習rabbit時,列印生產者匯入的資訊時,報錯: Caused by: org.springframework.messaging.converter.MessageConversionException: Cannot convert from [java.lang.St
記一次newApiHadoopRdd查詢數據不一致問題
data may cached onf lec NPU mil value tab 現象: +----------+-------+--------+-----+-----+-----+----+----+------+---------+-------+---
解決Bug之路:記一次記憶體溢位問題的查詢
JVM記憶體溢位的問題定位一直是個比較棘手的問題,日常開發專案中出現了記憶體溢位的情況,針對這種情況,本次通過分析dump檔案,快速定位問題,實錘Bug的源頭 步驟: 1、檢視日誌檔案 伺服器記憶體溢位報警,通過檢視日誌,初步懷疑查詢的資料過多,造成記憶體溢位。
解Bug之路——記一次JVM堆外記憶體洩露Bug的查詢
前言JVM的堆外記憶體洩露的定位一直是個比較棘手的問題。此次的Bug查詢從堆內記憶體的洩露反推出堆外記憶體,同時對實體記憶體的使用做了定量的分析,從而實錘了Bug的源頭。筆者將此Bug分析的過程寫成部落格,以饗讀者。由於實體記憶體定量分析部分用到了linux kernel虛擬
解Bug之路-記一次JVM堆外記憶體洩露Bug的查詢
# 解Bug之路-記一次JVM堆外記憶體洩露Bug的查詢 ## 前言 JVM的堆外記憶體洩露的定位一直是個比較棘手的問題。此次的Bug查詢從堆內記憶體的洩露反推出堆外記憶體,同時對實體記憶體的使用做了定量的分析,從而實錘了Bug的源頭。筆者將此Bug分析的過程寫成部落格,以饗讀者。 由於實體記憶體定量分
記一次生產的bug
{} 測試 led 過程 生產 日期 代碼上線 返回 隱藏 第一個在代碼中使用 new SimpleDateFormat("EEEE")來判斷周幾。在本地測試過程中通過日誌打印出來的周幾 比如周日對應的是中文漢字“星期日”,然後使用判斷 if("星期日".equals(
記一次偽*sql查詢結果不一致的
vid eight frame and sna parameter -exec video http 調試代碼發現,兩個操作最後都會調用同一個方法。傳入的參數一致,查詢結果卻不一致。 直接說問題原因:我的兩個操作是aop環繞通知先拿到傳入參數以後,校驗是否需要往另一張表中插
記一次網頁超時登錄的Bug
首頁 size blog 登錄 style 評價 員工 bsp 返回 前幾天,在做全公司的員工測評工作,在一個頁面彈出導入頁面,並導入所有評價記錄,然後關閉掉這個導入頁面,最後返回當前頁面,返回時刷新當前頁面。 在返回的時候,就出現了“頁面超時登錄”
記一次使用mybatis進行like 模糊查詢遇到的問題
bat 通過 模糊查詢 date 但是 AR 通配符 問題 解決辦法 "bdate like ‘#{date}%‘ and ..." 最開始這樣寫的· 將傳入的參數和%用單引號包起來,但是這會報錯 java.sql.SQLException: Parameter in
Yii2:記一次尷尬的bug
警告 use 一次 .com eight TP ger 怎麽 ted 創建一個文章模塊,寫完添加動作之後,分配到視圖,發現報錯: Exception (Not Supported) ‘yii\base\NotSupportedException‘ with messag
記一次解決layui 的bug - layer.open 與 layui渲染問題
style template con 一個表 one play display 方法 hid 場景是這樣的,通過layer打開一個彈窗,裏面放置一個表單,表單是用layui來渲染的。 當彈窗完成之後,我需要渲染表單中的一些內容、譬如laydate。 layer.open(
記一次MySQL遷移並從MySQL5.6升級到5.7後查詢慢了幾十倍的問題
打印 ins 狀態 sql語句 top 引用 為什麽 區別 image 起因 因為生產環境數據量越來越大,客戶越來越多,項目功能也越來越多,項目本身也越來越多,導致之前的服務器內存、硬盤都已經漸漸的不夠用了,當時出現了2種解決方案,增加服務器配置和新購服務器,但是就算是新增
【BUG記錄】記一次遊戲越來越卡的BUG
U3D的MOBA專案,測試過程中,10分鐘以後,遊戲幀率開始緩慢下降,約3-5分鐘後,由60幀下降到小於10幀,編輯器模式。 開啟profiler,看到CPU佔用非常高,每幀都有24K的GC, 時間佔用曲線上看是script大量佔用CPU時間。 第一印象,應該是洩漏造成的。定位辦法,profil
記一次SQLSERVER2008R2資料庫查詢超時問題處理
資料庫環境: WINDOWS2008R2 SQLSERVER2008R2 應用程式環境: REDHAT6.5 TOMCAT JAVA 一、故障現象 某系統應用查詢超時 相關SQL: SELECT v.OBarcode Ba