背景該服務是一個簡單的 Go 程序,它將文件從 Cloud Storage 傳輸到瀏覽器。在我的 Macbook 上一切正常,但在 Cloud-Run(托管)上無法滿足某些請求。大多是大型 mp4 文件。問題日志僅顯示500狀態,瀏覽器也是如此。但我的服務除了開始復制文件之外不記錄任何內容。沒有 IO 錯誤或任何錯誤。此消息在狀態之前 4 秒顯示500:Container Sandbox Limitation: Unsupported syscall membarrier(0x10,0x0,0x0,0x8,0x775dce0b030,0x775dce0b000). Please, refer to https://gvisor.dev/c/linux/amd64/membarrier for more information.我無法在本地重現此內容。使用相同的配置和 GCP 存儲桶在本地運行良好。該服務在 Cloud-Run 上運行良好,處理較小的文件(例如圖像)。只是不是我嘗試過的視頻。我試過了將所有內容記錄到io.Copy. 沒有錯誤,調用后掛起io.Copy。增加容器的內存?,F在已經運行1G了。與 512M 沒有變化。使用相同的配置、相同的憑據在本地 Docker 容器中運行。沒問題。在 Twitter 上聯系 GCP更新2019-08-16我創建了一個非常簡單的服務,將“A”打印到 http 響應編寫器。它在本地也能完美運行,但在云運行時返回 500 且尺寸較大。1MB OK、5MB OK、50 MB 失敗、100MB 失敗等。此服務運行時沒有 membarrier 消息。代碼可在此處獲取:https ://github.com/andrioid/reproduct-cloud-run-bug也在問題跟蹤器上報告:https ://issuetracker.google.com/issues/139511257更新 2:可能的原因響應大小似乎有 32MB 的硬性限制。https://cloud.google.com/run/quotas非常令人失望的是,這個值無法增加,并且錯誤沒有提到這個限制,日志文件也沒有提到。
- 0 回答
- 0 關注
- 157 瀏覽
添加回答
舉報
0/150
提交
取消