SCHEMA CHANGE: add 'request_id' to nameplates table
This will be useful for the upcoming "persistent wormhole" mode. A client might send an allocation request, crash/terminate before receiving a response, then restart, then re-send the request. If the server sees a request with the same request_id a previous request, it can return the same nameplate. We'll need code changes on both sides to support this (nothing sends or checks request_id yet), but this lands the schema change early to reduce future disruption.
This commit is contained in:
parent
cca2f3cf13
commit
0d30101d7c
|
@ -18,6 +18,7 @@ CREATE TABLE `nameplates`
|
|||
`mailbox_id` VARCHAR, -- really a foreign key
|
||||
`side1` VARCHAR, -- side name, or NULL
|
||||
`side2` VARCHAR, -- side name, or NULL
|
||||
`request_id` VARCHAR, -- from 'allocate' message, for future deduplication
|
||||
`crowded` BOOLEAN, -- at some point, three or more sides were involved
|
||||
`updated` INTEGER, -- time of last activity, used for pruning
|
||||
-- timing data
|
||||
|
@ -27,6 +28,7 @@ CREATE TABLE `nameplates`
|
|||
CREATE INDEX `nameplates_idx` ON `nameplates` (`app_id`, `id`);
|
||||
CREATE INDEX `nameplates_updated_idx` ON `nameplates` (`app_id`, `updated`);
|
||||
CREATE INDEX `nameplates_mailbox_idx` ON `nameplates` (`app_id`, `mailbox_id`);
|
||||
CREATE INDEX `nameplates_request_idx` ON `nameplates` (`app_id`, `request_id`);
|
||||
|
||||
-- Clients exchange messages through a "mailbox", which has a long (randomly
|
||||
-- unique) identifier and a queue of messages.
|
||||
|
|
Loading…
Reference in New Issue
Block a user