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

Update from v1.235.1 to v1.277.3 -> MySQL 8.4 Error #33

Open
vsatmydynipnet opened this issue Oct 5, 2024 · 1 comment
Open

Update from v1.235.1 to v1.277.3 -> MySQL 8.4 Error #33

vsatmydynipnet opened this issue Oct 5, 2024 · 1 comment

Comments

@vsatmydynipnet
Copy link

First there was a git pull in the fxa-selfhosting folder to update things. The I patched config.yml based on the diff between the old and the new config.yml.sample. The patch looked like:

--- config.yml	2023-01-28 18:23:00.000000000 +0100
+++ config.yml.1.277	2024-10-05 13:19:00.000000000 +0200
@@ -4,13 +4,20 @@
 ---
 #! Once config.yml changed you should rerun ./init.sh to regenerate `dest`/docker-compose.yml
 
-#! if PERSISTENCEPATH is relative, it relate with `dest`/docker-compose.yml
+#! if PERSISTENCEPATH is relative, it relates to `dest`/docker-compose.yml
 persistencepath: .
 #! [WARNING] DO NOT DOWNGRADE WITHOUT A CLEAN DB SINCE SCHEMA CANNOT DOWNGRADE.
 
-#! latest tested version is : v1.235.1
+#! latest tested version is : v1.277.3
 
-#! [WORKAROUND] we use method to to resolve below issue
+#! [NOTE] Pin mysql version to 8.4 to make server compatible with argument "mysql-native-password"
+#! [NOTE] You could also try my (upgraded) syncserver3 in Python3, No data integrity guaranteed!
+#! [NOTE] Since we use docker-compose-wait to build wait chain, so ./wait binary in dest folder is not necessary, you could delete it.
+#! [WORKAROUND] patch fxa-auth-server https://github.com/mozilla/fxa/issues/16491
+#! [NOTE] Although channelserver issue fixed , still using latest sha256 digest tag.
+#! [NOTE] don't use fxa version between 1.250.x to 1.258.x, https://github.com/mozilla/fxa/issues/15320
+#! [NOTE] from v1.242.4 mysql version upgrade to 8.0.16+
+#! [WORKAROUND] we use method 2 to to resolve below issue
 #! [ISSUE]  cannot change avatar due to https://github.com/mozilla/fxa/pull/7972 -> checkAvatar -> we have same domain with monogramUrl's one. issue: https://github.com/mozilla/fxa/issues/12426 
 #!          so either 1. use different domain like profile-img or 2. patch it 
 #! [WORKAROUND] add LASTACCESSTIME_UPDATES_SAMPLE_RATE=1 to make sync api/v1/account/devices not return 500. see https://github.com/mozilla/fxa/issues/12373
@@ -24,7 +31,7 @@
 #! [NOTE] v1.173+ change base docker image . missing key_*.json in fxa-auth-server so we change to branch br-v1.174.0 to apply breaking changes
 
 #! by default we use tested version , using latest at your own risk.
-fxa_version: "v1.235.1"
+fxa_version: "v1.277.3"
 option:
   sync:
     #! set true to keep all your sync items not expired
@@ -152,8 +159,9 @@
       key:
 mail:
   #! types are  "localhelper" ,  "localrelay" ,"3rd"
-  #! smtp_user/smtp_pass is required (can be any non-null string) even not used.
+  #! smtp_user/smtp_pass is required for "localrelay" and "3rd" (can be any non-null string) even not used.
   #! "localhelper" uses fxa-auth-local-mail-helper which self sending and receiving and smtp_host/smtp_port/smtp_user/smtp_pass/smtp_secure do not affect.
+  #!               mails are stored in memory , remeber to clean them (by DELETE api or restart container)
   #! "localrelay" use exim-sender  and smtp_host/smtp_port/smtp_user/smtp_pass/smtp_secure do not affect.
   #! "3rd"  send mail to 3rd (like gmail etc)
   type: "3rd"
@@ -173,7 +181,7 @@
 #! for example we add a OAuth Client which can read / write your sync data after granted by you
 oauth:
   clients:
-  #! [NOTE] DELETE BELOW IF NOT USED
+  #! [NOTE] DO NOT ENABLE BELOW IF NOT USED
 #!  - id: deadbeafdeadbeaf
 #!    #! hex secret SECRET
 #!    hashedSecret: SECRET
@@ -211,3 +219,5 @@
   #! if you want fxa-graphql-api communicate with fxa-auth-server internally , turn this `true`
   #! [WARN] browserid-verifier will not work. Since BrowserID is deprecated, just do not use old browser or python `syncclient`
   full_self_sign_workaround: false
+  #! Use a [python3 version syncserver](https://github.com/jackyzy823/syncserver3)
+  use_syncserver3: false

Finally Mysql 8.4 made troubles coming up with error "Container dest-waitforinfra-1 / service "waitforinfra" didn't complete successfully: exit 1".

First Problem was:

Fatal glibc error: CPU does not support x86-64-v2

32 x Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz (2 Sockets) // Running Proxmox 8.2.4

setting the CPU for this Proxmox VM to

x86-64-v2

solved the problem.

Finnaly MySQL ended with Error:

[InnoDB] Cannot open datafile for read-only: 'mysql.ibd' OS error: 71

I was not able to solve this one, so I switched back to the old snapshot.

Any hints how to overcome this upgrade problem?

Thank you

@jackyzy823
Copy link
Owner

Hi, this may related to mysql docker image requires new CPU architecture.

You could try to change

image: mysql:8.4
to mysql:8.4.0-oraclelinux8 as discussed in the docker-library/mysql#1055

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

No branches or pull requests

2 participants