TPE Necko/Projects/Socket Process Isolation

From MozillaWiki
Jump to navigation Jump to search

Team members

EM: Shian-Yow Wu

Tech Lead: Shih-Chiang Chien

Implementation Team:

  • Cervantes Yu
  • Kershaw Chang
  • Shih-Chiang Chien

Status

Socket Process project status.png

Roadmap

Milestone Task Estimate Time in Weeks Actual Time in Weeks
M0 Evaluation & Prototyping 6
M1 Socket process basic implementation 7
M2 HTTP/HTTPS adaption 8
M3 Telemetry for HTTP/HTTPS adaption 8
M4 Bugfix on Nightly 63 & Shell study on Beta 62 8

Scope

  • M0 - Evaluation & Prototyping
    • Prototyping with UDPSocket
    • Performance study on the additional process
    • Architecture design for HTTP/HTTPS adaption
  • M1 - Firefox60 Nightly
    • Prepare and land socket process behind a pref, default off
    • Prepare and land telemetry for the socket process shield study
  • M2 - Firefox61 Nightly
    • Shield study on the socket process overhead on Beta 60
    • Prepare and land HTTP/HTTPS modification behind a pref
    • Default enable socket process on Nightly 61
  • M3 - Firefox62 Nightly
    • Continue landing HTTP/HTTPS modification and bugfix
    • Prepare and land telemetry for the HTTP/HTTPS shield study
  • M4 - Firefox63 Nightly
    • Shield study on the performance of the new HTTP/HTTPS architecture on Beta 62
    • Default enable new HTTP/HTTPS architecture on Nightly 63

Evaluation

Sandboxing TCP/UDP socket in a separate process

Risk & Mitigation plan

Socket process isolation will be landed behind a pref, therefore:

  • Shield study will be employed on a proportion of Firefox users before to gather performance/stability data without affecting all users at once.
  • Go Faster add-on can be used to disable the feature on designated channel immediately when major regression happen after default on.

Project Dashboard

Meta Bugs

Bugzilla query error

Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 429 [1] => Unknown Error ) ) 1


M1 bugs

Bugzilla query error

Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 429 [1] => Unknown Error ) ) 1