[CONJ-1025] MariaDB 3.1 driver increases application size of about 4MB Created: 2022-11-18 Updated: 2023-01-09 Resolved: 2023-01-09 |
|
| Status: | Closed |
| Project: | MariaDB Connector/J |
| Component/s: | documentation |
| Affects Version/s: | 3.1.0 |
| Fix Version/s: | 3.1.1 |
| Type: | Bug | Priority: | Major |
| Reporter: | Roland Praml | Assignee: | Diego Dupin |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Description |
|
Hello, we noticed an increase of our application of about 5MB when upgrading from 3.09 to 3.1.0 while the MariaDB driver (groupId : org.mariadb.jdbc, artifactId : mariadb-java-client) grows only from ~ 590K to 630K, we noticed, that it had a lot of new dependencies:
It seems that the windows authentication framework (https://github.com/Waffle/waffle) will require these dependencies. As we (and many others) will use the driver in a linux environment, these dependencies are useless there. I assume also, that there are many people that would not use this feature in windows environment. |
| Comments |
| Comment by Diego Dupin [ 2022-11-21 ] | ||||||||||||||||
|
Since 3.1.0, waffle is set as dependency, in order to permit simple use for GSSAPI for windows. This have some impact on size, but generally connector must have simple use for default configuration. That's a good point this must be documented: Waffle can be removed using <exclusions> in maven for example. This will be added. | ||||||||||||||||
| Comment by Diego Dupin [ 2022-11-21 ] | ||||||||||||||||
|
(noted for 3.1.1 in order to avoid beeing forgotten) | ||||||||||||||||
| Comment by Diego Dupin [ 2022-11-21 ] | ||||||||||||||||
|
To make it more comprehensive : My point is having waffle as dependency solve those issues, making waffle as a required dependency Still connector will work all the same if not using windows GSSAPI authentication, then excluding dependency :
or using graddle:
solve this size increase. Documenting above solution would seems ok for you ? | ||||||||||||||||
| Comment by Roland Praml [ 2022-11-21 ] | ||||||||||||||||
|
Hello Diego, thanks for the quick response. Do you have an estimation, how often GSSAPI is used? If these are only a few percent, I think it would be better to make them optional (as also mentioned here: https://mariadb.com/kb/en/gssapi-authentication-with-mariadb-connector-j/) I always prefer to have as few dependent libraries in the application as possible. On the one hand because of the size, on the other hand because of possible security gaps. But I'm also satisfied if it's only in the documentation. | ||||||||||||||||
| Comment by Pavel Cibulka [ 2022-12-06 ] | ||||||||||||||||
|
That is exactly what optional are for. | ||||||||||||||||
| Comment by Diego Dupin [ 2022-12-21 ] | ||||||||||||||||
|
PavelCibulka Of course. It was optional before. | ||||||||||||||||
| Comment by Diego Dupin [ 2023-01-09 ] | ||||||||||||||||
|
Documentation added: https://mariadb.com/kb/en/about-mariadb-connector-j/#size-consideration | ||||||||||||||||
| Comment by Diego Dupin [ 2023-01-09 ] | ||||||||||||||||
|
I'm closing this issue, since this is a documentation issue. |