Closed Bug 1603941 Opened 6 years ago Closed 6 years ago

Use a single channel for each tree of replaying processes

Categories

(Core Graveyard :: Web Replay, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1606447

People

(Reporter: bhackett1024, Assigned: bhackett1024)

References

Details

Attachments

(1 obsolete file)

After bug 1597149, when a replaying process forks the middleman has to establish a separate communication channel with the forked process. This works fine locally but doesn't seem like a good plan as we move further along with cloud integration --- there could be hundreds of forked processes which a middleman might need to communicate with, and establishing separate channels requires lots of system resources in the middleman, which will be slow to perform, tricky to clean up properly, and might bump into OS limits on the number of file descriptors the middleman process can open at once.

It would be better for the middleman if it only had one communication channel with each replaying process it directly spawns, either locally or remotely in the cloud. That channel will be used to communicate that replaying process and all other replaying processes which it has transitively forked. Those root replaying processes will have some extra complexity as they need to act like a multiplexer/demultiplexer in dispatching messages between the middleman and forked processes, but this fits in well with other needs for mutable state that must be shared between the forked processes, like the recording contents.

Blocks: 1603945
Attachment #9116009 - Attachment is obsolete: true
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → DUPLICATE
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: