Repository navigation
test: a user mapping with half a credential is refused before any request; objstore_credentials seeds the ledger (#1341) - #1369
Conversation
jdatcmd
left a comment
There was a problem hiding this comment.
Approving the content at 87a3d5f. On PG17 I reproduced the claim with the pairing check disabled:
- main: objstore_credentials passes 21/21.
- this head: the access-key-only read crashes its backend ("server closed the connection unexpectedly"), and the secret-only read gets the other 28000, "no credentials for …".
So that check is what stands between a half-configured mapping and a backend crash, and the message assertion is what tells the two 28000s apart. Worth a follow-up: the crash means the code after the check dereferences the missing half. Nothing else reaches it today, but it's a latent NULL dereference. Before merge: rebase and restate (seeding; the ceiling falls by one).
|
Rebased onto f601281 (#1363 and #1368 merged): now 527bb71. Only the budget conflicted. Restated on main's figures: rows 2460 + 25 = 2485, never 1893 + 23 = 1916, dated 567 + 2 = 569, 🤖 Generated with Claude Code |
87a3d5f to
527bb71
Compare
|
Restated on f4a7591 (main is green again with #1390): now 0cc6d60. Rows 2464 + 25 = 2489; never 1918; dated 571; ceiling 244 → 243. The gate is clean, and the test file is unchanged. 🤖 Generated with Claude Code |
527bb71 to
0cc6d60
Compare
jdatcmd
left a comment
There was a problem hiding this comment.
Checked 0cc6d60 against my approval of 87a3d5f. git range-diff shows the two test commits identical (=), and the third differs only in the restated budget (2489 / 1918 / 571, ceiling 243).
It's one merge behind: I merged #1365 (df6a02f) just before your push. That adds two arrow_import rows and dates reject dictionary-encoded file, so main is now 2466 / 1895 / 571, and your budget will conflict once more. Restated on df6a02f, it should give 2491 / 1918 / 573. When that head is green, I'll verify it the same way and merge.
🤖 Generated with Claude Code
0cc6d60 to
4608bbd
Compare
|
Restated on df6a02f (#1365 merged): now 4608bbd. Rows 2466 + 25 = 2491; never 1918; dated 573; ceiling 244 → 243. The gate is clean, and the test file is unchanged. Next in the queue. 🤖 Generated with Claude Code |
4608bbd to
1231d43
Compare
|
Restated on 7065fbe (#1356 merged): now 1231d43. Rows 2466 + 25 = 2491; never 1917; dated 574; ceiling 244 → 243. The gate is clean, and the test file is unchanged. 🤖 Generated with Claude Code |
jdatcmd
left a comment
There was a problem hiding this comment.
Verified 1231d43 against my approval of 87a3d5f. It sits on current main (7065fbe), the patch is identical outside the count files, and no main row is dropped or changed. The ledger gives 2491 / 1917 with the ceiling at 243. I'll merge once CI is green.
🤖 Generated with Claude Code
…uest (commandprompt#1341) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…og control runs first (commandprompt#1341) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… arms dated (commandprompt#1341) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Restated on fc48e65 (#1385 merged): now 857b67b. Rows 2472 + 25 = 2497; never 1918; dated 579; ceiling 244 → 243. The gate is clean, and the test file is unchanged. 🤖 Generated with Claude Code |
1231d43 to
857b67b
Compare
jdatcmd
left a comment
There was a problem hiding this comment.
Verified 857b67b against my approval of 87a3d5f. It sits on current main (fc48e65), the patch is identical outside the count files, and no main row changes (2497 / 1918, ceiling 243). I'll merge once CI is green.
🤖 Generated with Claude Code
Part of #1341: the medium error-path item "a Parquet FDW user mapping that carries only half a credential is refused with 28000". No arm reached the pairing check in
columnar_parquet_reader.c.The arms (
objstore_credentials.sh)access_key_idonly, the othersecret_access_keyonly.28000 columnar: the user mapping for server "csrv" carries only half a credential, the SQLSTATE and the message.What the check prevents
The check removed, PG17, main 1933577 against this branch:
So the pairing check is what stands between a half-configured mapping and a server crash, not only a nicer error.
Shell only:
objstore_credentialshas no pytest twin; that's the object-store twin-parity item.Evidence
objstore_credentialshad no ledger rows, so it is seeded with all 25. 2349 → 2374 rows, the census 1798 → 1821, and suites_not_covered 246 → 245. The two arms are dated.🤖 Generated with Claude Code