diff --git a/src/server/object_services/schemas/data_chunk_indexes.js b/src/server/object_services/schemas/data_chunk_indexes.js index 9bb89ed335..235b8645df 100644 --- a/src/server/object_services/schemas/data_chunk_indexes.js +++ b/src/server/object_services/schemas/data_chunk_indexes.js @@ -17,6 +17,8 @@ module.exports = [{ { fields: { dedup_key: 1, + system: 1, + bucket: 1 }, options: { unique: false, diff --git a/src/upgrade/upgrade_scripts/5.21.0/remove_datachunks_index.js b/src/upgrade/upgrade_scripts/5.21.0/remove_datachunks_index.js new file mode 100644 index 0000000000..1caa5e3631 --- /dev/null +++ b/src/upgrade/upgrade_scripts/5.21.0/remove_datachunks_index.js @@ -0,0 +1,23 @@ +/* Copyright (C) 2025 NooBaa */ +"use strict"; + +async function run({ dbg, db_client }) { + /* After the index is dropped, a new composite index (system, bucket, dedup_key) + will be created during bootstrap */ + const indexName = 'idx_btree_datachunks_dedup_key'; + + try { + const pool = db_client.instance().get_pool(); + await pool.query(`DROP INDEX IF EXISTS ${indexName};`); + + dbg.log0("Executed upgrade script for dropping index ", indexName); + } catch (err) { + dbg.error('An error ocurred in the upgrade process:', err); + throw err; + } +} + +module.exports = { + run, + description: 'Delete the "idx_btree_datachunks_dedup_key" index' +};