[ 
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)

Reply via email to