RequestProcessors are used even if the plugin is not installed yet · Issue #9201 · matomo-org/matomo · GitHub
Skip to content

RequestProcessors are used even if the plugin is not installed yet #9201

Closed
@tsteur

Description

I think only checking for loaded might result in this error but not sure: https://travis-ci.org/piwik/piwik/jobs/90662653#L1158

FastCGI sent in stderr: "PHP message: Error in Piwik (tracker): Error query: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'last_idlink_va' in 'field list' In query: SELECT visit_last_action_time, visit_first_action_time, idvisitor, idvisit, user_id, visit_exit_idaction_url,

Point is some plugins may need ours to install. For example when they add columns to log tables. Imagine a plugin defines a new column for a log table which takes 10 hours to install. In these 10 hours the code of the not yet installed plugin will be already used as it is considered activated. This will lead to tracking errors for 10 hours as the data cannot be written into the table as the new column does not exist yet.

We considered this already when using components (check for $this->getPluginsLoadedAndActivated()) but eg not in DI when checking for config files https://github.com/piwik/piwik/blob/2.15.1-b1/core/Container/ContainerFactory.php#L134 . This is eg a problem with DI 'tracker.request.processors' as request processor will be already used even though the plugin is not installed yet.

Metadata

Assignees

Labels

BugFor errors / faults / flaws / inconsistencies etc.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions