MariaDB 10.4 keeps throwing "index too large"

Sorry if this is the wrong sub-forum - but it was the best fitting as a “general” area as this topic doesn’t fit any other sub …

So, I upgraded from 15.1 to 15.2 and was surprised by 15.2 have quite a lot of stuff in the main repo now that I had to add via external repos until now (all the way from back 13.x). As I use Apache James as my mail server I had an issue when upgrading from 15.0 to 15.1. IIRC 15.1 came with MariaDB 10.2, the mariadb repo was at 10.3 at this time. As I started James 3.3 for the first time on 15.1 with MariaDB 10.2 it kept crashing with “index too large”. After asking on the james mailing list I got the hint to switch from opensuse repo to mariadb repos and use current 10.3. This fixed the issue so many came to the result: must had been an issue with 10.2.
As I now upgraded from 15.1 to 15.2 and noticed MariaDB 10.4 is in opensuse repos I tried it again - and failed again. After I switched to mariadb repo with 10.5 the issue was resolved once more.
After discussing this on the james mailing list it now looks like it never was an issue with MariaDB 10.2 neither with current 10.4 - but rather with some difference between official main mariadb repo and opensuse “fork” of it - as even when comparing 10.2 on 15.1 between opensuse repo and mariadb repo and 10.4 on 15.2 the effect is the same - which in turn rules out any differences between 10.2 vs 10.3 or 10.4 vs 10.5 respectively.

Does anyone know more about how opensuse version differs from master so it keeps throwing this

General error: 1709 Index column size too large. The maximum column size is 767 bytes.

Asking Google shows it seem to be a rather general issue when trying to create big tables with big indexes - but it doesn’t make sense to me the error only occurs when using the version from opensuse repo and can be simply fixed just by switching to mariadb master repo with same version.
Why this topic? It’s not like adding the master repo after fresh setup of the OS is any issue - but what’s the difference to include somethin in the main distro repo when it differs from it’s “clean master” in a way so it breaks when someone tries to go a bit bigger?
It also led to a rather interesting argue on the james list as the dev team uses some standardized built environment which passes all tests and such - but tryin it on a clean opensuse with all the requirements installed fails quite a lot of tests and sometimes even breaks the built for unknown reason. Does suse make so many changes to the packages so that somethin written against “the original” just breaks when combined with suse version? Or am I missing some point about difference between “original” and “distribution specific”?

I’m just confused about this topic. As I only use pre-built binaries from the repos instead of building the whole system myself from source (I gave Linux From Scratch a try once - but as it took several DAYS I gave up about 1/3 of the way through) I guess they’re all built in some standardized environment as well - so, is it this build environment doin something funky to what results from source - or is the source already changed beyond a point it’s way too different from master?
Guess I still have quite a lot to learn about linux in general … although I’m “using” it for at least the last 5 years …

Doing a Google search on the error,
The following first result seems pretty convincing, should fit your description completely.

https://stackoverflow.com/questions/30761867/mysql-error-the-maximum-column-size-is-767-bytes
https://stackoverflow.com/questions/1814532/1071-specified-key-was-too-long-max-key-length-is-767-bytes

If you implement any of the several solutions and fixes the problem,
Pls submit a bug to https://bugzilla.opensuse.org.

The error you’re seeing should have been addressed many MySQL/MariaDB versions ago…

TSU

well - as explained: when I use a version from the mariadb.org repo all works fine - but when I use the version currently on the opensuse repo it throws this error which you said shouldn’T exists
so - at least to me without any further knowledge - this seems as there’s something “not right” with what’S currently in the opensuse repos - as it’s not about the version that causes the error - but from which repo I install it
and as I encountered quite a lot of changes made in the suse repos which differ from “vanilla” I just suspect the issue to be in either some change in the suse-sepcific version - or that some fix from the vanilla was not implemented correctly or not at all
hence my question: does anyone know how opensuse 10.4 differs from maridb 10.4 that may could cause this error only occuring when using the opensuse-specific version?

btw: I had a similar issue back when MySQL was the default - there was some update to it - it also was opensuse specific - that broke my entire database (a few gigabyte of data - I was able to recover it) - as I switched to some more generic repo all was fine again - TLDR: it’s not the first time I have issues with opensuse-specific packages - and it’s the second time mysql/mariadb related