IRC meeting summary for 2017-03-30
概覽
註記 / 短議題
- BlueMatt 注意到上週被封鎖和需要審查的 PR 中 6 個有 2 個被合併,可以做得更好。Wumpus 為會議中提到具有優先級的 PR 創建了一個高優先級審查 github 專案頁面。
- 已有 11 個合併標記為 0.14.1 和 3 個開放的 PR。一旦這些進入,0.14.1 應該就可以發布了。
主要議題
- 緩慢的單元測試
- 處理 abortnode / ConnectTip / DisconnectTip 失敗
- 高優先級審查
緩慢的單元測試
背景
Bitcoin Core 提供了一個 makefile 目標 check 來執行專案的單元測試。該專案隨著時間推移編寫了越來越多通過 RPC 介面執行的整合測試,這些測試由 Travis 持續整合(CI)伺服器自動執行,該伺服器測試每個 Bitcoin Core pull request,可以通過執行 qa/pull-tester/rpc-tests.py 手動執行
如先前在 2017-03-16 會議中討論的,這些測試作為整體目前可能需要太長時間。
會議意見
Wumpus 製作了一個最慢單元測試的概覽。其中一些已經被處理或有 PR 使它們更快。
我們也可以為單元測試引入一個 -extended 模式,它會進行額外徹底的測試,不應該每次都執行。擴展模式應該是發布程序的一部分(並由 gitian 執行)和/或在 master 上每天執行一次。
Jonasschnelli 有一個具有良好網頁 UI 的建置伺服器,每天在 https://bitcoin.jonasschnelli.ch/ 進行 gitian 建置。
Jnewbery 注意到 Travis CI 服務目前失敗,因為我們將其設定為每天執行一次擴展測試,所以我們正在清除所有一直在 Travis 上失敗的擴展測試。一旦 PR #10114 和 #10072 被合併,這些每日執行應該會通過 Travis。
會議結論
- 對於標準
make check,每個測試案例的準則是最多約 1 秒,對於具有更廣泛測試的單元測試有一個擴展模式。
處理 abortnode / ConnectTip / DisconnectTip 失敗
背景
Sdaftuar 有一個開放的 PR(#9208),它改進了鏈重組後的效能,其中節點發現一個新的最長有效鏈,排除了先前被認為是最長有效鏈的區塊(將被孤立)。目前我們試圖將每個孤立區塊的交易加回到記憶池,即使這些交易中的許多可能會在新發現的區塊中重新出現。#9208 將這些交易儲存在單獨的「斷開連接池」中以供稍後處理。
會議意見
BlueMatt 提出了當 ConnectTip 或 DisconnectTip 回傳 false 時的一些邊緣情況,我們現在 assert() 而不是 AbortNode()。對於何時使用 AbortNode() 以及何時使用 Abort()/assert(),以及通知使用者發生錯誤的最佳方式,進行了一些更廣泛的討論。AbortNode() 允許我們以訊息退出以通知使用者,所以理想情況下只有關鍵錯誤才應導致 Abort()/Assert()。
會議結論
- 將 AbortNode() 重新命名為 ShutdownSoon(),並確保磁碟損壞使用不同的東西。
高優先級審查
所有標記為 0.14.1 的 PR 應該有優先級
Sipa 補充說,他希望看到 #9792(FastRandomContext 改進和切換到 ChaCha20)在某個時候進入,以進一步移除對 OpenSSL 的依賴。
Gmaxwell 提議重新開啟他的 PR #9424,它將記錄類別更改為布林旗標而不是字串。這將使像 #10123 這樣的 PR 更容易使用,它允許你從除錯記錄中排除某些元件。Cfields 補充說,他想為網路訊息做類似的事情。
幽默時刻
wumpus if BlueMatt can make it work faster that's great, but don't silently kill the program on every error
gmaxwell wumpus: how about every other error?
9:48 BlueMatt so maybe the solution is AbortNode gets renamed to ShutdownSoon() and use make sure disk corruption is something different?
...
9:53 BlueMatt <BlueMatt> so maybe the solution is AbortNode gets renamed to ShutdownSoon() and use make sure disk corruption is something different?
...
9:57 BlueMatt ok, soooo, acks on:<BlueMatt> <BlueMatt> so maybe the solution is AbortNode gets renamed to ShutdownSoon() and use make sure disk corruption is something different?
9:58 jeremyrubin BlueMatt: maybe if you paste it again
9:58 BlueMatt jeremyrubin: ok, <BlueMatt> ok, soooo, acks on:<BlueMatt> <BlueMatt> so maybe the solution is AbortNode gets renamed to ShutdownSoon() and use make sure disk corruption is something different?
jtimon it seems it's time to abort the meeting
wumpus #endmeeting
BlueMatt wumpus: we need to change that to #abort()
gmaxwell But I wanted to cleanly flush!參與者
| IRC nick | Name/Nym |
|---|---|
| gmaxwell | Gregory Maxwell |
| wumpus | Wladimir van der Laan |
| jonasschnelli | Jonas Schnelli |
| sipa | Pieter Wuille |
| BlueMatt | Matt Corallo |
| jtimon | Jorge Timón |
| cfields | Cory Fields |
| achow101 | Andrew Chow |
| jeremyrubin | Jeremy Rubin |
| sdaftuar | Suhas Daftuar |
| MarcoFalke | Marco Falke |
| jnewbery | John Newbery |
| morcos | Alex Morcos |
| instagibbs | Gregory Sanders |
| Chris_Stewart_5 | Chris Stewart |
免責聲明
本摘要是在沒有任何討論參與者輸入的情況下編寫的,因此任何錯誤都是摘要作者的責任,而非討論參與者。
