[ https://issues.apache.org/jira/browse/THRIFT-4188?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16009339#comment-16009339 ]
Jens Geyer edited comment on THRIFT-4188 at 5/13/17 1:13 PM: ------------------------------------------------------------- I just tried to reproduce and I could. Although it's really weird: One run produces about 1400 errors (5000 calls), the next run none. The third run then 1100, and so on. Putting a print command before {{client.Ping()}} brings it down to about 300 errors, probably due to the reduced load on the connection caused by the additional print command. That makes me think that there might be some limited resource involved and some timeout at some place that maybe is a bit too agressive. Thoughts? was (Author: jensg): I just tried to reproduce and I could. Although it's really weird: One run produces about 1400 errors (5000 calls), the next run none. The third run then 1100, and so on. Putting a print command before {{client.Ping()}} brings it down to about 300 errors. Taht makes me guess that there is some limited resource involved and some timeout at some place that maybe is a bit too agressive. Thoughts? > Error while flushing write buffer of size 70 to transport, only wrote 0 > bytes: write tcp 127.0.0.1:5000->127.0.0.1:58174: write: broken pipe > -------------------------------------------------------------------------------------------------------------------------------------------- > > Key: THRIFT-4188 > URL: https://issues.apache.org/jira/browse/THRIFT-4188 > Project: Thrift > Issue Type: Bug > Components: Go - Library > Affects Versions: 0.10.0 > Reporter: brian.kang > Attachments: client.go, handler.go, main.go, main.go, server.go, > shared.thrift, tutorial.thrift > > > {code} > if *server { > if err := runServer(transportFactory, protocolFactory, *addr, > *secure); err != nil { > fmt.Println("error running server:", err) > } > } else { > done := make(chan int32) > for i := 0; i < 5000; i++ { > go func(i int) { > err, s := runClient(transportFactory, > protocolFactory, *addr, *secure, int32(i)) > if err != nil { > fmt.Println("error running client:", > err) > } > done <- s > }(i) > } > for i := 0; i < 5000; i++ { > fmt.Println(<-done) > } > } > {code} > too many errors,eg: > {code} > Error while flushing write buffer of size 17 to transport, only wrote > 02017/05/04 13:29:00 error processing request: write tcp > 127.0.0.1:9090->127.0.0.1:58932: write: broken pipe > bytes: write tcp 127.0.0.1:9090->127.0.0.1:58915: write: broken pipe > 2017/05/04 13:29:00 error processing request: write tcp > 127.0.0.1:9090->127.0.0.1:58922: write: broken pipe > Error while flushing write buffer of size 2017/05/04 13:29:00 error > processing request: write tcp 127.0.0.1:9090->127.0.0.1:58928: write: broken > pipe > 17 to transport, only wrote 0 bytes: write tcp > 127.0.0.1:9090->127.0.0.1:58923: write: broken pipe2017/05/04 13:29:00 error > processing request: write tcp 127.0.0.1:9090->127.0.0.1:58915: write: broken > pipe > Error while flushing write buffer of size 17 to transport, only wrote 0 > bytes: write tcp 127.0.0.1:9090->127.0.0.1:58930: write: broken pipe > 2017/05/04 13:29:00 error processing request: write tcp > 127.0.0.1:9090->127.0.0.1:58923: write: broken pipe > Error while flushing write buffer of size 17 to transport, only wrote 0 > bytes: write tcp 127.0.0.1:9090->127.0.0.1:58926: write: broken pipe > 2017/05/04 13:29:00 error processing request: write tcp > 127.0.0.1:9090->127.0.0.1:58930: write: broken pipe > Error while flushing write buffer of size 2017/05/04 13:29:00 error > processing request: write tcp 127.0.0.1:9090->127.0.0.1:58923: write: broken > pipe > 17 to transport, only wrote 0 bytes: write tcp > 127.0.0.1:9090->127.0.0.1:58920: write: broken pipe > 2017/05/04 13:29:00 error processing request: write tcp > 127.0.0.1:9090->127.0.0.1:58932: write: broken pipe > 2017/05/04 13:29:00 error processing request: write tcp > 127.0.0.1:9090->127.0.0.1:58930: write: broken pipe > Error while flushing write buffer of size 17 to transport, only wrote > 2017/05/04 13:29:00 error processing request: write tcp > 127.0.0.1:9090->127.0.0.1:58926: write: broken pipe > 0 bytes: write tcp 127.0.0.1:9090->127.0.0.1:58912: write: broken pipe > Error while flushing write buffer of size 172017/05/04 13:29:00 error > processing request: write tcp 127.0.0.1:9090->127.0.0.1:58912: write: broken > pipe > to transport, only wrote 0 bytes: write tcp 127.0.0.1:9090->127.0.0.1:58918: > write: broken pipe > 2017/05/04 13:29:00 error processing request: write tcp > 127.0.0.1:9090->127.0.0.1:58918: write: broken pipe > 2017/05/04 13:29:00 error processing request: write tcp > 127.0.0.1:9090->127.0.0.1:58920: write: broken pipe > 2017/05/04 13:29:00 error processing request: write tcp > 127.0.0.1:9090->127.0.0.1:58920: write: broken pipe > 2017/05/04 13:29:00 error processing request: write tcp > 127.0.0.1:9090->127.0.0.1:58915: write: broken pipe > 2017/05/04 13:29:00 error processing request: write tcp > 127.0.0.1:9090->127.0.0.1:58912: write: broken pipe > 2017/05/04 13:29:00 error processing request: write tcp > 127.0.0.1:9090->127.0.0.1:58918: write: broken pipe > 2017/05/04 13:29:00 error processing request: write tcp > 127.0.0.1:9090->127.0.0.1:58926: write: broken pipe > {code} -- This message was sent by Atlassian JIRA (v6.3.15#6346)