Erroneous 'REPEATABLE-READ' is no longer supported' error after upgrade - what is real error?
Asked by John Ruck:

I was running Confluence 6.6.0, and I just attempted an upgrade to version 7.6.2 and I am now seeing this error - <https://confluence.atlassian.com/confkb/confluence-fails-to-start-and-throws-mysql-session-isolation-level-repeatable-read-is-no-longer-supported-error-241568536.html> .

According to that document, this is a problem that was in versions before 3.5.6, but my initial install was on version 5.9. Also, I have checked the confluence.cfg.xml file (it was already configured as shown in the document) and I have done 2 attempts at forcing the change on the mysql side

mysql\> SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;  
Query OK, 0 rows affected (0.00 sec)

and I have restarted the mysql server after each attempt (I even did a flush privileges the second time to see if I could force the change to be committed). The confluence log is still showing the same error:

2020-08-09 05:19:25,980 ERROR \[Catalina-utility-1\] \[atlassian.confluence.setup.BootstrapApplicationStartupListener\] checkConfigurationOnStartup MySQL session isolation level 'REPEATABLE-READ' is no longer supported. Session isolation level must be 'READ-COMMITTED'. See <http://confluence.atlassian.com/x/GAtmDg>

so I am suspecting that it is misreporting the real error. Has any one else encountered this issue to know what the real issue is?


Answers:
author: Khuong Vu
body: Please be aware that after following the [instructions](https://confluence.atlassian.com/confkb/confluence-fails-to-start-and-throws-mysql-session-isolation-level-repeatable-read-is-no-longer-supported-error-241568536.html "Confluence fails to start and throws 'MySQL session isolation level 'REPEATABLE-READ' is no longer supported' error"), the startup would have 2 long pauses that could be perceived as problems, but Confluence will come up.

```
sudo vim /your_path/var/atlassian/application-data/confluence/logs/atlassian-confluence.log2021-03-26 16:42:00,891 INFO [Catalina-utility-3] [atlassian.plugin.manager.DefaultPluginManager] lambda$shutdown$5 Preparing to shut down the plugin system...2021-03-26 16:44:13,359 INFO [Catalina-utility-1] [com.atlassian.confluence.lifecycle] contextInitialized Starting Confluence 7.11.1 [build 8701 based on commit hash ...2021-03-26 16:46:08,056 INFO [Catalina-utility-1] [atlassian.plugin.manager.DefaultPluginManager] logTime Plugin system earlyStartup ended
```


author: Shannon S
body: Hi John,

Thank you for raising this with us here.

The issue is not specific to versions before 3.5.6, and it still affects recent versions. The article states that versions 3.5 and prior were enforcing a transaction level, but past versions 3.5.6, it was possible to set your own.

The way that you will need to fix this in the more recent versions of Confluence is via the confluence.cfg.xml file. You mentioned that yours already matches the article, but could you tell me which example it matches? Note that you'll need to use the fix that's mentioned for new installations, which also includes configuring the JDBC string. You can take a look at the differences in settings for for MySQL 5.x vs 8.x.

In addition, in order to apply the changes, you'll need to completely stop Confluence first, make the changes, and then start up Confluence again. A restart is usually not enough. It may also be useful to backup your database and configuration file.

If you continue to have issues, could you let me know what MySQL version you're running, and how the configuration entry looks now? Please make sure to censor out any private information, but I just need to see how you have set the transaction isolation level.

Thank you!

Shannon