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

compat: add support for more types #5855

Merged
merged 7 commits into from
Aug 5, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions src/v/cluster/metadata_dissemination_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,10 @@ struct update_leadership_request_v2

update_leadership_request_v2() noexcept = default;

friend bool operator==(
const update_leadership_request_v2&, const update_leadership_request_v2&)
= default;

friend std::ostream&
operator<<(std::ostream& o, const update_leadership_request_v2& r) {
fmt::print(o, "leaders {}", r.leaders);
Expand Down Expand Up @@ -162,6 +166,10 @@ struct get_leadership_reply
explicit get_leadership_reply(std::vector<ntp_leader> leaders)
: leaders(std::move(leaders)) {}

friend bool
operator==(const get_leadership_reply&, const get_leadership_reply&)
= default;

friend std::ostream&
operator<<(std::ostream& o, const get_leadership_reply& r) {
fmt::print(o, "leaders {}", r.leaders);
Expand Down
57 changes: 57 additions & 0 deletions src/v/cluster/types.cc
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,18 @@ std::ostream& operator<<(std::ostream& o, const topic_result& r) {
return o;
}

std::ostream&
operator<<(std::ostream& o, const finish_partition_update_request& r) {
fmt::print(o, "{{ntp: {}, new_replica_set: {}}}", r.ntp, r.new_replica_set);
return o;
}

std::ostream&
operator<<(std::ostream& o, const finish_partition_update_reply& r) {
fmt::print(o, "{{result: {}}}", r.result);
return o;
}

std::ostream& operator<<(std::ostream& o, const configuration_invariants& c) {
fmt::print(
o,
Expand Down Expand Up @@ -548,6 +560,39 @@ std::ostream& operator<<(std::ostream& o, const leader_term& lt) {
return o;
}

std::ostream& operator<<(std::ostream& o, const partition_move_direction& s) {
switch (s) {
case partition_move_direction::to_node:
return o << "to_node";
case partition_move_direction::from_node:
return o << "from_node";
case partition_move_direction::all:
return o << "all";
}
__builtin_unreachable();
}

std::ostream& operator<<(std::ostream& o, const move_cancellation_result& r) {
fmt::print(o, "{{ntp: {}, result: {}}}", r.ntp, r.result);
return o;
}

std::ostream&
operator<<(std::ostream& o, const cancel_node_partition_movements_request& r) {
fmt::print(o, "{{node_id: {}, direction: {}}}", r.node_id, r.direction);
return o;
}

std::ostream&
operator<<(std::ostream& o, const cancel_partition_movements_reply& r) {
fmt::print(
o,
"{{general_error: {}, partition_results: {}}}",
r.general_error,
r.partition_results);
return o;
}

std::ostream& operator<<(std::ostream& o, const feature_update_action& fua) {
std::string_view action_name;
switch (fua.action) {
Expand Down Expand Up @@ -587,6 +632,18 @@ std::ostream& operator<<(std::ostream& o, const feature_barrier_response& fbr) {
return o;
}

std::ostream&
operator<<(std::ostream& o, const create_non_replicable_topics_request& r) {
fmt::print(o, "{{topics: {} timeout: {}}}", r.topics, r.timeout);
return o;
}

std::ostream&
operator<<(std::ostream& o, const create_non_replicable_topics_reply& r) {
fmt::print(o, "{{results: {}}}", r.results);
return o;
}

std::ostream& operator<<(
std::ostream& o, const feature_update_license_update_cmd_data& fulu) {
fmt::print(o, "{{redpanda_license {}}}", fulu.redpanda_license);
Expand Down
33 changes: 33 additions & 0 deletions src/v/cluster/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -1555,6 +1555,9 @@ struct finish_partition_update_request
= default;

auto serde_fields() { return std::tie(ntp, new_replica_set); }

friend std::ostream&
operator<<(std::ostream& o, const finish_partition_update_request& r);
};

struct finish_partition_update_reply
Expand All @@ -1567,6 +1570,9 @@ struct finish_partition_update_reply
= default;

auto serde_fields() { return std::tie(result); }

friend std::ostream&
operator<<(std::ostream& o, const finish_partition_update_reply& r);
};

struct update_topic_properties_request
Expand Down Expand Up @@ -2322,6 +2328,9 @@ struct create_non_replicable_topics_request
timeout = std::chrono::duration_cast<model::timeout_clock::duration>(
read_nested<std::chrono::milliseconds>(in, h._bytes_left_limit));
}

friend std::ostream&
operator<<(std::ostream&, const create_non_replicable_topics_request&);
};

struct create_non_replicable_topics_reply
Expand All @@ -2335,6 +2344,9 @@ struct create_non_replicable_topics_reply
= default;

auto serde_fields() { return std::tie(results); }

friend std::ostream&
operator<<(std::ostream&, const create_non_replicable_topics_reply&);
};

struct config_update_request final
Expand Down Expand Up @@ -2471,17 +2483,32 @@ struct move_cancellation_result
operator==(const move_cancellation_result&, const move_cancellation_result&)
= default;

friend std::ostream&
operator<<(std::ostream& o, const move_cancellation_result&);

model::ntp ntp;
cluster::errc result;
};

enum class partition_move_direction { to_node, from_node, all };
std::ostream& operator<<(std::ostream&, const partition_move_direction&);

struct cancel_all_partition_movements_request
: serde::envelope<cancel_all_partition_movements_request, serde::version<0>> {
cancel_all_partition_movements_request() = default;

auto serde_fields() { return std::tie(); }

friend bool operator==(
const cancel_all_partition_movements_request&,
const cancel_all_partition_movements_request&)
= default;

friend std::ostream&
operator<<(std::ostream& o, const cancel_all_partition_movements_request&) {
fmt::print(o, "{{}}");
return o;
}
};
struct cancel_node_partition_movements_request
: serde::
Expand All @@ -2495,6 +2522,9 @@ struct cancel_node_partition_movements_request
const cancel_node_partition_movements_request&,
const cancel_node_partition_movements_request&)
= default;

friend std::ostream&
operator<<(std::ostream& o, const cancel_node_partition_movements_request&);
};

struct cancel_partition_movements_reply
Expand All @@ -2506,6 +2536,9 @@ struct cancel_partition_movements_reply

auto serde_fields() { return std::tie(general_error, partition_results); }

friend std::ostream&
operator<<(std::ostream& o, const cancel_partition_movements_reply& r);

errc general_error;
std::vector<move_cancellation_result> partition_results;
};
Expand Down
58 changes: 57 additions & 1 deletion src/v/compat/cluster_compat.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,62 @@ GEN_COMPAT_CHECK(
GEN_COMPAT_CHECK(
cluster::reconciliation_state_request,
{ json_write(ntps); },
{ json_read(ntps); })
{ json_read(ntps); });

GEN_COMPAT_CHECK(
cluster::create_non_replicable_topics_request,
{
json_write(topics);
json_write(timeout);
},
{
json_read(topics);
json_read(timeout);
})

GEN_COMPAT_CHECK(
cluster::create_non_replicable_topics_reply,
{ json_write(results); },
{ json_read(results); });

GEN_COMPAT_CHECK(
cluster::finish_partition_update_request,
{
json_write(ntp);
json_write(new_replica_set);
},
{
json_read(ntp);
json_read(new_replica_set);
})

GEN_COMPAT_CHECK(
cluster::finish_partition_update_reply,
{ json_write(result); },
{ json_read(result); })

GEN_COMPAT_CHECK(
cluster::cancel_partition_movements_reply,
{
json_write(general_error);
json_write(partition_results);
},
{
json_read(general_error);
json_read(partition_results);
});

GEN_COMPAT_CHECK(
cluster::cancel_node_partition_movements_request,
{
json_write(node_id);
json_write(direction);
},
{
json_read(node_id);
json_read(direction);
});

EMPTY_COMPAT_CHECK(cluster::cancel_all_partition_movements_request);

} // namespace compat
Loading