migration_manager: pass timestamp to pre_create

pass the write timestamp as parameter to the
on_pre_create_column_families notification.
This commit is contained in:
Michael Litvak
2025-10-09 13:59:03 +02:00
parent 2e5eb92f21
commit eefae4cc4e
3 changed files with 7 additions and 7 deletions

View File

@@ -183,7 +183,7 @@ public:
muts.emplace_back(std::move(mut));
}
void on_pre_create_column_families(const keyspace_metadata& ksm, std::vector<schema_ptr>& cfms) override {
void on_pre_create_column_families(const keyspace_metadata& ksm, std::vector<schema_ptr>& cfms, api::timestamp_type ts) override {
std::vector<schema_ptr> new_cfms;
for (auto sp : cfms) {

View File

@@ -81,7 +81,7 @@ public:
// of the column family's keyspace. The reason for this is that we sometimes create a keyspace
// and its column families together. Therefore, listeners can't load the keyspace from the
// database. Instead, they should use the `ksm` parameter if needed.
virtual void on_pre_create_column_families(const keyspace_metadata& ksm, std::vector<schema_ptr>&) {}
virtual void on_pre_create_column_families(const keyspace_metadata& ksm, std::vector<schema_ptr>&, api::timestamp_type) {}
virtual void on_before_create_column_family(const keyspace_metadata& ksm, const schema&, utils::chunked_vector<mutation>&, api::timestamp_type) {}
virtual void on_before_create_column_families(const keyspace_metadata& ksm, const std::vector<schema_ptr>& cfms, utils::chunked_vector<mutation>& mutations, api::timestamp_type timestamp);
virtual void on_before_update_column_family(const schema& new_schema, const schema& old_schema, utils::chunked_vector<mutation>&, api::timestamp_type) {}
@@ -155,7 +155,7 @@ public:
// We want to do this before calling `before_create_column_families`,
// because in `before_create_column_families` we want the subscriber to get
// the final list of tables.
void pre_create_column_families(const keyspace_metadata& ksm, std::vector<schema_ptr>&);
void pre_create_column_families(const keyspace_metadata& ksm, std::vector<schema_ptr>&, api::timestamp_type);
void before_create_column_family(const keyspace_metadata& ksm, const schema&, utils::chunked_vector<mutation>&, api::timestamp_type);
void before_create_column_families(const keyspace_metadata& ksm, const std::vector<schema_ptr>&, utils::chunked_vector<mutation>&, api::timestamp_type);

View File

@@ -588,10 +588,10 @@ void migration_notifier::before_create_column_family(const keyspace_metadata& ks
});
}
void migration_notifier::pre_create_column_families(const keyspace_metadata& ksm, std::vector<schema_ptr>& cfms) {
_listeners.thread_for_each([&ksm, &cfms] (migration_listener* listener) {
void migration_notifier::pre_create_column_families(const keyspace_metadata& ksm, std::vector<schema_ptr>& cfms, api::timestamp_type timestamp) {
_listeners.thread_for_each([&ksm, &cfms, timestamp] (migration_listener* listener) {
// allow exceptions. so a listener can effectively kill a create-table
listener->on_pre_create_column_families(ksm, cfms);
listener->on_pre_create_column_families(ksm, cfms, timestamp);
});
}
@@ -678,7 +678,7 @@ static future<utils::chunked_vector<mutation>> do_prepare_new_column_families_an
mlogger.info("Create new ColumnFamily: {}", cfm);
}
db.get_notifier().pre_create_column_families(ksm, cfms);
db.get_notifier().pre_create_column_families(ksm, cfms, timestamp);
utils::chunked_vector<mutation> mutations;
for (schema_ptr cfm : cfms) {