Skip to content

plugin crate: register the store on the cold lane busbar boots stores through - #18

Merged
MattJackson merged 1 commit into
devfrom
lane-store-cold-boot
Oct 3, 2026
Merged

MattJackson merged 1 commit into
devfrom
lane-store-cold-boot

Conversation

@MattJackson

Copy link
Copy Markdown
Contributor

dev CI is red: admin_api_e2e boot #2 fails with BUSBAR-9007: store 'postgres' plugin load failed: plugin 'busbar-store-postgres' returned a null kind string.

Root cause: busbar at the fleet pin (e1d3d8b0) opens a configured dropped-in store only through the cold store lane (PluginRegistry::open_store -> load_store_image -> busbar_abi / busbar_plugin_kind / busbar_open ...); the kernel has no door-store boot path yet. Since the store-door port this cdylib exported only busbar_plugin_door, so the SDK's frozen busbar_plugin_kind returned NULL (no cold door registered).

Fix: the plugin crate also registers the same PostgresStore via export_store_plugin! (opened by StoreSlots::open, same settings and refusals). busbar_plugin_door is still exported, so the door lane keeps working.

Proof: fmt, clippy -D warnings and cargo test --workspace --locked against a live Postgres 16 (BUSBAR_CHECKOUT at the pin) pass on a fresh runner, admin_api_e2e included.

…a configured store through

busbar at the pin (e1d3d8b0) opens a configured dropped-in store through
PluginRegistry::open_store -> load_store_image, the cold lane (busbar_abi,
busbar_plugin_kind, busbar_open, ...). An image exporting only
busbar_plugin_door answers busbar_plugin_kind with NULL there, so every boot
with store.module: postgres was refused (BUSBAR-9007 'returned a null kind
string'). The cdylib now also registers the same PostgresStore through
export_store_plugin! (opened by its StoreSlots::open, same settings and
refusals); busbar_plugin_door is still exported for the door lane.
@MattJackson
MattJackson merged commit 971a2a9 into dev Oct 3, 2026
4 checks passed
@MattJackson
MattJackson deleted the lane-store-cold-boot branch October 3, 2026 04:03
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.

1 participant