silverstripe-framework: UTF8MB4 Breaks cron tasks

Affected Version

4.x latest

Description

Using MariaDB on Ubuntu 18.04, the " quoted queries ran from a cron job, throw an error

Steps to Reproduce

Run a cron job that requires querying the database

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 25 (24 by maintainers)

Most upvoted comments

I would appreciate your input and more thorough testing

With all due respect, I don’t think you would. This thread evidences someone clearly taking a lot to time to understand your issue, and the level of “appreciation” you’ve shown is sarcastic barbs and a public indictment of his job title.

We all have a common interest to make the ecosystem healthier and more stable overall, but a lot of open source is about community and relationships, and the way you’re interacting with others here leaves little incentive for anyone to offer up their time on your behalf.

Please afford some civility and respect. Not every issue can be understood and actioned immediately.

I’m, to be honest, mildly fed up, with the responses given here so far. It’s “I can’t replicate, goodbye”, by what is supposed to be a senior dev. However, the actual input and responses, are not that. The given responses is “Can’t reproduce because we can’t match your environment, goodbye”. And that is not worthy an open source project kind of response.

FWIW, running a dev/build in the CLI (via sake) solved the issue for me. Running 10.3.7-MariaDB

As Firesphere doesn’t want to continue discussion here, I’ve opened a new issue for tracking this: https://github.com/silverstripe/silverstripe-framework/issues/9822

Trying to catch up on this. Reopening this, to signal our willingness to support this process.

The issue has been observed by Simon on MariaDB 10.1.47. I’m assuming that Simon opted into the change for an existing project when upgrading to 4.7. The issue has also been observed by @Mac on Slack on MySQL 5.7

We currently state support for MySQL 5.6+. While MariaDB isn’t explicitly supported, it’s assumed to be a limited drop in replacement starting from MariaDB 10.0 for MySQL 5.6.

4.7 introduced an opt-in change for existing projects (which are perfectly fine under semver even if they turn out to be breaking changes). Nobody is forced to use it, but if there’s known caveats we should document these. 4.7 sets utf8mb4 a new default for new projects (via the installer). New projects should work with supported database versions (so MySQL 5.6+). If they don’t, that might be considered a breaking change. Apparently there’s more impacted users on Slack, but it’s hard to find out details.

We need to be able to reproduce to fix the issue, and that requires patience and input from the people experiencing the issues - that’s pretty uncontroversial, right? But it sounds like Steve is stuck at the moment and needs help in being able to reproduce this. Maybe we need more isolation, e.g. running the same Docker image with a default codebase plus the specific code mentioned above? It’ll get complicated if the issue can only be reproduced on an existing database snapshot.

P.S.: Unless it’s related to the failures, I propose that we discuss the issue about MariaDB index sizes on a separate Github issue - this one is already complicated enough 😃