[SERVER-71849] Named Pipes: Extend reader retry loop from 1 sec to 30 sec Created: 05/Dec/22  Updated: 29/Oct/23  Resolved: 06/Dec/22

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 6.3.0-rc0

Type: Bug Priority: Major - P3
Reporter: Kevin Cherkauer Assignee: Kevin Cherkauer
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Duplicate
is duplicated by SERVER-78155 Test the mongos fsync with lock and f... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Participants:
Linked BF Score: 20

 Description   

Second fix attempt for BF-26979.

Extending the named pipe reader retry loop to 30 seconds, using appropriate backoff on how fast they retry after the first one second, so they don't spin like crazy on a system that is already overloaded. (Retry is currently done every 1 msec for up to 1,000 times, then it gives up. We want these to be dense during the first second as in production the waits add to the query latency, and the pipe is in the process of being created so should show up very quickly.)

The retry loops are in the NamedPipeInput::doOpen() methods of named_pipe_posix.cpp and named_pipe_posix.cpp.

The InputStream() constructor in input_stream.h also needs to add more detail to the error message here:

https://github.com/mongodb/mongo/blob/e717ef6798aad3e6ec65bee84921fc3961db4426/src/mongo/db/storage/input_stream.h#L62

 

FYI arun.banala@mongodb.com yoonsoo.kim@mongodb.com 



 Comments   
Comment by Githook User [ 06/Dec/22 ]

Author:

{'name': 'Kevin Cherkauer', 'email': 'kevin.cherkauer@mongodb.com', 'username': 'kevin-cherkauer'}

Message: SERVER-71849 Named Pipes BF-26979 second fix: extend reader retry loop
Branch: master
https://github.com/mongodb/mongo/commit/71159ae33fe152fdc47bfae128d27888ef4d7499

Generated at Thu Feb 08 06:20:07 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.