Open yehaotong opened 2 years ago
The request is incomplete. the client closing the connection caused the eof (end-of-file) to be syslogged (At the same time, the connection timeout occurred in the program at the same time
)
The fact that the length was exactly 4096 may or may not be related - the client might have fwrite()
to send the first 4096 bytes, but not sent the remaining bytes to twemproxy. What client was used?
if (conn->eof) {
msg = conn->rmsg;
/* client sent eof before sending the entire request */
if (msg != NULL) {
conn->rmsg = NULL;
ASSERT(msg->peer == NULL);
ASSERT(msg->request && !msg->done);
log_error("eof c %d discarding incomplete req %"PRIu64" len "
"%"PRIu32"", conn->sd, msg->id, msg->mlen);
req_put(msg);
}
Programming language of this application is golang, we use an open lib on github for connecting to twemproxy, and the backend is memcached.
the open lib like is : "github.com/bradfitz/gomemcache/memcache"
Hello, twemprodxy reported some error logs: NC request. c: 417 EOF C 249 discarding incomplete req 33270941169 len 4096, but I didn't understand what the error was, and then the error was reported. At the same time, the connection timeout occurred in the program at the same time, and the error occurred in the twoproxy at the same time The connection also fluctuates, so I want to find out where the problem is with the twoproxy.