[
https://issues.apache.org/jira/browse/MESOS-3820?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Joseph Wu updated MESOS-3820:
-----------------------------
Comment: was deleted
(was: Two patches from some of my initial investigation into the
{{process::finalize}} approach:
* Remove some stale comments: https://reviews.apache.org/r/39948/
* Update to {{process::initialize}} synchronization code:
https://reviews.apache.org/r/39949/)
> Refactor libprocess initialization to allow for test-only reinitialization of
> the server socket
> -----------------------------------------------------------------------------------------------
>
> Key: MESOS-3820
> URL: https://issues.apache.org/jira/browse/MESOS-3820
> Project: Mesos
> Issue Type: Story
> Components: libprocess, test
> Reporter: Joseph Wu
> Assignee: Joseph Wu
> Labels: mesosphere
>
> *Background*
> Libprocess initialization includes the spawning of a variety of global
> processes and the creation of the server socket which listens for incoming
> requests. Some properties of the server socket are configured via
> environment variables, such as the IP and port or the SSL configuration.
> In the case of tests, libprocess is initialized once per test binary. This
> means that testing different configurations (SSL in particular) is cumbersome
> as a separate process would be needed for every test case.
> *Proposal* (Still under investigation)
> # Investigate using {{process::finalize}} to completely clean up libprocess.
> See [MESOS-3863].
> # Add a test-only {{process::reinitialize}} function, which should be roughly
> equivalent to a first-time run of {{process::initialize}}.
> -*Proposal to swap out server socket*- (Does not work)
> # Follow the [example of the SSL
> library|https://github.com/apache/mesos/blob/master/3rdparty/libprocess/src/openssl.cpp#L280]
> and allow tests to declare an internal function for re-initializing a
> portion of libprocess.
> # Move the [existing creation of the server
> socket|https://github.com/apache/mesos/blob/master/3rdparty/libprocess/src/process.cpp#L852-L856]
> into a {{reinitialize_server_socket}} function.
> # Add any necessary cleanup for swapping server sockets.
> # Consider whether any additional locking is required in the
> {{reinitialize_server_socket}} function.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)