Investigate: Usage Ping gets sent even with disabled configuration on self managed
We detected an issue with disabling usage ping from config file does not get picked up and we're still sending usage ping data.
- Slack Message from customer response: https://gitlab.slack.com/archives/CMJ8JR0RH/p1623320111453100
- Slack Message for potential issue: https://gitlab.slack.com/archives/CETG54GQ0/p1623269807224600
gitlab_rails['usage_ping_enabled'] = false
Go to Admin Panel to Usage Statistics
Usage Ping should have a disabled checkbox
✅ To confirm
Even though usage ping got disabled with
gitlab.rb, it still gets send. We need to validate if Usage Ping still gets send.
- If this is the case
- If yes: Why this happens
- If no: Why it is happening for the customer
SubmitUsagePingServicewe check if
Gitlab::CurrentSettingsand forwards the
ApplicationSettingImplementationwhich makes sure that we can override configs from config files or the database.
ApplicationSettingImplementationwe have a method where we override
usage_ping_enabledto account for the logic to first check if the config file has changed to
falseand then later check the database
- However, when calling
CurrentSettings.usage_ping_enabled?we do this with the
?version (which comes from ActiveRecord) so we don't go to the overridden
usage_ping_enabledmethod and therefore we ignore the config settings.
Figure out how long this issue persists
Since version 9.3 and introduced with 26dde5f5
Figure out which customers are affected
We need to delete data from customers we have submitted usage ping data although they though it's disabled.
- We likely can't find out automatically which customers is affected - Customers could check on their own instance if they are affected and report us & we delete the data