I refactored a process and it is no longer being cached appropriately.
I produced a log of an initial run followed by a -resume run with -dump-hashes, and here is an example of the result for a process instance that isn’t getting cached. As you can see, the only difference is that the java.util.HashMap$EntrySet line gets a different line-specific hash.
initial run:
Aug-05 17:48:06.460 [Actor Thread 1691] INFO nextflow.processor.TaskProcessor - [TechrepsToBioreps:Merge:PairtoolsMerge (3)] cache hash: 6887a0714b5ab89d0963fe06791f3c8c; mode: STANDARD; entries:
13ccfce45cd17ac4c02a63082fcd4fc9 [java.util.UUID] dceb5081-5567-438b-b4cb-6fd20fd9cdc1
6fc7c9866ccd5d8dd0316141a9d291c8 [java.lang.String] TechrepsToBioreps:Merge:PairtoolsMerge
d6763f458938886eafbe3d009d0e4661 [java.lang.String] "touch ${id}.pairs.gz"
4d453f9fd61dba8d27f109acfc1c87aa [java.lang.String] bskubi/hich:latest
36df7b513010081be128d47477f0754a [java.lang.String] id
8972bd76b3a5208a35b6087c34e92954 [org.codehaus.groovy.runtime.GStringImpl] NT_3
5bfa1a9085747b0205d9071ca08ba042 [java.lang.String] samples
a39bbbdbddee15b45327238c477ba84d [nextflow.util.ArrayBag] [FileHolder(sourceObj:/home/benjamin/Documents/hich/work/dd/6809fc3ccc62679f02184b409f0132/NT_3_1_fragtag.pairs.gz, storePath:/home/benjamin/Documents/hich/work/dd/6809fc3ccc62679f02184b409f0132/NT_3_1_fragtag.pairs.gz, stageName:NT_3_1_fragtag.pairs.gz)]
4f9d4b0d22865056c37fb6d9c2a04a67 [java.lang.String] $
16fe7483905cce7a85670e43e4678877 [java.lang.Boolean] true
4b86856cbd2214ab47a596c2215113be [java.util.HashMap$EntrySet] [nextflow.processor.TaskPath=class nextflow.processor.TaskPath]
a9ad7421a81ac3d0b26c7b5fb08adacc [java.lang.String] stub-run
resume run:
Aug-05 17:48:47.546 [Actor Thread 1522] INFO nextflow.processor.TaskProcessor - [TechrepsToBioreps:Merge:PairtoolsMerge (6)] cache hash: 1f87c243b2039d90310626cfeb034b25; mode: STANDARD; entries:
13ccfce45cd17ac4c02a63082fcd4fc9 [java.util.UUID] dceb5081-5567-438b-b4cb-6fd20fd9cdc1
6fc7c9866ccd5d8dd0316141a9d291c8 [java.lang.String] TechrepsToBioreps:Merge:PairtoolsMerge
d6763f458938886eafbe3d009d0e4661 [java.lang.String] "touch ${id}.pairs.gz"
4d453f9fd61dba8d27f109acfc1c87aa [java.lang.String] bskubi/hich:latest
36df7b513010081be128d47477f0754a [java.lang.String] id
8972bd76b3a5208a35b6087c34e92954 [org.codehaus.groovy.runtime.GStringImpl] NT_3
5bfa1a9085747b0205d9071ca08ba042 [java.lang.String] samples
a39bbbdbddee15b45327238c477ba84d [nextflow.util.ArrayBag] [FileHolder(sourceObj:/home/benjamin/Documents/hich/work/dd/6809fc3ccc62679f02184b409f0132/NT_3_1_fragtag.pairs.gz, storePath:/home/benjamin/Documents/hich/work/dd/6809fc3ccc62679f02184b409f0132/NT_3_1_fragtag.pairs.gz, stageName:NT_3_1_fragtag.pairs.gz)]
4f9d4b0d22865056c37fb6d9c2a04a67 [java.lang.String] $
16fe7483905cce7a85670e43e4678877 [java.lang.Boolean] true
fc33f88f6cedf512feee56bda046f186 [java.util.HashMap$EntrySet] [nextflow.processor.TaskPath=class nextflow.processor.TaskPath]
a9ad7421a81ac3d0b26c7b5fb08adacc [java.lang.String] stub-run
Any idea what this line means, or why it might be getting a different hash between the two runs?
Thanks!