scality / Arsenal

Common utilities for the open-source Scality S3 project components
Apache License 2.0
15 stars 19 forks source link

ARSN-401: Add PRIMARY communication in cluster RPC #2226

Closed BourgoisMickael closed 8 months ago

BourgoisMickael commented 9 months ago

Adds:

This is used by scuba https://github.com/scality/scuba/pull/79

bert-e commented 9 months ago

Hello bourgoismickael,

My role is to assist you with the merge of this pull request. Please type @bert-e help to get information on this process, or consult the user documentation.

Status report is not available.

bert-e commented 9 months ago

Request integration branches

Waiting for integration branch creation to be requested by the user.

To request integration branches, please comment on this pull request with the following command:

/create_integration_branches

Alternatively, the /approve and /create_pull_requests commands will automatically create the integration branches.

BourgoisMickael commented 9 months ago

/create_integration_branches

bert-e commented 9 months ago

Integration data created

I have created the integration data for the additional destination branches.

The following branches will NOT be impacted:

You can set option create_pull_requests if you need me to create integration pull requests in addition to integration branches, with:

@bert-e create_pull_requests

The following options are set: create_integration_branches

bert-e commented 9 months ago

Waiting for approval

The following approvals are needed before I can proceed with the merge:

The following options are set: create_integration_branches

bert-e commented 9 months ago

Waiting for approval

The following approvals are needed before I can proceed with the merge:

The following options are set: create_integration_branches

bert-e commented 8 months ago

Incorrect fix version

The Fix Version/s in issue ARSN-401 contains:

Considering where you are trying to merge, I ignored possible hotfix versions and I expected to find:

Please check the Fix Version/s of ARSN-401, or the target branch of this pull request.

The following options are set: create_integration_branches

bert-e commented 8 months ago

Conflict

There is a conflict between your branch improvement/ARSN-401-cluster-rpc-primary and the destination branch development/7.70.

Please resolve the conflict on the feature branch (improvement/ARSN-401-cluster-rpc-primary).

git fetch && \
git checkout origin/improvement/ARSN-401-cluster-rpc-primary && \
git merge origin/development/7.70

Resolve merge conflicts and commit

git push origin HEAD:improvement/ARSN-401-cluster-rpc-primary

The following options are set: create_integration_branches

bert-e commented 8 months ago

Conflict

A conflict has been raised during the update of integration branch w/8.1/improvement/ARSN-401-cluster-rpc-primary with contents from improvement/ARSN-401-cluster-rpc-primary and development/8.1.

Please resolve the conflict on the integration branch (w/8.1/improvement/ARSN-401-cluster-rpc-primary).

Here are the steps to resolve this conflict:

 $ git fetch
 $ git checkout w/8.1/improvement/ARSN-401-cluster-rpc-primary
 $ git pull  # or "git reset --hard origin/w/8.1/improvement/ARSN-401-cluster-rpc-primary"
 $ git merge origin/development/8.1
 $ # <intense conflict resolution>
 $ git commit
 $ git merge origin/improvement/ARSN-401-cluster-rpc-primary
 $ # <intense conflict resolution>
 $ git commit
 $ git push -u origin w/8.1/improvement/ARSN-401-cluster-rpc-primary

The following options are set: create_integration_branches

bert-e commented 8 months ago

Waiting for approval

The following approvals are needed before I can proceed with the merge:

The following options are set: create_integration_branches

BourgoisMickael commented 8 months ago

/approve

bert-e commented 8 months ago

In the queue

The changeset has received all authorizations and has been added to the relevant queue(s). The queue(s) will be merged in the target development branch(es) as soon as builds have passed.

The changeset will be merged in:

The following branches will NOT be impacted:

There is no action required on your side. You will be notified here once the changeset has been merged. In the unlikely event that the changeset fails permanently on the queue, a member of the admin team will contact you to help resolve the matter.

IMPORTANT

Please do not attempt to modify this pull request.

If you need this pull request to be removed from the queue, please contact a member of the admin team now.

The following options are set: approve, create_integration_branches

bert-e commented 8 months ago

I have successfully merged the changeset of this pull request into targetted development branches:

The following branches have NOT changed:

Please check the status of the associated issue ARSN-401.

Goodbye bourgoismickael.

jonathan-gramain commented 8 months ago

This is useful in scenarios where a library or module (arsenal in this case) needs to accept a configuration object that is meant to be passed to another library or module (werelogs). By directly linking the type of the configuration object to the expected parameter type of the werelogs.configure method, it helps to ensure that the arsenal library will correctly propagate the configuration object to werelogs, even if future versions of werelogs change the expected configuration object structure.

My understanding is that, but I may not have the full picture: if we fork a worker before we configure werelogs, we will need to apply the werelogs configuration to both the primary and the worker(s), because they're now different processes. But if we apply the config prior to the fork, then the worker will be already configured since the worker process memory maps the primary's memory (and copy-on-write when written to).