diff --git a/Cargo.lock b/Cargo.lock index 0e1a93311d..cd7657655f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7747,7 +7747,7 @@ dependencies = [ [[package]] name = "nym-node-status-agent" -version = "2.0.0" +version = "2.0.1-rc0" dependencies = [ "anyhow", "clap", @@ -7768,7 +7768,7 @@ dependencies = [ [[package]] name = "nym-node-status-api" -version = "4.6.2-rc2" +version = "4.6.2-rc3" dependencies = [ "ammonia", "anyhow", diff --git a/nym-node-status-api/nym-node-status-api/.sqlx/query-38439a6c33bf21b90032659797105b6af747c3ae6f48bc41e5ec509a2d87abcc.json b/nym-node-status-api/nym-node-status-api/.sqlx/query-38439a6c33bf21b90032659797105b6af747c3ae6f48bc41e5ec509a2d87abcc.json deleted file mode 100644 index ac921484b9..0000000000 --- a/nym-node-status-api/nym-node-status-api/.sqlx/query-38439a6c33bf21b90032659797105b6af747c3ae6f48bc41e5ec509a2d87abcc.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n WITH oldest_queued AS (\n SELECT id\n FROM testruns\n WHERE status = $1\n ORDER BY created_utc asc\n LIMIT 1\n FOR UPDATE SKIP LOCKED\n )\n UPDATE testruns\n SET\n status = $3,\n last_assigned_utc = $2\n FROM oldest_queued\n WHERE testruns.id = oldest_queued.id\n RETURNING\n testruns.id,\n testruns.gateway_id\n ", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Int4" - }, - { - "ordinal": 1, - "name": "gateway_id", - "type_info": "Int4" - } - ], - "parameters": { - "Left": [ - "Int4", - "Int8", - "Int4" - ] - }, - "nullable": [ - false, - false - ] - }, - "hash": "38439a6c33bf21b90032659797105b6af747c3ae6f48bc41e5ec509a2d87abcc" -} diff --git a/nym-node-status-api/nym-node-status-api/.sqlx/query-926caffc73fd8d8bd125923537179cf032a5c66b6ce724469ae52d0b39004ec1.json b/nym-node-status-api/nym-node-status-api/.sqlx/query-926caffc73fd8d8bd125923537179cf032a5c66b6ce724469ae52d0b39004ec1.json new file mode 100644 index 0000000000..680be5fb74 --- /dev/null +++ b/nym-node-status-api/nym-node-status-api/.sqlx/query-926caffc73fd8d8bd125923537179cf032a5c66b6ce724469ae52d0b39004ec1.json @@ -0,0 +1,30 @@ +{ + "db_name": "PostgreSQL", + "query": "\n WITH oldest_queued AS (\n SELECT testruns.id\n FROM testruns\n JOIN gateways ON gateways.id = testruns.gateway_id\n WHERE testruns.status = $1\n AND gateways.performance > 0\n ORDER BY testruns.created_utc asc\n LIMIT 1\n FOR UPDATE OF testruns SKIP LOCKED\n )\n UPDATE testruns\n SET\n status = $3,\n last_assigned_utc = $2\n FROM oldest_queued\n WHERE testruns.id = oldest_queued.id\n RETURNING\n testruns.id,\n testruns.gateway_id\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Int4" + }, + { + "ordinal": 1, + "name": "gateway_id", + "type_info": "Int4" + } + ], + "parameters": { + "Left": [ + "Int4", + "Int8", + "Int4" + ] + }, + "nullable": [ + false, + false + ] + }, + "hash": "926caffc73fd8d8bd125923537179cf032a5c66b6ce724469ae52d0b39004ec1" +} diff --git a/nym-node-status-api/nym-node-status-api/Cargo.toml b/nym-node-status-api/nym-node-status-api/Cargo.toml index ce1c9c642d..500637a000 100644 --- a/nym-node-status-api/nym-node-status-api/Cargo.toml +++ b/nym-node-status-api/nym-node-status-api/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "nym-node-status-api" -version = "4.6.2-rc2" +version = "4.6.2-rc3" authors.workspace = true edition.workspace = true license.workspace = true diff --git a/nym-node-status-api/nym-node-status-api/src/db/queries/testruns.rs b/nym-node-status-api/nym-node-status-api/src/db/queries/testruns.rs index 601598fd70..ec0a4b8066 100644 --- a/nym-node-status-api/nym-node-status-api/src/db/queries/testruns.rs +++ b/nym-node-status-api/nym-node-status-api/src/db/queries/testruns.rs @@ -97,12 +97,14 @@ pub(crate) async fn assign_oldest_testrun( let returning = sqlx::query!( r#" WITH oldest_queued AS ( - SELECT id + SELECT testruns.id FROM testruns - WHERE status = $1 - ORDER BY created_utc asc + JOIN gateways ON gateways.id = testruns.gateway_id + WHERE testruns.status = $1 + AND gateways.performance > 0 + ORDER BY testruns.created_utc asc LIMIT 1 - FOR UPDATE SKIP LOCKED + FOR UPDATE OF testruns SKIP LOCKED ) UPDATE testruns SET