作者:陳厚強
背景
新搭建tidb叢集,導入資料時遇到報錯: ERROR 8004 (HY000): Transaction is too large, size: 104857651,需要修改參數txn-total-size-limit;但通過tiup edit-config修改參數,并reload tidb成功後,參數依舊沒生效。
遇到的問題
1、使用tiup修改參數如下:

2、reload tidb節點,顯示success
3、檢視參數修改未生效
4、檢視tidb.log啟動日志,txn-total-size-limit參數還是初始值
分析問題
1、檢查tidb節點的conf目錄下的檔案
通過檢查<tidb_deploy>/conf下的tidb.toml檔案,發現參數是修改後的,說明tiup将修改的參數傳給tidb節點了。
2、檢查tidb.log日志
檢查tidb.log日志,發現tidb并未重新開機,是以修改後的參數沒有生效。
3、手動關閉tidb節點
使用tiup cluster stop titest -R tidb指令關閉資料庫,發現資料庫并未關閉。
4、檢查拓撲檔案tiup.yaml
通過檢查拓撲檔案,發現user: tidb跟tiup的安裝使用者不是同一個使用者,tiup安裝使用者為root,拓撲檔案中配置的是tidb,導緻tiup無法關閉tidb節點。
總結
tiup修改參數成功,但reload并未生效的原因是:tiup的安裝使用者跟拓撲檔案中user: tidb不是同一個使用者,導緻tiup無法關閉tidb節點。将tiup的安裝使用者跟拓撲檔案中user: tidb保持一緻後,tiup參數修改成功,并且reload完成後,參數生效,此問題得以解決。