Skip to content

Lazy evaluation of replication DNS#2060

Merged
as51340 merged 11 commits intomasterfrom
replication-dns
May 27, 2024
Merged

Lazy evaluation of replication DNS#2060
as51340 merged 11 commits intomasterfrom
replication-dns

Conversation

@as51340
Copy link
Contributor

@as51340 as51340 commented May 22, 2024

Description

  • ReplicationServerConfig is now using Endpoint struct.
  • ReplicationClientConfig is now using Endpoint struct.
  • Replication can now use DNS properly by lazily postponing resolution until connecting sockets.
  • Bumped replication durability version to V4, added corresponding migration function.
  • Fixed the bug where migration from V2 to V3 wasn't made durable.
  • V4 replication durability is saving Endpoint to replica_server key, replica_ip_address isn't used anymore.
  • Removed V1Main and V2Main tests because to_json is now serializing only the latest versions.
  • ReplicationReplicaEntry is also using DurabilityVersion but implicitly through ReplicationRoleEntry.

[master < Task] PR

  • Provide the full content or a guide for the final git message
    • Lazy evaluation of replication DNS

CI Testing Labels

Please select the appropriate CI test labels (CI -build=build-name -test=test-suite)

Documentation checklist

  • Add the documentation label tag
  • Add the bug / feature label tag
  • Add the milestone for which this feature is intended
    • If not known, set for a later milestone
  • Write a release note, including added/changed clauses
    • When using DNS in replication, its resolution is postponed until streaming data using RPC connections
    • Replication durability version is bumped to V4.
    • @andrejtonev anything more for RN, what do you think?
  • Link the documentation PR here
    • [Documentation PR link]
  • Tag someone from docs team in the comments

@as51340 as51340 added feature feature Docs - changelog only Docs - changelog only breaking CI -build=jepsen -test=core Run jepsen build and core tests on push CI -build=release -test=core Run release build and core tests on push CI -build=release -test=e2e Run release build and e2e tests on push labels May 22, 2024
@as51340 as51340 added this to the mg-v2.18.0 milestone May 22, 2024
@as51340 as51340 requested a review from andrejtonev May 22, 2024 07:37
@as51340 as51340 self-assigned this May 22, 2024
@as51340 as51340 requested a review from andrejtonev May 23, 2024 10:32
@as51340 as51340 force-pushed the improve-ha-ip-handling branch from 6314cf1 to 5128029 Compare May 23, 2024 10:45
Base automatically changed from improve-ha-ip-handling to master May 23, 2024 14:43
@as51340 as51340 force-pushed the replication-dns branch from 4a7febb to 182783c Compare May 24, 2024 06:37
@as51340 as51340 requested a review from andrejtonev May 24, 2024 06:54
@as51340 as51340 force-pushed the replication-dns branch from 85bb6bc to f813a25 Compare May 24, 2024 08:14
@as51340 as51340 enabled auto-merge May 24, 2024 09:16
Copy link
Contributor

@andrejtonev andrejtonev left a comment

Choose a reason for hiding this comment

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

Just remove the version from the ReplicaEntry and that's it.
💪

@as51340 as51340 removed the breaking label May 24, 2024
@as51340 as51340 added this pull request to the merge queue May 24, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks May 24, 2024
@as51340 as51340 force-pushed the replication-dns branch from c93aa57 to 36c7e1b Compare May 24, 2024 12:11
@as51340 as51340 force-pushed the replication-dns branch from 36c7e1b to 86b6fd4 Compare May 24, 2024 12:12
@as51340 as51340 enabled auto-merge May 24, 2024 12:12
@sonarqubecloud
Copy link

Quality Gate Passed Quality Gate passed

Issues
2 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

@as51340 as51340 removed CI -build=jepsen -test=core Run jepsen build and core tests on push CI -build=release -test=core Run release build and core tests on push CI -build=release -test=e2e Run release build and e2e tests on push labels May 24, 2024
@as51340 as51340 added this pull request to the merge queue May 26, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks May 26, 2024
@as51340 as51340 added this pull request to the merge queue May 27, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks May 27, 2024
@as51340 as51340 added this pull request to the merge queue May 27, 2024
Merged via the queue into master with commit 8ea5659 May 27, 2024
@as51340 as51340 deleted the replication-dns branch May 27, 2024 07:33
@kgolubic
Copy link
Contributor

@as51340 I'll use this as RN:

  • Implemented lazy evaluation of replication DNS. When using DNS in replication,
    its resolution is postponed until streaming data using RPC connections,
    improving efficiency in replication setups. The replication durability version
    has been bumped to V4, and the corresponding migration function has been added.
    #2060

as51340 added a commit that referenced this pull request Oct 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Docs - changelog only Docs - changelog only feature feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants