[MDEV-26218] connect engine JDBC on Debian 10 missing JavaWrappers.jar Created: 2021-07-22  Updated: 2023-08-30

Status: Stalled
Project: MariaDB Server
Component/s: Platform Debian, Storage Engine - Connect
Affects Version/s: 10.4.20
Fix Version/s: 10.4, 10.5, 10.6

Type: Bug Priority: Critical
Reporter: Robert Dyas Assignee: Otto Kekäläinen
Resolution: Unresolved Votes: 0
Labels: Papercut
Environment:

Debian 10 buster


Issue Links:
Relates
relates to MDEV-31015 MariaDB Connect JavaWrappers.Jar not ... Closed

 Description   

The JavaWrappers.jar file needed by Connect Engine JDBC is missing on the Debian 10 build.

On Centos 7 (from MariaDB upstream) the JavaWrappers.jar file is located in /usr/share/mysql but on Debian 10 it is not anywhere in the filesystem.



 Comments   
Comment by Otto Kekäläinen [ 2021-08-04 ]

What packages do you exactly have installed, what are you reporting this issue about?

Please submit the result of this command:

dpkg -l | grep -i mariadb

Comment by Robert Dyas [ 2021-08-04 ]

Results below.

Normally (on centos7 for example) there is a file called JavaWrappers.jar that is included in the plugin directory when the connect-engine package is installed (that file is required to be on the Java classpath for connect engine JDBC).
The file is simply not there on the debian 10 install. I assume its just a simple file include thing.

$ dpkg -l | grep -i mariadb
ii  libdbd-mysql-perl:amd64               4.050-2                       amd64        Perl5 database interface to the MariaDB/MySQL database
ii  libmariadb3:amd64                     1:10.4.20+maria~buster        amd64        MariaDB database client library
ii  mariadb-backup                        1:10.4.20+maria~buster        amd64        Backup tool for MariaDB server
ii  mariadb-client-10.4                   1:10.4.20+maria~buster        amd64        MariaDB database client binaries
ii  mariadb-client-core-10.4              1:10.4.20+maria~buster        amd64        MariaDB database core client binaries
ii  mariadb-common                        1:10.4.20+maria~buster        all          MariaDB database common files (e.g. /etc/mysql/conf.d/mariadb.cnf)
ii  mariadb-plugin-connect                1:10.4.20+maria~buster        amd64        Connect storage engine for MariaDB
ii  mariadb-server                        1:10.4.20+maria~buster        all          MariaDB database server (metapackage depending on the latest version)
ii  mariadb-server-10.4                   1:10.4.20+maria~buster        amd64        MariaDB database server binaries
ii  mariadb-server-core-10.4              1:10.4.20+maria~buster        amd64        MariaDB database core server files
ii  mysql-common                          1:10.4.20+maria~buster        all          MariaDB database common files (e.g. /etc/mysql/my.cnf)

Comment by Anel Husakovic [ 2021-08-14 ]

Based on 3c922d6defcfa6be819fe33794abcf507bb70c25 it should be in mariadb-test-data package.

Comment by Robert Dyas [ 2021-08-14 ]

No such folder installed when connect itself is installed.

Comment by Robert Dyas [ 2021-08-14 ]

Are you saying I would need to install the mariadb-test package just to get teh JavaWrappers.jar file? That is a production file, not a test file.

Rather than install all that, if it can't be included in the mariadb-plugin-connect package maybe you can make a seperate mariadb-plugin-connect-jdbc package that includes the needed file(s)?

I'm not sure I understand.

Comment by Otto Kekäläinen [ 2021-08-16 ]

WIP: https://github.com/MariaDB/server/pull/1890

I don't fully understand where and how exactly the jar package is build and what are the build-time and run-time dependencies of it. Can anel research and dig around in CMake code how it does it?

Comment by Tuukka Pasanen [ 2021-10-05 ]

rdyas are you using official packages from MariaDB CentOS 7 not CentOS original RPM packages? As I didn't find original RPM packages that contains JAR-package.

Comment by Robert Dyas [ 2021-10-05 ]

Sorry, this issue is on Debian 10 not cent os.
Mariadb was installed by setting up the repo from the mariadb website instructions.

Comment by Tuukka Pasanen [ 2021-11-04 ]

rdyas I understand that this is Debian 10 problem. I just wanted to have clarification as CentOS original MariaDB does not offer these jar-packages

Comment by Robert Dyas [ 2021-11-04 ]

Aaah. They must have at one time and been dropped from all builds? Just guessing. Connect Engine JDBC can't work without it.
Is Olivia still working on it? Maybe he could shed some light here.

Comment by Tuukka Pasanen [ 2021-11-05 ]

You said you need JDBC support in ha_connect/Connect Engine? Then it has to be enabled on that also because currently it's not supported and there is no JNI/JDBC support in Connect Enginen it's worth of nothing to have jar file as there is no endpoint for it.

Comment by Robert Dyas [ 2021-11-05 ]

Tuukka... I'm not sure what you mean. We installed the Connect package on Debian and only use it for Connect JDBC... the only thing we needed to do to get it to work was grab the JavaWrappers.jar from an older install.

Connect engine does have JNI/JDBC support if you were not aware... we have been using it for years now.
You docs:
https://mariadb.com/kb/en/connect-jdbc-table-type-accessing-tables-from-another-dbms/

Comment by Tuukka Pasanen [ 2021-11-12 ]

rdyas yes that was what I was after as Connect Engine needs support for JDBC/Java connect when linking. Hmm.. strange that is works without but it's kind of good thing. As Debian does not want just 'binary' blobs if source is available so it makes it little more complicated but in PR we'll sort it out.

Comment by Tuukka Pasanen [ 2022-04-12 ]

otto should we get this on target or should I take this bug ownership?

Comment by Otto Kekäläinen [ 2022-04-12 ]

illuusio I will dive into this over the weekend and try to finalize https://github.com/MariaDB/server/pull/1890 over the weekend.

Generated at Thu Feb 08 09:43:38 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.