簡體   English   中英

JTA事務超時故障排除

[英]JTA Transaction Timeout Troubleshooting

設定:

  • Oracle 12數據庫
  • JBoss EAP7
  • 在JBoss上運行的Web服務,插入數據庫
  • 一個小時內從多個線程中批處理程序調用Web服務大約130.000次

問題:

2018-04-26 18:20:44,675 +0200 [WARN] [com.arjuna.ats.arjuna](事務收割機)ARJUNA012117:TransactionReaper ::檢查TX超時0:ffffac110923:-4c44ed1d:5ac9329e:6866ea處於運行狀態

2018-04-26 18:20:44,675 +0200 [WARN] [com.arjuna.ats.arjuna](Transaction Reaper Worker 0)ARJUNA012095:中止動作ID 0:ffffac110923:-4c44ed1d:5ac9329e:6866ea在多個線程被調用時活躍在其中。

2018-04-26 18:20:44,679 +0200 [WARN] [com.arjuna.ats.arjuna](事務收割者0)ARJUNA012381:操作ID 0:ffffac110923:-4c44ed1d:5ac9329e:6866ea已完成多線程處理-線程默認任務48正在使用xxx.BaseEntity.getNextValue(BaseEntity.java:28)

這通常是在生產環境中承受高負載的情況下發生的,而不是在處理較少的記錄時發生,也並非在負載完全相同的相同測試環境中發生。

最后一行顯示此事務超時(300s)在從序列中獲取下一個值時發生:

CREATE SEQUENCE "XXX_S"  MINVALUE xxx MAXVALUE xxx INCREMENT BY 1 START WITH xxx CACHE 2 NOORDER  NOCYCLE  NOPARTITION ;

我知道Oracle需要鎖定/解鎖序列以使其保持一致,因此我的並行Web服務調用必須以某種方式陷入死鎖或大量爭用,從而導致超時。

我如何找到這個問題的根源? 我可以嘗試操縱哪些參數?

問題已經解決,盡管非常令人不滿意。 我們刪除了並行性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM