#1 2024-02-14 12:35:11

Uddeep
Member
Registered: 2024-02-14

missing table RS_ACE

Application startup complaints about missing table RS_ACE, but in fact the table is present.
Dont understand what is missing


MariaDB [reportserver]> show tables like "RS_ACE";
+---------------------------------+
| Tables_in_reportserver (RS_ACE) |
+---------------------------------+
| RS_ACE                          |
+---------------------------------+
1 row in set (0.002 sec)


Version: RS4.6.2-6102 2023-12-07-11-58-55
Code Version: 2023-11-27-16-29-10
Java Version: Ubuntu OpenJDK 64-Bit Server VM 11.0.21+9-post-Ubuntu-0ubuntu122.04 (11)
VM Args: --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/jdk.internal.reflect=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED -Djavax.net.ssl.trustStoreType=JKS -Dfile.encoding=UTF-8 -Djava.awt.headless=true --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED -Djava.util.logging.config.file=/var/lib/tomcat9/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.awt.headless=true -Xmx4g -XX:+UseConcMarkSweepGC -Dfile.encoding=UTF8 -Drs.configdir=/opt/reportserver -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -Dcatalina.base=/var/lib/tomcat9 -Dcatalina.home=/usr/share/tomcat9 -Djava.io.tmpdir=/tmp
Max memory: 3.98 GB
Groovy Version: 4.0.15
JVM Locale: en_US
JVM user language: en
JVM user country: US
JVM user timezone: Europe/Amsterdam
JVM file encoding: UTF8
JVM server time: 2024-02-14T13:19:23.172549+01:00[Europe/Amsterdam]
Operation system: Linux 5.15.0-91-generic (amd64)
rs.configdir: /opt/reportserver (OK)

### DB Config ###
hibernate.dialect: net.datenwerke.rs.utils.hibernate.MariaDbDialect (OK)
hibernate.connection.driver_class: org.mariadb.jdbc.Driver (OK)
hibernate.connection.url: jdbc:mariadb://localhost:3306/reportserver (OK)
hibernate.connection.username: reportserver
hibernate.default_schema:

Connection Test: OK
Schema Version: RS3.0-26

### Internal datasource metadata ###
Database name: MariaDB
Database version: 10.6.16-MariaDB-0ubuntu0.22.04.1
Driver name: MariaDB Connector/J
Driver version: 3.2.0
JDBC major version: 4
JDBC minor version: 2
JDBC URL: jdbc:mariadb://localhost/reportserver?user=reportserver&password=***
JDBC username: reportserver

### SSL ###
Supported SSL protocols: TLSv1.3, TLSv1.2, TLSv1.1, TLSv1, SSLv3, SSLv2Hello
Default SSL protocols: TLSv1.3, TLSv1.2
Enabled SSL protocols: TLSv1.3, TLSv1.2
Schema-validation: missing table [RS_ACE]

Offline

#2 2024-03-05 20:10:34

jaime
Member
Registered: 2023-12-05

Re: missing table RS_ACE

We are having exactly the same issue using MariaDB

Last edited by jaime (2024-03-05 20:11:22)

Offline

#3 2024-03-06 10:41:58

Uddeep
Member
Registered: 2024-02-14

Re: missing table RS_ACE

jaime wrote:

We are having exactly the same issue using MariaDB

I got it working by adding "rs.validateschema=false" in persistence.properties file.

Offline

#4 2024-03-06 10:57:54

malte_if
Administrator
Registered: 2023-05-10
Website

Re: missing table RS_ACE

Hi Uddeep,
hi jaime,

this seems to be a problem with case-sensitivity when using MariaDB or MySQL.

See https://mariadb.com/kb/en/identifier-case-sensitivity/ or https://dev.mysql.com/doc/refman/8.0/en … ivity.html for further details.

Kind regards
Malte

Offline

#5 2024-03-06 11:32:46

Uddeep
Member
Registered: 2024-02-14

Re: missing table RS_ACE

Hello Malte,

Understood about the case-sensitivity.
The required DB and tables are created using reportserver-RS4.6.2-6102-schema-MySQL5_CREATE.sql.
Doesn't the reportserver application not validate case-sensitive'ly ??
How can we fix this problem?

Offline

#6 2024-03-06 13:33:16

malte_if
Administrator
Registered: 2023-05-10
Website

Re: missing table RS_ACE

Hi Uddeep,

not 100% sure but in we noticed the problem with newer MariaDB- an MySQL-Servers. ReportServer itself seems not to be responsible for that behaviour.

It is about how data is stored on the disk and how the database compares names in a case-sensitive manner.

https://mariadb.com/docs/server/ref/mdb … ble_names/

The lower_case_table_names system variable determines whether table names, table aliases, and database names are compared in a case-sensitive manner, and whether tablespace files are stored on disk in a case-sensitive manner.:

    When set to 0 (the default on Unix-based systems), table names, table aliases, and database names are compared in a case-sensitive manner.

    When set to 1 (the default on Windows), table names and database names are stored in lowercase and compared in a case-insensitive manner.

    When set to 2, table names and database names are stored as declared, but they are compared in lowercase. This value is rejected if the server is using a case-sensitive file system. If set to 0 and the server is using a case-insensitive file system, the value is automatically set to 2. For example, this would happen on Mac OS X when using HFS+ or APFS, except when APFS is used in case-sensitive mode. If set to 2 and the server is using a case-sensitive file system, the value is automatically set to 0. For example, this would usually happen on Linux, since it almost always uses a case-sensitive file system.

Regards
Malte

Offline

#7 2024-03-12 18:27:11

jaime
Member
Registered: 2023-12-05

Re: missing table RS_ACE

This worked for me. Thanks.

Uddeep wrote:

I got it working by adding "rs.validateschema=false" in persistence.properties file.

Offline

#8 2024-03-18 05:19:09

eduardo
Administrator
Registered: 2016-11-01
Website

Re: missing table RS_ACE

Hi jaime and Uddeep,

although turning off schema validation might (seem to) work for this specific problem, I don't recommend turning it off. If there is no check of schema on startup and the schema is not valid, ReportServer may start anyway, but you'll get errors in the least expected moments.

You can try to set lower_case_table_names=1 (refer to https://stackoverflow.com/questions/613 … -sensitive )

Regards,
Eduardo

Offline

#9 2024-03-18 05:48:23

Uddeep
Member
Registered: 2024-02-14

Re: missing table RS_ACE

Hello Eduardo,

on your suggestion, i have set my mariadb config with "lower_case_table_names=1". Since that will impact only existing tables that are created and not the existing ones, i have renamed all the existing tables of reportserver to lowercase as `RS_ACE` TO `rs_ace`.

But still the schema validation is failing with below.

18-Mar-2024 06:41:21.450 INFO [main] net.datenwerke.rs.EnvironmentValidator.startup Validating database schema...
18-Mar-2024 06:41:25.240 SEVERE [main] net.datenwerke.rs.EnvironmentValidator.hibernateValidateSchema Schema-validation: missing table [RS_ACE]
18-Mar-2024 06:41:25.242 SEVERE [main] net.datenwerke.rs.ReportServerServiceConfig.getInjector ReportServer encountered an error while validating its environment. Startup interrupted.

PS: i have also tried to start application before renaming to lowercase, still the exact same error as above.
Could you please suggest where exactly the schema validation is going wrong?

Offline

#10 2024-03-18 06:14:57

eduardo
Administrator
Registered: 2016-11-01
Website

Re: missing table RS_ACE

Hi Uddeep,

can you try with lower_case_table_names=2?
"2 - lettercase specified in the CREATE TABLE or CREATE DATABASE statement, but MySQL converts them to lowercase on lookup. Name comparisons are not case sensitive."

Maybe the "lookup" has to be changed as stated here.

Regards,
Eduardo

Offline

#11 2024-03-18 12:03:46

Uddeep
Member
Registered: 2024-02-14

Re: missing table RS_ACE

Hi Eduardo,

lower_case_table_names=1 worked.

I just had to first rename all tables to lowercase, update mariadb config with lower_case_table_names=1 and restart DB and Tomcat.
Earlier, i did it in wrong order.

Thanks for the help.

Offline

Board footer

Powered by FluxBB