GRPC::ResourceExhausted: 8:Received message larger than max (4399180 vs. 4194304).
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 25/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- grpc, ruby
- 领域
- api, blockchain
调研方向
失败的调用是报告的 client.rb 第 68 行中的 get_transaction_result_by_id,使用的是 Flow::Access protobuf Stub。首先追踪该 Stub 的 Ruby grpc 通道配置,以及 issue 中链接的 protobuf 定义。完成标准是:在不出现 GRPC::ResourceExhausted 的情况下获取超大的交易结果,并仍将其解析为 TransactionResult。
由索引模型根据 Issue 内容生成。
描述
Hi guys,
I'm using your protobuf source files, but I have a problem with received message when I'm trying to get transaction result.
Steps to Reproduce
Backtrace of error.
Caused by:
GRPC::ResourceExhausted: 8:Received message larger than max (9259070 vs. 4194304). debug_error_string:{"created":"@1641864948.226107284","description":"Received message larger than max (9259070 vs. 4194304)","file":"src/core/ext/filters/message_size/message_size_filter.cc","file_line":205,"grpc_status":8}
/var/www/etl/shared/bundle/ruby/2.6.0/gems/grpc-1.42.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:29:in `check_status'
/var/www/etl/shared/bundle/ruby/2.6.0/gems/grpc-1.42.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:180:in `attach_status_results_and_complete_call'
/var/www/etl/shared/bundle/ruby/2.6.0/gems/grpc-1.42.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:376:in `request_response'
/var/www/etl/shared/bundle/ruby/2.6.0/gems/grpc-1.42.0-x86_64-linux/src/ruby/lib/grpc/generic/client_stub.rb:180:in `block in request_response'
/var/www/etl/shared/bundle/ruby/2.6.0/gems/grpc-1.42.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptors.rb:170:in `intercept!'
/var/www/etl/shared/bundle/ruby/2.6.0/gems/grpc-1.42.0-x86_64-linux/src/ruby/lib/grpc/generic/client_stub.rb:179:in `request_response'
/var/www/etl/shared/bundle/ruby/2.6.0/gems/grpc-1.42.0-x86_64-linux/src/ruby/lib/grpc/generic/service.rb:171:in `block (3 levels) in rpc_stub_class'
/var/www/etl/releases/20220109122655/lib/etl/flow_blockchain/flow_client/client.rb:68:in `get_transaction_result_by_id'
Code:
class Client
def initialize(node_address)
@stub = Flow::Access::AccessAPI::Stub.new(node_address, :this_channel_is_insecure)
end
# Returns the execution result of a transaction.
# @param [String] id
# @return [FlowClient::TransactionResult] the transaction result
def get_transaction_result_by_id(id)
req = Flow::Access::GetTransactionRequest.new(id: to_bytes(id))
begin
res = @stub.get_transaction_result(req)
rescue GRPC::BadStatus => e
raise StandardError, e.details
else
TransactionResult.parse_grpc(res)
end
end
end
How can I increase the maximum available received message length?
Thank you in advance!
- 主要语言
- Go
- 星标
- 361
- 派生
- 159
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
onflow/flow 的其他 Issue
-
难度 5/5 一周以上 新手友好度 25/100
-
bug Feedback
难度 4/5 3-5 天 新手友好度 35/100
-
Feature Feedback
难度 5/5 一周以上 新手友好度 25/100
-
bug Feedback
难度 4/5 3-5 天 新手友好度 25/100
-
Spock aggregation可能重新可做 @tarakby 于 735 天前认领,目前没有进行中的 PR。 未关闭
相似的 Issue
-
难度 1/5 1 小时以内 新手友好度 82/100
维护者通常 1 天内回复
-
enhancement pkg:sdk
难度 2/5 1-3 小时 新手友好度 80/100
aws/aws-durable-execution-sdk-go#144 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
cloudflare/cloudflared#1761 ·
-
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复