Heads up:
We’re moving the GATK website, docs and forum to a new platform. Read the full story and breakdown of key changes on this blog.
Update: July 26, 2019
This section of the forum is now closed; we are working on a new support model for WDL that we will share here shortly. For Cromwell-specific issues, see the Cromwell docs and post questions on Github.

call-caching not working?

Hi, I'm using cromwell-24 and I have enabled call caching in the config file I use. However, when I start a new analysis it will start again from the beginning, even when parts of the analysis have been run before.

In my case, I have trimming of the raw reads as part of the workflow, but this is the same for every analysis, so these calls should have been cached.

I have also connected to the mysql database, and there are some output files in the database. However, I noticed that the output files for the last run I did are not present.

mysql> select * from CALL_CACHING_SIMPLETON_ENTRY;

The above command returns 547 rows, but none that match the UID of the last workflow I ran using cromwell run variantDiscovery.wdl settings.json

From my applicaction.conf

// Optional call-caching configuration.
call-caching {
  # Allows re-use of existing results for jobs you've already run
  # (default: false)
  enabled = true

  # Whether to invalidate a cache result forever if we cannot reuse them. Disable this if you expect some cache copies
  # to fail for external reasons which should not invalidate the cache (e.g. auth differences between users):
  # (default: true)
  invalidate-bad-cache-results = true

Best Answer


  • Hi @KateN

    When I say it still runs, I mean that I look at the process table (using top) and I can see that it run Trimmomatic again. It also takes a long time, way longer then it would take to hardlink a few files.

    What is a good way to verify wether or not cromwell is even using the mysql database? And should both cromwell run and cromwel server connect to the mysql database?

  • Nevermind, I had a mistake in my cromwell config file, so it was using the in-memory database. For other people that might have this problem, when you run cromwell it will tell you the database it is using as one of the first output lines:

    [2017-01-22 08:15:00,61] [info] Running with database db.url = jdbc:mysql://localhost:3306/cromwell?useSSL=false
Sign In or Register to comment.