Skip to content

Commit

Permalink
feat: add index on events for faster revision id (#6170)
Browse files Browse the repository at this point in the history
On all pods and instances, we run the same revision update query every
second. It is relatively fast when the application has started. This is
the single most ran query in unleash.
Benchmarks:

1. Running pod with existing revisionID:
  - old 5.5ms
  - new 0.028ms

2. New pod without existing revisionID
 - old 9.329ms
 - new 0.033ms



This query is getting optimized


https://github.com/Unleash/unleash/blob/7e66a79f9f6f2c6f2475bfd723ea938bbd4fb0f6/src/lib/features/events/event-store.ts#L161
  • Loading branch information
sjaanus authored Feb 8, 2024
1 parent 7e66a79 commit ecc200b
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions src/migrations/20240208130439-events-revision-id-index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
'use strict';

exports.up = function(db, cb) {
db.runSql(
`
CREATE INDEX IF NOT EXISTS idx_events_feature_type_id ON events (id)
WHERE feature_name IS NOT NULL
OR type IN ('segment-updated', 'feature_import', 'features-imported');
`,
cb,
);
};

exports.down = function(db, cb) {
db.runSql(`
DROP INDEX IF EXISTS idx_events_feature_type_id;
`, cb);
};

0 comments on commit ecc200b

Please sign in to comment.