release_inspections back on the NVMe
The judge's fake rule reads all of it every round: 17-18 min on the HDD, ~3 on the NVMe. Migration 4600 is a no-op now; 4800 moves it back where 4600 ran. Homelab moved it by hand; a no-op there. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a983cad509
commit
036e2a8397
2 files changed
+29
-16
No files matched your search
@@ -1,24 +1,12 @@
|
|||||||
import { BaseSchema } from '@adonisjs/lucid/schema'
|
import { BaseSchema } from '@adonisjs/lucid/schema'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* release_inspections' rows on the HDD (pg_default), its indexes staying in the catalog's tablespace (default_tablespace:
|
* Was: release_inspections' rows on the HDD (pg_default), for the NVMe's room during the probe backlog (LOG.md
|
||||||
* nvme on homelab). It's the prober's output, appended to and read a release at a time (the judge, the web's release
|
* 2026-10-18 (79)). The judge's fake rule reads all of it every round: on the HDD that took 17–18 min, was ~3
|
||||||
* page): 40% of the NVMe's growth while probing, 4.6 GB of it, with the probe backlog needing more than the NVMe had left
|
* (LOG.md 2026-10-19 (81)). Migration 4800 moves it back; nothing here now.
|
||||||
* (LOG.md 2026-10-18 (79)). Homelab moved it by hand (prober, merger and judge stopped); a no-op where it's there
|
|
||||||
* already, or without a default tablespace (tests).
|
|
||||||
*/
|
*/
|
||||||
export default class extends BaseSchema {
|
export default class extends BaseSchema {
|
||||||
async up() {
|
async up() {}
|
||||||
this.defer(async (db) => {
|
|
||||||
const { rows: setting } = await db.rawQuery(`SELECT current_setting('default_tablespace') AS target`)
|
|
||||||
if (!setting[0].target) return
|
|
||||||
const { rows } = await db.rawQuery(
|
|
||||||
`SELECT 1 FROM pg_class c LEFT JOIN pg_tablespace t ON t.oid = c.reltablespace
|
|
||||||
WHERE c.relname = 'release_inspections' AND c.relkind = 'r' AND coalesce(t.spcname, 'pg_default') <> 'pg_default'`
|
|
||||||
)
|
|
||||||
if (rows.length > 0) await db.rawQuery(`ALTER TABLE release_inspections SET TABLESPACE pg_default`)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
async down() {}
|
async down() {}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
import { BaseSchema } from '@adonisjs/lucid/schema'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* release_inspections back in the catalog's tablespace (default_tablespace: nvme on homelab), where migration 4600 had
|
||||||
|
* moved it to the HDD: the judge's fake rule reads all of it every round, 17–18 min on the HDD, ~3 on the NVMe (LOG.md
|
||||||
|
* 2026-10-19 (81)). Homelab moved it by hand (prober, merger and judge stopped); a no-op where it's there already, or
|
||||||
|
* without a default tablespace (tests).
|
||||||
|
*/
|
||||||
|
export default class extends BaseSchema {
|
||||||
|
async up() {
|
||||||
|
this.defer(async (db) => {
|
||||||
|
const { rows: setting } = await db.rawQuery(`SELECT current_setting('default_tablespace') AS target`)
|
||||||
|
const target = setting[0].target
|
||||||
|
if (!target) return
|
||||||
|
const { rows } = await db.rawQuery(
|
||||||
|
`SELECT 1 FROM pg_class c LEFT JOIN pg_tablespace t ON t.oid = c.reltablespace
|
||||||
|
WHERE c.relname = 'release_inspections' AND c.relkind = 'r' AND coalesce(t.spcname, 'pg_default') <> ?`,
|
||||||
|
[target]
|
||||||
|
)
|
||||||
|
if (rows.length > 0) await db.rawQuery(`ALTER TABLE release_inspections SET TABLESPACE ${target}`)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
async down() {}
|
||||||
|
}
|
||||||
Reference in new issue
Block a user