Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Officially only support LTS release for MariaDB #202

Closed
GuySartorelli opened this issue Feb 22, 2024 · 3 comments
Closed

Officially only support LTS release for MariaDB #202

GuySartorelli opened this issue Feb 22, 2024 · 3 comments

Comments

@GuySartorelli
Copy link
Member

GuySartorelli commented Feb 22, 2024

Important

Before looking too hard at this... maybe we should only officially support LTS releases?

This was found in CI, because we were using mariadb:latest. When using mariadb 11.3 or higher, this error occurs when running dev/build:

ERROR [UNKNOWN TYPE, ERRNO 2054]: Uncaught mysqli_sql_exception: Server sent charset (0) unknown to the client. Please, report to the developers
IN GET dev/build
Line 120 in /var/www/html/vendor/silverstripe/framework/src/ORM/Connect/MySQLiConnector.php

Source
======
  111:                     : self::config()->get('ssl_cipher_default')
  112:             );
  113:         }
  114: 
  115:         $this->dbConn->real_connect(
  116:             $parameters['server'],
  117:             $parameters['username'],
  118:             $parameters['password'],
  119:             $selectedDB,
* 120:             !empty($parameters['port']) ? $parameters['port'] : ini_get("mysqli.default_port")
  121:         );
  122: 
  123:         if ($this->dbConn->connect_error) {
  124:             $this->databaseError("Couldn't connect to MySQL database | " .
       $this->dbConn->connect_error);
  125:         }
  126: 
Click to see full stack trace
Trace
=====
mysqli->real_connect(<filtered>, <filtered>, <filtered>, <filtered>, <filtered>)
MySQLiConnector.php:120

SilverStripe\ORM\Connect\MySQLiConnector->connect(Array)
MySQLDatabase.php:91

SilverStripe\ORM\Connect\MySQLDatabase->connect(Array)
DB.php:290

SilverStripe\ORM\DB::connect(<filtered>, <filtered>)
DB.php:106

SilverStripe\ORM\DB::get_conn()
DatabaseAdmin.php:222

SilverStripe\ORM\DatabaseAdmin->doBuild(, 1)
DatabaseAdmin.php:139

SilverStripe\ORM\DatabaseAdmin->build()
DatabaseAdmin.php:111

SilverStripe\ORM\DatabaseAdmin->index(SilverStripe\Control\HTTPRequest)
RequestHandler.php:321

SilverStripe\Control\RequestHandler->handleAction(SilverStripe\Control\HTTPRequest, index)
Controller.php:274

SilverStripe\Control\Controller->handleAction(SilverStripe\Control\HTTPRequest, index)
RequestHandler.php:200

SilverStripe\Control\RequestHandler->handleRequest(SilverStripe\Control\HTTPRequest)
Controller.php:200

SilverStripe\Control\Controller->handleRequest(SilverStripe\Control\HTTPRequest)
DevBuildController.php:44

SilverStripe\Dev\DevBuildController->build(SilverStripe\Control\HTTPRequest)
RequestHandler.php:321

SilverStripe\Control\RequestHandler->handleAction(SilverStripe\Control\HTTPRequest, build)
Controller.php:274

SilverStripe\Control\Controller->handleAction(SilverStripe\Control\HTTPRequest, build)
RequestHandler.php:200

SilverStripe\Control\RequestHandler->handleRequest(SilverStripe\Control\HTTPRequest)
Controller.php:200

SilverStripe\Control\Controller->handleRequest(SilverStripe\Control\HTTPRequest)
RequestHandler.php:224

SilverStripe\Control\RequestHandler->handleRequest(SilverStripe\Control\HTTPRequest)
Controller.php:200

SilverStripe\Control\Controller->handleRequest(SilverStripe\Control\HTTPRequest)
Director.php:348

SilverStripe\Control\Director->SilverStripe\Control\{closure}(SilverStripe\Control\HTTPRequest)
VersionedHTTPMiddleware.php:41

SilverStripe\Versioned\VersionedHTTPMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
LoginSessionMiddleware.php:30

SilverStripe\SessionManager\Middleware\LoginSessionMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
ConfirmationMiddleware.php:254

SilverStripe\Control\Middleware\ConfirmationMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
ConfirmationMiddleware.php:254

SilverStripe\Control\Middleware\ConfirmationMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
ExecMetricMiddleware.php:20

SilverStripe\Control\Middleware\ExecMetricMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
PasswordExpirationMiddleware.php:84

SilverStripe\Security\PasswordExpirationMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
BasicAuthMiddleware.php:68

SilverStripe\Security\BasicAuthMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
AuthenticationMiddleware.php:61

SilverStripe\Security\AuthenticationMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
TestSessionHTTPMiddleware.php:39

SilverStripe\TestSession\TestSessionHTTPMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
CanonicalURLMiddleware.php:245

SilverStripe\Control\Middleware\CanonicalURLMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
HTTPCacheControlMiddleware.php:39

SilverStripe\Control\Middleware\HTTPCacheControlMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
ChangeDetectionMiddleware.php:28

SilverStripe\Control\Middleware\ChangeDetectionMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
FlushMiddleware.php:30

SilverStripe\Control\Middleware\FlushMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
SessionMiddleware.php:20

SilverStripe\Control\Middleware\SessionMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
AllowedHostsMiddleware.php:60

SilverStripe\Control\Middleware\AllowedHostsMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
TrustedProxyMiddleware.php:176

SilverStripe\Control\Middleware\TrustedProxyMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
HTTPMiddlewareAware.php:65

SilverStripe\Control\Director->callMiddleware(SilverStripe\Control\HTTPRequest, Closure)
Director.php:357

SilverStripe\Control\Director->handleRequest(SilverStripe\Control\HTTPRequest)
HTTPApplication.php:114

SilverStripe\Control\HTTPApplication::SilverStripe\Control\{closure}(SilverStripe\Control\HTTPRequest)

call_user_func(Closure, SilverStripe\Control\HTTPRequest)
HTTPApplication.php:137

SilverStripe\Control\HTTPApplication->SilverStripe\Control\{closure}(SilverStripe\Control\HTTPRequest)
HTTPMiddlewareAware.php:65

SilverStripe\Control\HTTPApplication->callMiddleware(SilverStripe\Control\HTTPRequest, Closure)
HTTPApplication.php:138

SilverStripe\Control\HTTPApplication->execute(SilverStripe\Control\HTTPRequest, Closure, 1)
HTTPApplication.php:113

SilverStripe\Control\HTTPApplication->handle(SilverStripe\Control\HTTPRequest)
cli-script.php:33

Acceptance criteria

  • MariaDB build can be run successfully again.
  • Build is updated to only test the latest LTS version of MariaDB.
  • Doc is updated to make explicit that we are only supporting the latest LTS version of MariaDB

PRs

@maxime-rainville
Copy link
Contributor

maxime-rainville commented Feb 22, 2024

Is this a problem with the build set up? Or is it an actual problem that the CMS won't work on MariaDB 11.3?

@GuySartorelli
Copy link
Member Author

I can reproduce it locally - so it's not just a CI problem.

@GuySartorelli GuySartorelli changed the title Mariadb 11.3+ fail on dev/build Officially only use LTS release for MariaDB Feb 26, 2024
@GuySartorelli GuySartorelli changed the title Officially only use LTS release for MariaDB Officially only support LTS release for MariaDB Feb 26, 2024
@GuySartorelli GuySartorelli self-assigned this Feb 28, 2024
@GuySartorelli GuySartorelli removed their assignment Feb 28, 2024
@sabina-talipova
Copy link
Contributor

PR's merged. Task is completed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants