You can translate the question and the replies:

Denodo doesn't recognize local file within stored procedure

I have denodo platform 8.0 running on EC2 installed using cloudformation template as per the installation guide by Denodo. I am trying to create a custom stored proc which has to read a license file (locally saved inside /opt/denodo/denodo-platform8.0/data). The stored procedure gets registered through extension management but teh local license file is not read/recognized and thows exception. What can I do? Please suggest solution or any further details you need for helping. Is there anywhere I can find related logs? I didn't find anything logged in vdp.log file My doCall method looks like this, the exception is thrown from the last line: public void doCall(Object[] inputValues) throws StoredProcedureException { String licensePath = "/opt/denodo/denodo-platform-8.0/data/license.sig"; System.setProperty("ai.h2o.mojos.runtime.license.file", licensePath); ResultSet rs = null; try { String query = "select * from mojodb.creditcard_train"; rs = this.getEnvironment().executeQuery(query); MojoPipeline model = null; try { model = MojoPipelineService.loadPipeline(new File("/opt/denodo/denodo-platform-8.0/data/pipeline.mojo")); //MojoPipeline.loadFrom("provide/absolute/system/path/"); decprecated method } catch (IOException e) { this.getEnvironment().log(LOG_ERROR,e.getMessage()); e.printStackTrace(); } //catch (LicenseException e){ //this.getEnvironment().log(LOG_ERROR,e.getMessage()); e.printStackTrace(); } ** catch (Exception e) { this.getEnvironment().log(LOG_ERROR,e.getMessage()); e.printStackTrace(); }** After publishing the stored procedure using extension manager and then execute, I get the following error: Finished with error: Error executing query. Total time 0.193 seconds. QUERY [PROJECTION] [ERROR] MOJOSCORER [STORED_PROCEDURE] [ERROR] DENODOMOJOSCORER [STORED PROCEDURE] [ERROR] Received exception with message 'ai/h2o/mojos/runtime/api/MojoPipelineService'

4 Answers

Hi, With regards to debugging your custom stored procedure, I suggest setting up a Denodo 4E Debug Configuration. You can refer to this documentation, [Creating Debug Configurations for the VDP/ITP Server and the VDP Administration Tool](https://community.denodo.com/docs/html/browse/8.0/en/denodo4e/vdp_itp_server_tutorial/vdp_itp_server_tutorial#creating-debug-configurations-for-the-vdp-itp-server-and-the-vdp-administration-tool), to help you get started. Setting up a debugging configuration may help in providing more insight on the source of these errors, compared to these error statements alone. Hope this helps!
Denodo Team
21-05-2021 15:06:24 -0400
I am usign the denodo 4e exclipse plugin and addign the extension to denodo VDP server. I have having the same issue and don't see any additional logs. Can you please help suggest what's the relevent logs and where to find these files? Also we are not free support. Is there anywhere I can log a support ticket?
user
26-05-2021 18:18:00 -0400
Hi, The relevant logs should be appearing in the log files found at <DENODO_HOME>/logs/vdp. But in addition to these log files, by creating a debugging configuration for your stored procedure and setting up breakpoints in the doCall method of the CustomStoredProcedure class, Eclipse will display the debugging information for you, which I think could provide more clarity. If you continue to face errors and have a valid support account, you can open a support case on Denodo [Support Site](https://support.denodo.com/) so that the support team can help you. Hope this helps!
Denodo Team
28-05-2021 13:15:42 -0400
It looks like Denodo cannot find the class "ai/h2o/mojos/runtime/api/MojoPipelineService" in the classpath. You have two options: 1. Import the jars of your dependencies to Denodo: see [Importing Other Types of Elements](https://community.denodo.com/docs/html/browse/8.0/en/vdp/administration/importing_extensions/importing_extensions#importing-a-jdbc-driver). In the box **Resource type** of this dialog, select **other** before selecting the jars you want to upload to Denodo. 2. Or, in the jar of your stored procedure, add all the classes of the jars that this stored procedure needs. Either way, it will work. But I would go with #1 if you plan on creating several stored procedures that depend on the same classes. That way, Denodo only loads all these classes once in memory.
Denodo Team
07-06-2021 05:08:11 -0400
You must sign in to add an answer. If you do not have an account, you can register here