Attention is currently required from: osmith.
pespin has posted comments on this change by osmith. ( https://gerrit.osmocom.org/c/osmo-hlr/+/39893?usp=email )
Change subject: db: flush after changing schema version
......................................................................
Patch Set 2: Code-Review-1
(1 comment)
Patchset:
PS2:
@osmith@sysmocom.de it's safe doing a patch release on top of master, the content from the other commit should have been removed a long time ago.
--
To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/39893?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-hlr
Gerrit-Branch: osmith/1.9.1
Gerrit-Change-Id: I5943a1cb3447c038c6e7972f68f9656b73a9248b
Gerrit-Change-Number: 39893
Gerrit-PatchSet: 2
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 02 Apr 2025 12:00:21 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/39893?usp=email )
Change subject: db: flush after changing schema version
......................................................................
db: flush after changing schema version
Flush the cache after changing the version, to make the scenario less
likely that after an unclean shutdown the DB gets restored with the
right table layout but wrong version.
When that happens, osmo-hlr tries to upgrade the database layout again
and fails with errors like "duplicate column name".
Related: SYS#7394
Change-Id: I5943a1cb3447c038c6e7972f68f9656b73a9248b
(cherry picked from commit 1a71e73fdc40ba712ab61a299c9d4a048df539a2)
---
M src/db.c
1 file changed, 9 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/93/39893/1
diff --git a/src/db.c b/src/db.c
index 7b8a415..4ce5aa0 100644
--- a/src/db.c
+++ b/src/db.c
@@ -595,6 +595,7 @@
int rc;
bool has_sqlite_config_sqllog = false;
int version;
+ bool version_changed = false;
LOGP(DDB, LOGL_NOTICE, "using database: %s\n", fname);
LOGP(DDB, LOGL_INFO, "Compiled against SQLite3 lib version %s\n", SQLITE_VERSION);
@@ -672,6 +673,7 @@
goto out_free;
}
version = CURRENT_SCHEMA_VERSION;
+ version_changed = true;
}
LOGP(DDB, LOGL_NOTICE, "Database '%s' has HLR DB schema version %d\n", dbc->fname, version);
@@ -686,6 +688,7 @@
}
LOGP(DDB, LOGL_NOTICE, "Database '%s' has been upgraded to HLR DB schema version %d\n",
dbc->fname, version+1);
+ version_changed = true;
}
if (version != CURRENT_SCHEMA_VERSION) {
@@ -702,6 +705,12 @@
goto out_free;
}
+ /* Flush the cache after changing the version, to make the scenario
+ * less likely that after an unclean shutdown the DB gets restored
+ * with the right table layout but wrong version (SYS#7394). */
+ if (version_changed)
+ sqlite3_db_cacheflush(dbc->db);
+
/* prepare all SQL statements */
for (i = 0; i < ARRAY_SIZE(dbc->stmt); i++) {
rc = sqlite3_prepare_v2(dbc->db, stmt_sql[i], -1,
--
To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/39893?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-hlr
Gerrit-Branch: osmith/1.9.1
Gerrit-Change-Id: I5943a1cb3447c038c6e7972f68f9656b73a9248b
Gerrit-Change-Number: 39893
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Attention is currently required from: dexter, fixeria.
laforge has posted comments on this change by dexter. ( https://gerrit.osmocom.org/c/pysim/+/39863?usp=email )
Change subject: saip-tool: add commandline option to edit mandatory services list
......................................................................
Patch Set 3:
(1 comment)
File contrib/saip-tool.py:
https://gerrit.osmocom.org/c/pysim/+/39863/comment/2c73979f_400e49a4?usp=em… :
PS3, Line 106: action
there is a way (I forgot how exactly, maybet he "choices" argument?) to tell the parser which strings are permitted here. Please try to figure out how to get that from the asn1 parser. This way we can
* catch invalid/unsupported input already within argparse
* the user sees which services they can add/remove in --help
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/39863?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I120b98d4b0942c26674bc1365c5711101ec95235
Gerrit-Change-Number: 39863
Gerrit-PatchSet: 3
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 02 Apr 2025 07:39:52 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Attention is currently required from: dexter, fixeria.
laforge has posted comments on this change by dexter. ( https://gerrit.osmocom.org/c/pysim/+/39863?usp=email )
Change subject: saip-tool: add commandline option to edit mandatory services list
......................................................................
Patch Set 3:
(1 comment)
File contrib/saip-tool.py:
https://gerrit.osmocom.org/c/pysim/+/39863/comment/1aeeab4f_0675acba?usp=em… :
PS3, Line 104: set
"set" sounds like it is setting (overwriting) the list. Add/remove however are incremental operations, so I think it's a bit of a misnomer.
I'd suggest to rename to edit-mandatory-service-list, edit-mand-service-list or something like that, or "modify" instead of "edit". or if you think it's too long, {edit,modify}-mand-srv-list?
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/39863?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I120b98d4b0942c26674bc1365c5711101ec95235
Gerrit-Change-Number: 39863
Gerrit-PatchSet: 3
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 02 Apr 2025 07:37:55 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No