Skip to content

[24066] Refactor Discovery Server to update client behavior#6272

Merged
MiguelCompany merged 18 commits intomasterfrom
feature/client_unification
Jan 30, 2026
Merged

[24066] Refactor Discovery Server to update client behavior#6272
MiguelCompany merged 18 commits intomasterfrom
feature/client_unification

Conversation

@raulojeda22
Copy link
Contributor

@raulojeda22 raulojeda22 commented Jan 22, 2026

Description

Before, in the Discovery Server there was a distinction between CLIENT and SUPER_CLIENT participants.

In this PR the behavior of these has been unified, now both CLIENT and SUPER_CLIENT act as a SUPER_CLIENT.

Contributor Checklist

  • Commit messages follow the project guidelines.
  • The code follows the style guidelines of this project.
  • Tests that thoroughly check the new feature have been added/Regression tests checking the bug and its fix have been added; the added tests pass locally
  • Any new/modified methods have been properly documented using Doxygen.
  • N/A Any new configuration API has an equivalent XML API (with the corresponding XSD extension)
  • Changes are backport compatible: they do NOT break ABI nor change library core behavior.
  • Changes are API compatible.
  • New feature has been added to the versions.md file (if applicable).
  • New feature has been documented/Current behavior is correctly described in the documentation.
  • N/A Applicable backports have been included in the description.

Reviewer Checklist

  • The PR has a milestone assigned.
  • The title and description correctly express the PR's purpose.
  • Check contributor checklist is correct.
  • If this is a critical bug fix, backports to the critical-only supported branches have been requested.
  • Check CI results: changes do not issue any warning.
  • Check CI results: failing tests are unrelated with the changes.

@raulojeda22 raulojeda22 added this to the v3.5.0 milestone Jan 22, 2026
@raulojeda22 raulojeda22 requested review from richiprosima and removed request for richiprosima January 22, 2026 15:00
@github-actions github-actions bot added the ci-pending PR which CI is running label Jan 22, 2026
@mergify
Copy link
Contributor

mergify bot commented Jan 22, 2026

🧪 CI Insights

Here's what we observed from your CI run for b78feb7.

❌ Job Failures

Pipeline Job Health on master Retries 🔍 CI Insights 📄 Logs
Fast DDS MacOS CI mac-ci / fastdds_test () Unknown 0 View View
Fast DDS Sanitizers CI sanitizers-ci / asan_discovery_server_test Unknown 0 View View
sanitizers-ci / asan_fastdds_test Unknown 0 View View
Fast DDS Ubuntu CI ubuntu-ci / fastdds_discovery_server_test (RelWithDebInfo) Unknown 0 View View
ubuntu-ci / fastdds_test (RelWithDebInfo) Unknown 0 View View
Fast DDS Windows CI windows-ci / fastdds_test (RelWithDebInfo, blackbox), v142 Unknown 0 View View
windows-ci / fastdds_test (RelWithDebInfo, blackbox), v143 Unknown 0 View View

✅ Passed Jobs With Interesting Signals

Pipeline Job Signal Health on master Retries 🔍 CI Insights 📄 Logs
Fast DDS Ubuntu CI ubuntu-ci / fastdds_build (RelWithDebInfo) Base branch is broken, but the job passed. Looks like this might be a real fix 💪 Broken 0 View View

@raulojeda22 raulojeda22 changed the title [24066] In DS now clients behave like super_clients [24066] Refactor Discovery Server to update client behavior Jan 23, 2026
@raulojeda22 raulojeda22 requested review from richiprosima and removed request for richiprosima January 23, 2026 09:38
Copy link
Member

@MiguelCompany MiguelCompany left a comment

Choose a reason for hiding this comment

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

In general, I think we are looking for a more profound change: for all discovered clients, we create a DiscoveryParticipantChangeData with is_client_ = false and is_superclient_ = true.

Even better, we could remove is_client altogether.

Signed-off-by: Raül <raulojeda@eprosima.com>
Signed-off-by: Raül <raulojeda@eprosima.com>
…st super_client

Signed-off-by: Raül <raulojeda@eprosima.com>
Signed-off-by: Raül <raulojeda@eprosima.com>
…t or super_client

Signed-off-by: Raül <raulojeda@eprosima.com>
Signed-off-by: Raül <raulojeda@eprosima.com>
Signed-off-by: Raül <raulojeda@eprosima.com>
Signed-off-by: Raül <raulojeda@eprosima.com>
Signed-off-by: Raül <raulojeda@eprosima.com>
…with is_client_ = false and is_superclient_ = true

Signed-off-by: Raül <raulojeda@eprosima.com>
Signed-off-by: Raül <raulojeda@eprosima.com>
@raulojeda22 raulojeda22 force-pushed the feature/client_unification branch from e13b791 to 6dc22db Compare January 27, 2026 14:11
@raulojeda22
Copy link
Contributor Author

In general, I think we are looking for a more profound change: for all discovered clients, we create a DiscoveryParticipantChangeData with is_client_ = false and is_superclient_ = true.

Even better, we could remove is_client altogether.

First easier changed pushed, now working on removing is_client altogether

Signed-off-by: Raül <raulojeda@eprosima.com>
Signed-off-by: Raül <raulojeda@eprosima.com>
Signed-off-by: Raül <raulojeda@eprosima.com>
@raulojeda22 raulojeda22 requested review from richiprosima and removed request for richiprosima January 27, 2026 15:46
Signed-off-by: Raül <raulojeda@eprosima.com>
@raulojeda22 raulojeda22 requested review from MiguelCompany and richiprosima and removed request for richiprosima January 28, 2026 08:29
Copy link
Member

@MiguelCompany MiguelCompany left a comment

Choose a reason for hiding this comment

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

Apart from the comments below, we should change PDP::set_external_participant_properties_() so it serializes SUPER_CLIENT when discoveryProtocol equals CLIENT

Signed-off-by: Raül <raulojeda@eprosima.com>
Signed-off-by: Raül <raulojeda@eprosima.com>
Signed-off-by: Raül <raulojeda@eprosima.com>
@raulojeda22 raulojeda22 requested review from richiprosima and removed request for richiprosima January 29, 2026 09:24
Copy link
Member

@MiguelCompany MiguelCompany left a comment

Choose a reason for hiding this comment

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

LGTM with green CI

@MiguelCompany MiguelCompany merged commit d662e8e into master Jan 30, 2026
31 of 36 checks passed
@MiguelCompany MiguelCompany deleted the feature/client_unification branch January 30, 2026 07:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-pending PR which CI is running

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants