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

Migrations infra mm #20130

Closed
wants to merge 16 commits into from
Closed

Conversation

bashtanov
Copy link
Contributor

Backports Required

  • none - not a bug fix
  • none - this is a backport
  • none - issue does not exist in previous branches
  • none - papercut/not impactful enough to backport
  • v24.1.x
  • v23.3.x
  • v23.2.x

Release Notes

@bashtanov
Copy link
Contributor Author

/dt

Added a feature that needs to be active for Redpanda to support data
migrations.

Signed-off-by: Michał Maślanka <[email protected]>
Introduced separate logger for data migrations to easily separate all
log entries related with migrating data across the clusters.

Signed-off-by: Michał Maślanka <[email protected]>
Introduced types representing inbound and outbound data migration types
together with the state and related metadata.

Signed-off-by: Michał Maślanka <[email protected]>
Introduced commands to manage data migrations. The commands represent
creation, update and deletion of migration.

Signed-off-by: Michał Maślanka <[email protected]>
Introduced a class that is going to be instantiated on every shard and
will contain information about migrated resources. The class is
intended to be used by a validation logic in hot path where migration
information will be queried to block writes and properties updates.

Signed-off-by: Michał Maślanka <[email protected]>
Introduce a data migration table that is intended to store and track
data migration state. The table is going to be instantiated only on
shard 0 as it is not performance critical to access full migration data.
The table is driving migrated resources updates and validates the
migration state transitions.

Signed-off-by: Michał Maślanka <[email protected]>
Introduced RPCs allowing routing data migration related requests to
current controller leader.

Signed-off-by: Michał Maślanka <[email protected]>
Introduced `cluster::data_migration_frontend`. Frontend class is an
entry point for the migration subsystem. It exposes API allowing caller
to interact with data migrations.

Signed-off-by: Michał Maślanka <[email protected]>
Introduced placeholder for data migrations backend component.

Signed-off-by: Michał Maślanka <[email protected]>
Added admin server APIs in `/v1/migartions` path allowing external
clients to interact with migrations subsystem

Signed-off-by: Michał Maślanka <[email protected]>
When topic is being migrated we can not allow the topic properties and
partition updates. Added validation preventing creation of the topic
with the same name as the name on inbound migration topic, topic
property updates and topic deletion.

Signed-off-by: Michał Maślanka <[email protected]>
@bashtanov
Copy link
Contributor Author

/dt

@bashtanov bashtanov closed this Jun 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants