-
The attached stack trace points to an old MariaDB JDBC driver. I reproduced the parsing failure using the exact SQL from the attachment:
mariadb-java-client-2.3.0.jarrecognizes only 3 of its 6 parameter placeholders, so binding parameter 4 (latest) fails. The currently bundledmariadb-java-client-3.5.10.jarcorrectly recognizes all 6. The old driver's exception location also matches the attached stack trace.The bundled driver was already updated for issue #3135 in commit
a52c35ef163eee83a0a460303fcedc9b2ccb99e5. However, OneDev upgrades preserve the existingsite/libdirectory, so upgrading OneDev can leave the old driver in use.Please stop OneDev, replace the old MariaDB JDBC JAR in the installation's
site/libdirectory withmariadb-java-client-3.5.10.jarfrom the current OneDev distribution, and restart. Remove the old MariaDB JDBC JAR from that directory so only one version remains. For the official Docker image, the active installation uses/opt/onedev/site/lib; the bundled replacement is in/app/site/lib.This was verified at the JDBC SQL-parser level; an end-to-end container push/pull against the affected installation has not been run. No source change is needed for the reported driver parsing failure on the current branch.
-
Previous Value Current Value Open
Closed
| Type |
Bug
|
| Priority |
Normal
|
| Assignee | |
| Affected Versions |
17.0.1
|
| Labels |
No labels
|
Pushing (and pulling) an image to the built-in container registry fails when OneDev uses an external MariaDB database.
The server log is attached onedev_error_mariadb_2.txt
Environment / what I’ve ruled out:
Reproduces on MariaDB 10.11 and MariaDB 13 → not a server-version issue; it’s at the driver/query level.
sql_mode does not contain NO_BACKSLASH_ESCAPES (default: STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION).
Blob uploads and manifest-by-digest PUTs succeed; only the by-tag HEAD/lookup fails.