[SERVER-6188] Terminate disconnected operations (on socket death) Created: 23/Jun/12  Updated: 25/Mar/19  Resolved: 25/Mar/19

Status: Closed
Project: Core Server
Component/s: Networking, Querying
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Eliot Horowitz (Inactive) Assignee: Mira Carey
Resolution: Duplicate Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates SERVER-39150 markKillOnClientDisconnect Closed
Sprint: Service Arch 2019-04-08
Participants:

 Description   

Should hook into KillCurrentOp



 Comments   
Comment by Mira Carey [ 25/Mar/19 ]

This ticket was resolved as part of PM-1279 and causes operations that do not mutate server side state to early terminate on socket disconnection

Comment by Scott Hernandez (Inactive) [ 17/Feb/16 ]

One option for doing this is:

  1. check for dead sockets via polling for invalid socket file handles
    • poll on all socket file handles for health
  2. get CurOp by dead socket address and kill (mark isKilled:true) where appropriate
Comment by Eliot Horowitz (Inactive) [ 23/Jun/12 ]

Easiest cases are simple queries and getmore

Comment by Eliot Horowitz (Inactive) [ 23/Jun/12 ]

@Eric - yes
Lots of edge cases:

  • map/reduce
    • inline: can abort
    • to a named collection: cannot abort
  • commands that write things cannot abort
  • commands like count can

etc...

Comment by Eric Milkie [ 23/Jun/12 ]

Do you mean when the server sees a socket closed by peer, kill the read op associated with it?

Generated at Thu Feb 08 03:10:59 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.