Skip to content

Add composite index api_queue_poll for data_api_queue - #97

Open
bhorisk wants to merge 1 commit into
pixl8:stablefrom
bhorisk:feature/DATAAPI-47-data-api-queue-poll-index
Open

Add composite index api_queue_poll for data_api_queue#97
bhorisk wants to merge 1 commit into
pixl8:stablefrom
bhorisk:feature/DATAAPI-47-data-api-queue-poll-index

Conversation

@bhorisk

@bhorisk bhorisk commented Apr 20, 2026

Copy link
Copy Markdown

Reduce timeouts on API when queue gets large.
New composite index (subscriber, queue_name, namespace, order_number) aligns with DataApiQueueService.getNextQueuedItems and getQueueCount.
(related to DATAAPI-47)


Note

Low Risk
Schema/index-only change with minimal behavior impact; primary risk is migration/index creation time and any unintended query-plan changes under load.

Overview
Improves performance of polling large data_api_queue tables by adding a new composite index api_queue_poll across subscriber, queue_name, namespace, and order_number.

This is implemented by updating the indexes metadata on the relevant properties in preside-objects/data_api_queue.cfc to define the composite index ordering while keeping existing single-column indexes.

Reviewed by Cursor Bugbot for commit 138691d. Bugbot is set up for automated code reviews on this repo. Configure here.

Dequeue queries filter on subscriber, queue_name, and namespace and order
by order_number. Previously MariaDB could use index_merge plus filesort;
the composite (subscriber, queue_name, namespace, order_number) aligns with
DataApiQueueService.getNextQueuedItems and getQueueCount.

Deploying requires Preside DB sync to create the new physical index.

Made-with: Cursor
@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


Brian Horisk seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants