Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 3.3.0 planning #1128

Open
azimov opened this issue Aug 14, 2024 · 6 comments
Open

Release 3.3.0 planning #1128

azimov opened this issue Aug 14, 2024 · 6 comments

Comments

@azimov
Copy link
Collaborator

azimov commented Aug 14, 2024

After discussion earlier I have the following steps that we need for a 3.3.0 release:

Improve unit test speed

This is a fairly broad goal - the overall objective is to half the total test time for the unit tests to make it easier to change the package.

To achieve this we have a few points:

  • Investigate DittoDb for caching query results
  • Reduce the test burden for PRs by having unit tests run only on sqlite (and then run on the full database suite when they get merged into develop)
  • Isolated tests for each diagnostic function instead of running everything multiple times - this will reduce a lot of the redundant execution

Support use achilles for precomputed concept counts

Fix sampling for FE

The sampling feature should speed up feature extraction in a lot of cases, #1114 addresses that this should only happen for feature extraction as results were weird for other packages

R Check segfaults on GA Mac

It is still unclear to me why this is happening but it could be in a dependent package (possibly ResultModelManager). This requires improvement

@ablack3 @cebarboza please add to this discussion as I likely missed something from our meeting

@ablack3
Copy link
Collaborator

ablack3 commented Aug 23, 2024

We also considered moving the shiny app code from OhdsiShinyModules to CohortDiagnostics.

@ablack3
Copy link
Collaborator

ablack3 commented Aug 26, 2024

I've been experimenting with the tests. I decided to try to maximize code coverage in the smallest amount of execution time and just see where that gets us. I'm only running tests on a synpuf duckdb database and they run in under a minute. Current code coverage is around 80%. It's a starting point. I'm thinking we will want to run the full test suite before releasing but running only on duckdb during development seems ok.

There are definitely features in the package I'm not very familiar with like the data migrations and cohort subsetting.

@azimov
Copy link
Collaborator Author

azimov commented Aug 26, 2024

I've been experimenting with the tests. I decided to try to maximize code coverage in the smallest amount of execution time and just see where that gets us. I'm only running tests on a synpuf duckdb database and they run in under a minute. Current code coverage is around 80%. It's a starting point. I'm thinking we will want to run the full test suite before releasing but running only on duckdb during development seems ok.

This sounds great for most purposes. I have already set up changes so that full tests only run on merge to develop/main so this should speed up the rate of changes.

@ablack3
Copy link
Collaborator

ablack3 commented Aug 28, 2024

image

I'm wondering if we really need the concept_ancestor and concept_relationship tables in the results. When running tests on postgres a lot of time is taken uploading 600,000+ rows to the results database. I'm just wondering if we need all this vocab data in the results or if we could get by with just a concepts table with some additional columns.

@ablack3
Copy link
Collaborator

ablack3 commented Aug 28, 2024

I did some ad-hoc testing of using dittodb with DatabaseConnector on postgres.
It works fine with RPostgres driver and DBI::dbConnect. It does not work at all with createConnectionDetails, connect from DatabaseConnector.
It tries to work with createDbiConnectionDetails, connect but does give an error and a warning.

In dbMockConnect(drv, ...) :
  DatabaseConnectorDriver is an unknown driver, dittodb will have limited functionality.
Error in find_file(path) : 
  Couldn't find the file aasdf/conInfo-.R in any of the mock directories.

So I think it is possible to get this working but it would take some work and for sure we would need to connect using DBI::dbConnect which could be inside DatabaseConnector.

@ablack3
Copy link
Collaborator

ablack3 commented Aug 29, 2024

I think we should consider removing the dependency on OhdsiShinyModules by putting the shiny app code in the CohortDiagnostics package. When I try to deploy the explorer to Connect I'm getting this error.

image

We now have two R packages called ReportGenerator in our dependencies for Darwin.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants