Summary
Custom community connectors can be built for Dremio using the ARP Framework. This article discusses a build error against the CredentialsService class.
Reported Issue
When building a custom connector against Dremio v24.3.0 or above you may encounter the following build error for the CredentialsService class:
[INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 28.218 s [INFO] Finished at: 2024-02-22T09:39:42Z [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.0:compile (default-compile) on project dremio-myConnector-plugin: Compilation failure: Compilation failure: [ERROR] /dremio-myConnector/src/main/java/com/dremio/exec/store/jdbc/conf/myConnectorConf.java:[27,68] cannot find symbol [ERROR] symbol: class CredentialsService [ERROR] location: package com.dremio.security [ERROR] /dremio-myConnector/src/main/java/com/dremio/exec/store/jdbc/conf/myConnectorConf.java:[112,85] cannot find symbol [ERROR] symbol: class CredentialsService [ERROR] location: class com.dremio.exec.store.jdbc.conf.myConnectorConf
Relevant Versions
Dremio v24.3.0 and above
Cause
This is caused by a refactoring of the Dremio server code.
Steps to Resolve
Amend your connector conf file ( myConnectorConf.java in the above error example ) by changing the following import statement:
import com.dremio.security.CredentialsService;
to
import com.dremio.services.credentials.CredentialsService;
Then rebuild the connector.