MaxMindDB not found error

I have some errors in logs

red:

ActiveRecord::StatementInvalid (PG::UndefinedTable: ERROR: relation "groups" does not exist LINE 1: SELECT "groups"."id", "groups"."name" FROM "groups" WHERE

yellow

Failed to handle exception in exception app middleware : PG::UndefinedTable: ERROR: relation "groups" does not exist LINE 1: 
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) could not be found: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) could not be found: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
1 Like

You may wish to search for the maxmind issue.

4 Likes

I do not find an authoritative answer on searching for the issue. Can someone who knows link it here?

Are these MaxMindDB warnings to be ignored? Rebuilding doesn’t seem to fix the issue. I have been getting them for months.

Now you can! Configuring MAXMIND for reverse IP lookups

3 Likes

We are using Discourse behind a reverse proxy, so all users have the same IP, and we would need the GeoIP lookup - I do not see the option to disable the IP lookup altogether, instead of going through the registration process and obtaining a license for something that we are not needed, only in order to eliminate the errors from the logs…

Do I miss a setting, on how to disable this?

You should fix that. I think topics like How to set up Discourse on a server with existing Apache sites might have the instructions for that.

I think that if you just don’t set the maxmind key you’ll get a warning when you rebuild but it won’t hurt anything.

2 Likes

Wouldn’t it be reasonable to hide and skip the GeoIP lookup from user admin settings, if no license key was configured? Or instead show an info/placeholder that GeoIP lookup would be possible by setting a license key following Configure MAXMIND for reverse IP lookups?

Looping through error logs to monitor system operation is good practice, and it’s annoying to spend time on investigating errors, just to find out that they are expected because an operation is attempted which is expected to fail by default and which could be skipped easily by checking a single setting :wink:.

I can try open a PR on GitHub, if you basically agree. But probably I’m overlooking something and it isn’t that easy or has downsides I’m not seeing.

4 Likes

Sounds good, would be happy with a PR

4 Likes

PR up, but I need some help to apply tests, in code and how to test on running Discourse instance: UX: Show if MaxMind key is missing on IP lookup by MichaIng · Pull Request #18993 · discourse/discourse · GitHub

3 Likes