开发者社区> 问答> 正文

go thrift报错问题--WriteStructEnd

go thrift开发过程中,多个goroutine共用一个client时,报错:

panic: runtime error: index out of range

goroutine 24 [running]: happy-apple/vendor/git.apache.org/thrift.git/lib/go/thrift.(*TCompactProtocol).WriteStructEnd(0xc4201086e0, 0x0, 0x0) /home/admin/workspace/src/happy-apple/vendor/git.apache.org/thrift.git/lib/go/thrift/compact_protocol.go:160 +0x66 happy-apple/protocol/falconeye.(*TAppleMetric).Write(0xc420112090, 0x787020, 0xc4201086e0, 0x0, 0x0) /home/admin/workspace/src/happy-apple/protocol/falconeye/common.go:1714 +0xb9 happy-apple/protocol/falconeye.(*ReportPutMetricDataArgs).writeField1(0xc4200f85a0, 0x787020, 0xc4201086e0, 0x0, 0x0) /home/admin/workspace/src/happy-apple/protocol/falconeye/report.go:308 +0x123 happy-apple/protocol/falconeye.(*ReportPutMetricDataArgs).Write(0xc4200f85a0, 0x787020, 0xc4201086e0, 0x200000001, 0x0) /home/admin/workspace/src/happy-apple/protocol/falconeye/report.go:292 +0x195 happy-apple/protocol/falconeye.(*ReportClient).sendPutMetricData(0xc420094320, 0xc4200aa040, 0x1, 0x1, 0x1, 0xc420112090) /home/admin/workspace/src/happy-apple/protocol/falconeye/report.go:70 +0xe9 happy-apple/protocol/falconeye.(*ReportClient).PutMetricData(0xc420094320, 0xc4200aa040, 0x1, 0x1, 0x1, 0xc4200aa040, 0x0) /home/admin/workspace/src/happy-apple/protocol/falconeye/report.go:53 +0x4d main.TestSendData(0xc420094320, 0x0, 0x0) /home/admin/workspace/src/happy-apple/protocol/falconeye/report-remote/qps_client.go:116 +0x2c9 main.sendTask(0xc420094320) /home/admin/workspace/src/happy-apple/protocol/falconeye/report-remote/qps_client.go:71 +0x2b created by main.main /home/admin/workspace/src/happy-apple/protocol/falconeye/report-remote/qps_client.go:47 +0x17b

展开
收起
游客637ejrk3sfvko 2021-10-21 10:36:57 712 0
1 条回答
写回答
取消 提交回答
  • 使用的lib是git.apache.org/thrift.git/lib/go

    原因及解决办法: 一个thrift client 不支持多个协程routine同时使用. 可创建多个client,每个协程routine一个client

    2021-10-21 10:37:19
    赞同 展开评论 打赏
问答分类:
Go
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Go语言路上踩过的坑 立即下载
gohbase :HBase go客户端 立即下载
Go构建日请求千亿级微服务实践 立即下载