I am stil learning how this system works, so please bear with me.
ATM I only get the server.out log in /var/log/dremio so i think I am missing some high level logging setting to enable logging. (queries.json is not logged either)
I will post back here when I have more information.
Thank you for showing interest and helping out. I have added the logger and found the log information I was looking for:
2024-03-29 15:25:44,384 [main] DEBUG c.d.e.store.jdbc.conf.FirebirdConf - createDialect called
2024-03-29 15:25:44,421 [main] ERROR c.d.e.s.jdbc.conf.AbstractArpConf - Error creating dialect from ARP file arp/implementation/firebird-arp.yaml.
com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of `com.dremio.exec.store.jdbc.dialect.arp.Mapping`, problem: Invalid Dremio typename specified in ARP file: 'char'.
at [Source: (StringReader); line: 55, column: 5] (through reference chain: com.dremio.exec.store.jdbc.dialect.arp.ArpYaml["data_types"]->com.dremio.exec.store.jdbc.dialect.arp.DataTypes["mappings"]->java.util.ArrayList[3])
at com.dremio.exec.store.jdbc.dialect.arp.ArpYaml.createFromFile(ArpYaml.java:65)
at com.dremio.exec.store.jdbc.conf.AbstractArpConf.loadArpFile(AbstractArpConf.java:22)
at com.dremio.exec.store.jdbc.conf.FirebirdConf.createDialect(FirebirdConf.java:51)
at com.dremio.exec.store.jdbc.conf.FirebirdConf.<clinit>(FirebirdConf.java:54)
at com.dremio.exec.store.jdbc.dialect.arp.Mapping.convertDremioTypeStringToCompleteType(Mapping.java:158)
at com.dremio.exec.store.jdbc.dialect.arp.Mapping.<init>(Mapping.java:135)
This static code is called earlier than I expected and got lost in other log messages. And I am unfamiliar with the logging concepts used, so I had to learn how to use logback and docker logs.
My current setup basically uses the docker compose setup from this post. I have spent some time on finding the log files, but in the docker containers they are not available for some reasons. So I resorted to docker logs -f dremio | grep ".jdbc.".
I will now proceed by removing all types from the mapping file, and then systematically adding the ones I need.
happy to help, I suggest you use gradle and base yourself on the snowflake connector or my db2 connector, which are more complete than the mapping that the one you are using has
Build Information
Build
24.3.2-202401241821100032-d2d8a497
Edition
Community Edition
Build Time
24/01/2024 18:31:10
Change Hash
d2d8a49790d59599d617f25f6020731f0260178d
Change Time
24/01/2024 18:11:23
hello, sorry by delay, I was able to reproduce the error, it was any in your Conf in your connector, let me fix, also I recommend change to gradle let me do it also, I’ll tell you when fix it
debugin a local instance of Dremio I see that in ParamConverters class jersey cannot deserialice the request and is because you are set @SourceType(value = "firebird" in lowercase and dremio need in uppercase, also the correct constant driver is
private static final String DRIVER = "org.firebirdsql.jdbc.FBDriver";
you are welcome. I recommend you that review snowflake connector and my db2 connector both have many years in production.
while you test put and review in trace or debug log so toy can show in logs all failed pushdowns to database because you can see that query run success but if you review logs you can check that some operators, functions etc are no pushed down causing bad performance on run queires and stress your original dstasource
Also review the job profile in pisical plan you can view the final native sql pushed down to database