Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DM-41291: Migrate the Qserv control plane protocol to HTTP #822

Merged
merged 16 commits into from
Dec 7, 2023

Conversation

iagaponenko
Copy link
Contributor

No description provided.

@iagaponenko iagaponenko force-pushed the tickets/DM-41291 branch 4 times, most recently from 55a1b2b to 0230c64 Compare November 30, 2023 06:24
src/global/stringUtil.h Outdated Show resolved Hide resolved
src/http/AsyncReq.h Outdated Show resolved Hide resolved
Copy link
Contributor

@jgates108 jgates108 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, only minor comments. I don't fully understand what happens when there are failures during communication, or the intricacies of the communications, but everything looks reasonable and the changes look like improvements to me.

src/http/AsyncReq.h Outdated Show resolved Hide resolved
src/http/AsyncReq.h Outdated Show resolved Hide resolved
src/http/AsyncReq.h Outdated Show resolved Hide resolved
src/http/AsyncReq.h Outdated Show resolved Hide resolved
src/http/MetaModule.h Outdated Show resolved Hide resolved
src/replica/QservMgtServices.cc Outdated Show resolved Hide resolved
src/xrdsvc/HttpReplicaMgtModule.cc Show resolved Hide resolved
src/xrdsvc/HttpMonitorModule.cc Show resolved Hide resolved
src/xrdsvc/SsiService.cc Outdated Show resolved Hide resolved
src/xrdsvc/SsiService.cc Outdated Show resolved Hide resolved
The function is missing in the C++ Standard Library.
A new set of parameters includes those needed for registering
workers in the Replication System's Registry as well as
parameters of the management service itself.
Added REST services dedicated to Qserv workers.
The new API allows a client to wait for completion of a request.
This would only block a client thread from which the request completion
operation is called. This doesn't affect request processing that will
still be one in the asynchronous mode.
The change reduces code duplication in implementations of
the HTTP services outside the Replication Sytem's codebase.
The server is meant to process management and monitoring requests
sent by the Replication Controller and relevant applications.
Refactored worker XROOTD/SSI resource monitoring by moving class
from to module wpublish to wcontrol. An object of the class is now
owned by class Foreman which is AKA "service provider" for
the Qserv worker.

Shifted the chunk inventory collection from SsiService into Foreman
for better and more convenient dependency management. The second
reason of the change was to prepare ground for implementing
HTTP-based worker management services.
The extended API has an option for dynamic updates of the connection parameters
for the remote Web server. This allows tracking changes in a location
of the server as needed by an application context.

Refactored and extended the unit test for AsyncReq.
Extended worker descriptor to include parameteres of the Qserv
worker management service.
The new design of the Qserv managememt control plain now relies upon
the HTTP protocol to communicate with workers.
The new version has a better layout. It also shows more information,
including IP addresses of service hosts and parameters of the HTTP-based
Qserv worker management services.
@iagaponenko iagaponenko merged commit cf333ec into main Dec 7, 2023
14 of 15 checks passed
@iagaponenko iagaponenko deleted the tickets/DM-41291 branch December 7, 2023 01:14
@iagaponenko iagaponenko changed the title Tickets/dm 41291 DM-41291: Migrate the Qserv control plane protocol to HTTP Dec 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants