OHDSI Home | Forums | Wiki | Github

Achilles Run issues - Oracle


(Chris Knoll) #21

Last hint, this is MAC instructions, but may also apply to linux:


(Sarath Manikonda) #22

@Chris_Knoll
You are right, R is not picking up the correct Java version. Let me follow the instructions to make R chose the correct Java version.
I will keep you posted. Thanks for your help.


(Sarath Manikonda) #23

Quick update from my end:

  • executed the command: sudo R CMD javareconf
    and found that R is picking up the latest Java installed i.e.:
    > library(rJava)
    > .jinit()
    > .jcall(“java/lang/System”, “S”, “getProperty”, “java.runtime.version”)
    [1] “11.0.2+9-LTS”
    >

When I ran Achilles after that, it is running with out any errors. I ran it in Single Thread mode and it is still running (for more than 2 hrs now).

Few queries I have:

  1. My understanding is that: The Data Sources in Atlas will be populated (I can see the drop down list in ‘Data Sources -> Select a Source’), once the Achilles run is completed. Right?

  2. The Configuration in Atlas looks ok. Can you please confirm if it looks ok.

  3. In the Jobs section, I always see that Warming up for the results is always failing. I am not sure if that is an issue.
    a) Can I manually initiate the warming up, or is it always done automatically.
    b) Will this cause an issue in the Data sources getting populated in Atlas?

  4. How can I force stop the Achilles run, so that I can rerun it in MultiThread mode (in case it takes too long in Single thread mode).


(Sarath Manikonda) #24

Here are the screenshots for the queries:


(Chris Knoll) #25

The dropdown in Data Sources is populated based on the values in source and source_daimon, regardless of if you ran Achillse. You will get an error when trying to access a report if you did not run Achilles.

It looks like you have 2 sources, one with a CDM schema, one with a Results schema You should have your cdm schema and results schema attached to the same source (ie: both daimons have the same source_id.

That’s a problem you should investigate. Check your logs. Probably related to the lack of Achilles results,since warming the cache reads from the Achilles results tables (for record counts in vocabulary). It automatically starts up when WebAPI is started (ie: not when you refresh your browser (that is Atlas), but when you start the WebAPI service. It will not have an impact on the Data Sources in Atlas, since the dropdown is populated by the values in the Source/SourceDaimon table and if you try to access a report that doesn’t have achilles tasbles, it will just give you an error loading the report.

Safest way is to kill the execution at the database level. That will signal back to R that the statement was terminated and it will gracefully end the Achilles process. if you try to close the R process, it may still leave the execution hanging on the oracle side.

It is very important that your tables are properly indexed when doing the achilles analysis. It is touching every record and aggregating by concepts, so having an index by conceptId on any table with a _concept_id column would be helpful. For other queries, indexing on person_id is helpful. I do not have a lot of oracle performance experience, so I can’t give you specific guidance there. You may need to discuss with your local DBA.


(Sarath Manikonda) #26

@Chris_Knoll,

Thanks a lot for your responses. They are very helpful.
For the Results schema -

  • All the tables in this schema will be empty before we run Achilles, right?
  • When we run Achilles for the second time (or any subsequent run), do we need to truncate all the tables in the results schema? i mean should all the tables in results schema be empty before each run of Achilles?

(Chris Knoll) #27

Only the tables that start with achilles_ are used by Achilles. I’m not sure if you run the process again, it truncates those tables (@Ajit_Londhe, can you confirm?). The other tables in the results schema are used by Atlas/WebAPI analysis executions (cohort generations, etc). You can ignore those tables, they are not used by Achilles.


(Ajit Londhe) #28

If you use the createTables parameter, the Achilles tables will be dropped and recreated. If you don’t, then all analyses you specify will be deleted from the Achilles tables and rerun.


t