Use the same SWServer for all ephemeral sessions. SWServers never go away and we create one per sessionID. When browsing doing private browsing in Safari (and other fetching favorite icons), the sessionID is ephemeral and keeps changing. This means that we kept constructing new SWServers that would never go away. Each SWServer has a thread so we would eventually hit the thread limit for the storage process.
<rdar://problem/36873075>
Created attachment 336319 [details] Patch
Comment on attachment 336319 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=336319&action=review Not going to r-, but I do have one nit > Source/WebKit/StorageProcess/StorageProcess.cpp:438 > + // Use the same SWServer for all ephemeral sessions. > + if (sessionID.isEphemeral()) > + sessionID = PAL::SessionID::legacyPrivateSessionID(); We eventually want legacyPrivateSessionID() to go away. So it would be nicer if we had some sort of shared "global ephemeral SWServer session ID" But we can also do that later when we get rid of the legacy one.
Comment on attachment 336319 [details] Patch Clearing flags on attachment: 336319 Committed r229872: <https://trac.webkit.org/changeset/229872>
All reviewed patches have been landed. Closing bug.