Change in osmo-hlr[master]: drop error log for when a subscriber does not exist

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

neels gerrit-no-reply at lists.osmocom.org
Mon Nov 25 04:46:06 UTC 2019


neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16212 )


Change subject: drop error log for when a subscriber does not exist
......................................................................

drop error log for when a subscriber does not exist

Checking for existence of a subscriber and seeing that there is none is not
inherently an error. However, osmo-hlr currently logs on all occasions:

  DAUC ERROR Cannot read subscriber from db: MSISDN='1001': No such subscriber

This spams the ERROR log level. Particularly when a D-GSM setup does subscriber
existence checks for every incoming mslookup request, that potentially creates
constant ERROR logging.

The "No such subscriber" part comes from db_sel(), which might also return an
sqlite3_errmsg(). We still want those sqlite3_errmsg()es in the ERROR log.

Hence print an ERROR log only if db_sel() returns an rc != -ENOENT.

Change-Id: I5044e9b4519b948edc4e451cef0f7830d315619b
---
M src/db_hlr.c
M tests/db/db_test.err
2 files changed, 4 insertions(+), 30 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/12/16212/1

diff --git a/src/db_hlr.c b/src/db_hlr.c
index 3255dd9..2c2d830 100644
--- a/src/db_hlr.c
+++ b/src/db_hlr.c
@@ -568,7 +568,7 @@
 		return -EIO;
 
 	rc = db_sel(dbc, stmt, subscr, &err);
-	if (rc)
+	if (rc && rc != -ENOENT)
 		LOGP(DAUC, LOGL_ERROR, "Cannot read subscriber from db: IMSI='%s': %s\n",
 		     imsi, err);
 	return rc;
@@ -619,7 +619,7 @@
 		return -EIO;
 
 	rc = db_sel(dbc, stmt, subscr, &err);
-	if (rc)
+	if (rc && rc != -ENOENT)
 		LOGP(DAUC, LOGL_ERROR, "Cannot read subscriber from db: MSISDN='%s': %s\n",
 		     msisdn, err);
 	return rc;
@@ -643,7 +643,7 @@
 		return -EIO;
 
 	rc = db_sel(dbc, stmt, subscr, &err);
-	if (rc)
+	if (rc && rc != -ENOENT)
 		LOGP(DAUC, LOGL_ERROR, "Cannot read subscriber from db: ID=%" PRId64 ": %s\n",
 		     id, err);
 	return rc;
@@ -666,7 +666,7 @@
 		return -EIO;
 
 	rc = db_sel(dbc, stmt, subscr, &err);
-	if (rc)
+	if (rc && rc != -ENOENT)
 		LOGP(DAUC, LOGL_ERROR, "Cannot read subscriber from db: IMEI=%s: %s\n", imei, err);
 	return rc;
 }
diff --git a/tests/db/db_test.err b/tests/db/db_test.err
index 87c7d0e..150400b 100644
--- a/tests/db/db_test.err
+++ b/tests/db/db_test.err
@@ -64,25 +64,21 @@
 DAUC Cannot create subscriber: invalid IMSI: '123456789 000003'
 
 db_subscr_get_by_imsi(dbc, "123456789000003", &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: IMSI='123456789000003': No such subscriber
 
 db_subscr_create(dbc, "123456789000002123456", DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS) --> -EINVAL
 DAUC Cannot create subscriber: invalid IMSI: '123456789000002123456'
 
 db_subscr_get_by_imsi(dbc, "123456789000002123456", &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: IMSI='123456789000002123456': No such subscriber
 
 db_subscr_create(dbc, "foobar123", DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS) --> -EINVAL
 DAUC Cannot create subscriber: invalid IMSI: 'foobar123'
 
 db_subscr_get_by_imsi(dbc, "foobar123", &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: IMSI='foobar123': No such subscriber
 
 db_subscr_create(dbc, "123", DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS) --> -EINVAL
 DAUC Cannot create subscriber: invalid IMSI: '123'
 
 db_subscr_get_by_imsi(dbc, "123", &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: IMSI='123': No such subscriber
 
 db_subscr_create(dbc, short_imsi, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS) --> 0
 
@@ -142,7 +138,6 @@
 }
 
 db_subscr_get_by_msisdn(dbc, "54321012345678912345678", &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: MSISDN='54321012345678912345678': No such subscriber
 
 db_subscr_update_msisdn_by_imsi(dbc, imsi0, "543 21") --> -EINVAL
 DAUC IMSI='123456789000000': Cannot update subscriber: invalid MSISDN: '543 21'
@@ -155,7 +150,6 @@
 }
 
 db_subscr_get_by_msisdn(dbc, "543 21", &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: MSISDN='543 21': No such subscriber
 
 db_subscr_update_msisdn_by_imsi(dbc, imsi0, "foobar123") --> -EINVAL
 DAUC IMSI='123456789000000': Cannot update subscriber: invalid MSISDN: 'foobar123'
@@ -168,7 +162,6 @@
 }
 
 db_subscr_get_by_msisdn(dbc, "foobar123", &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: MSISDN='foobar123': No such subscriber
 
 db_subscr_update_msisdn_by_imsi(dbc, imsi0, "5") --> 0
 
@@ -187,7 +180,6 @@
 }
 
 db_subscr_get_by_msisdn(dbc, "54321", &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: MSISDN='54321': No such subscriber
 
 db_subscr_update_msisdn_by_imsi(dbc, imsi0, "543210123456789") --> 0
 
@@ -216,7 +208,6 @@
 }
 
 db_subscr_get_by_msisdn(dbc, "5432101234567891", &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: MSISDN='5432101234567891': No such subscriber
 
 
 --- Check if subscriber exists (by MSISDN)
@@ -232,13 +223,11 @@
 DAUC Cannot update MSISDN: no such subscriber: IMSI='999999999'
 
 db_subscr_get_by_msisdn(dbc, "99", &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: MSISDN='99': No such subscriber
 
 db_subscr_update_msisdn_by_imsi(dbc, "foobar", "99") --> -ENOENT
 DAUC Cannot update MSISDN: no such subscriber: IMSI='foobar'
 
 db_subscr_get_by_msisdn(dbc, "99", &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: MSISDN='99': No such subscriber
 
 
 --- Set valid / invalid IMEI
@@ -265,7 +254,6 @@
 }
 
 db_subscr_get_by_imei(dbc, "123456789012345", &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: IMEI=123456789012345: No such subscriber
 
 
 --- Set the same IMEI again
@@ -286,7 +274,6 @@
 db_subscr_update_imei_by_imsi(dbc, imsi0, NULL) --> 0
 
 db_subscr_get_by_imei(dbc, "12345678901234", &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: IMEI=12345678901234: No such subscriber
 
 
 --- Set / unset nam_cs and nam_ps
@@ -424,7 +411,6 @@
 DAUC Cannot disable CS: no such subscriber: IMSI='999999999'
 
 db_subscr_get_by_imsi(dbc, unknown_imsi, &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: IMSI='999999999': No such subscriber
 
 db_subscr_nam(dbc, "foobar", false, true) --> -ENOENT
 DAUC Cannot disable PS: no such subscriber: IMSI='foobar'
@@ -567,7 +553,6 @@
 DAUC Cannot update VLR number for subscriber ID=99999: no such subscriber
 
 db_subscr_get_by_id(dbc, 99999, &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: ID=99999: No such subscriber
 
 
 --- Purge and un-purge PS and CS
@@ -698,13 +683,11 @@
 DAUC Cannot purge PS: no such subscriber: IMSI='999999999'
 
 db_subscr_get_by_imsi(dbc, unknown_imsi, &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: IMSI='999999999': No such subscriber
 
 db_subscr_purge(dbc, unknown_imsi, true, false) --> -ENOENT
 DAUC Cannot purge CS: no such subscriber: IMSI='999999999'
 
 db_subscr_get_by_imsi(dbc, unknown_imsi, &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: IMSI='999999999': No such subscriber
 
 
 --- Delete non-existent / invalid IDs
@@ -728,7 +711,6 @@
 db_subscr_delete_by_id(dbc, id0) --> 0
 
 db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: IMSI='123456789000000': No such subscriber
 
 db_subscr_delete_by_id(dbc, id0) --> -ENOENT
 DAUC Cannot delete: no such subscriber: ID=1
@@ -742,7 +724,6 @@
 db_subscr_delete_by_id(dbc, id1) --> 0
 
 db_subscr_get_by_imsi(dbc, imsi1, &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: IMSI='123456789000001': No such subscriber
 
 db_subscr_get_by_imsi(dbc, imsi2, &g_subscr) --> 0
 struct hlr_subscriber {
@@ -753,7 +734,6 @@
 db_subscr_delete_by_id(dbc, id2) --> 0
 
 db_subscr_get_by_imsi(dbc, imsi2, &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: IMSI='123456789000002': No such subscriber
 
 db_subscr_get_by_imsi(dbc, short_imsi, &g_subscr) --> 0
 struct hlr_subscriber {
@@ -764,7 +744,6 @@
 db_subscr_delete_by_id(dbc, id_short) --> 0
 
 db_subscr_get_by_imsi(dbc, short_imsi, &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: IMSI='123456': No such subscriber
 
 
 --- Create and delete subscribers with non-default nam_cs and nam_ps
@@ -1305,7 +1284,6 @@
 db_subscr_delete_by_id(dbc, id) --> 0
 
 db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: IMSI='123456789000000': No such subscriber
 
 
 --- Re-add subscriber and verify auth data didn't come back
@@ -1330,7 +1308,6 @@
 db_subscr_delete_by_id(dbc, id) --> 0
 
 db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: IMSI='123456789000000': No such subscriber
 
 db_get_auc(dbc, imsi0, 3, vec, N_VECTORS, NULL, NULL) --> -2
 DAUC IMSI='123456789000000': No such subscriber
@@ -1431,13 +1408,11 @@
 DAUC Cannot update SQN for subscriber ID=99: no auc_3g entry for such subscriber
 
 db_subscr_get_by_id(dbc, 99, &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: ID=99: No such subscriber
 
 db_update_sqn(dbc, 9999, 99) --> -ENOENT
 DAUC Cannot update SQN for subscriber ID=9999: no auc_3g entry for such subscriber
 
 db_subscr_get_by_id(dbc, 9999, &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: ID=9999: No such subscriber
 
 
 --- Create subscriber
@@ -1635,7 +1610,6 @@
 db_subscr_delete_by_id(dbc, id) --> 0
 
 db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> -ENOENT
-DAUC Cannot read subscriber from db: IMSI='123456789000000': No such subscriber
 
 ===== test_subscr_sqn: SUCCESS
 

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16212
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-hlr
Gerrit-Branch: master
Gerrit-Change-Id: I5044e9b4519b948edc4e451cef0f7830d315619b
Gerrit-Change-Number: 16212
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr at sysmocom.de>
Gerrit-CC: Jenkins Builder
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20191125/08e58ec0/attachment.htm>


More information about the gerrit-log mailing list