diff --git a/database/migration/src/main/resources/changelog.xml b/database/migration/src/main/resources/changelog.xml index bb57a4d17a7..5d711061c31 100644 --- a/database/migration/src/main/resources/changelog.xml +++ b/database/migration/src/main/resources/changelog.xml @@ -82,6 +82,11 @@ + + + + + diff --git a/database/migration/src/main/resources/changesets/enlarge_call_cache_entry_ids.xml b/database/migration/src/main/resources/changesets/enlarge_call_cache_entry_ids.xml new file mode 100644 index 00000000000..e9f34fcfb64 --- /dev/null +++ b/database/migration/src/main/resources/changesets/enlarge_call_cache_entry_ids.xml @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT count(*) + FROM information_schema.sequences + WHERE sequence_name = 'CALL_CACHING_ENTRY_CALL_CACHING_ENTRY_ID_seq' + AND data_type = 'bigint'; + + + ALTER SEQUENCE "CALL_CACHING_ENTRY_CALL_CACHING_ENTRY_ID_seq" as bigint RESTART WITH 20000000000; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/database/migration/src/main/resources/changesets/enlarge_call_caching_aggregation_entry_id.xml b/database/migration/src/main/resources/changesets/enlarge_call_caching_aggregation_entry_id.xml new file mode 100644 index 00000000000..fb0651ce32c --- /dev/null +++ b/database/migration/src/main/resources/changesets/enlarge_call_caching_aggregation_entry_id.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + SELECT count(*) + FROM information_schema.sequences + WHERE sequence_name = 'CALL_CACHING_AGGREGATION_ENTR_CALL_CACHING_AGGREGATION_ENTR_seq' + AND data_type = 'bigint'; + + + ALTER SEQUENCE "CALL_CACHING_AGGREGATION_ENTR_CALL_CACHING_AGGREGATION_ENTR_seq" as bigint RESTART WITH 20000000000; + + + + diff --git a/database/migration/src/main/resources/changesets/enlarge_call_caching_detritus_entry_id.xml b/database/migration/src/main/resources/changesets/enlarge_call_caching_detritus_entry_id.xml new file mode 100644 index 00000000000..b0cd8f0122d --- /dev/null +++ b/database/migration/src/main/resources/changesets/enlarge_call_caching_detritus_entry_id.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + SELECT count(*) + FROM information_schema.sequences + WHERE sequence_name = 'CALL_CACHING_DETRITUS_ENTRY_CALL_CACHING_DETRITUS_ENTRY_ID_seq' + AND data_type = 'bigint'; + + + ALTER SEQUENCE "CALL_CACHING_DETRITUS_ENTRY_CALL_CACHING_DETRITUS_ENTRY_ID_seq" as bigint RESTART WITH 20000000000; + + + + diff --git a/database/migration/src/main/resources/changesets/enlarge_call_caching_simpleton_entry_id.xml b/database/migration/src/main/resources/changesets/enlarge_call_caching_simpleton_entry_id.xml new file mode 100644 index 00000000000..17e5f12ccf3 --- /dev/null +++ b/database/migration/src/main/resources/changesets/enlarge_call_caching_simpleton_entry_id.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + SELECT count(*) + FROM information_schema.sequences + WHERE sequence_name = 'CALL_CACHING_SIMPLETON_ENTRY_CALL_CACHING_SIMPLETON_ENTRY_I_seq' + AND data_type = 'bigint'; + + + ALTER SEQUENCE "CALL_CACHING_SIMPLETON_ENTRY_CALL_CACHING_SIMPLETON_ENTRY_I_seq" as bigint RESTART WITH 20000000000; + + + + diff --git a/database/migration/src/main/resources/changesets/reset_call_caching_hash_entry_id_autoincrement.xml b/database/migration/src/main/resources/changesets/reset_call_caching_hash_entry_id_autoincrement.xml new file mode 100644 index 00000000000..5397dbeaad4 --- /dev/null +++ b/database/migration/src/main/resources/changesets/reset_call_caching_hash_entry_id_autoincrement.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + SELECT count(*) + FROM information_schema.sequences + WHERE sequence_name = 'CALL_CACHING_HASH_ENTRY_CALL_CACHING_HASH_ENTRY_ID_seq'; + + + ALTER SEQUENCE "CALL_CACHING_HASH_ENTRY_CALL_CACHING_HASH_ENTRY_ID_seq" RESTART WITH 20000000000; + + + + diff --git a/database/sql/src/main/scala/cromwell/database/slick/CallCachingSlickDatabase.scala b/database/sql/src/main/scala/cromwell/database/slick/CallCachingSlickDatabase.scala index 2a78cc5300b..8e1b98a4a1c 100644 --- a/database/sql/src/main/scala/cromwell/database/slick/CallCachingSlickDatabase.scala +++ b/database/sql/src/main/scala/cromwell/database/slick/CallCachingSlickDatabase.scala @@ -26,7 +26,7 @@ trait CallCachingSlickDatabase extends CallCachingSqlDatabase { (List(j.callCachingEntry), List(j.callCachingHashEntries), List(j.callCachingSimpletonEntries), List(j.callCachingDetritusEntries), List(j.callCachingAggregationEntry.toList)) } // Use the supplied `assigner` function to assign parent entry row IDs into the parallel `Seq` of children entities. - def assignEntryIdsToChildren[C](ids: Seq[Int], groupingsOfChildren: Seq[Seq[C]], assigner: (Int, C) => C): Seq[C] = { + def assignEntryIdsToChildren[C](ids: Seq[Long], groupingsOfChildren: Seq[Seq[C]], assigner: (Long, C) => C): Seq[C] = { (ids zip groupingsOfChildren) flatMap { case (id, children) => children.map(assigner(id, _)) } } @@ -36,10 +36,10 @@ trait CallCachingSlickDatabase extends CallCachingSqlDatabase { } // Functions to assign call cache entry IDs into child hash entry, simpleton, and detritus rows. - def hashAssigner(id: Int, hash: CallCachingHashEntry) = hash.copy(callCachingEntryId = Option(id)) - def simpletonAssigner(id: Int, simpleton: CallCachingSimpletonEntry) = simpleton.copy(callCachingEntryId = Option(id)) - def detritusAssigner(id: Int, detritus: CallCachingDetritusEntry) = detritus.copy(callCachingEntryId = Option(id)) - def aggregationAssigner(id: Int, aggregation: CallCachingAggregationEntry) = aggregation.copy(callCachingEntryId = Option(id)) + def hashAssigner(id: Long, hash: CallCachingHashEntry) = hash.copy(callCachingEntryId = Option(id)) + def simpletonAssigner(id: Long, simpleton: CallCachingSimpletonEntry) = simpleton.copy(callCachingEntryId = Option(id)) + def detritusAssigner(id: Long, detritus: CallCachingDetritusEntry) = detritus.copy(callCachingEntryId = Option(id)) + def aggregationAssigner(id: Long, aggregation: CallCachingAggregationEntry) = aggregation.copy(callCachingEntryId = Option(id)) val action = for { entryIds <- dataAccess.callCachingEntryIdsAutoInc ++= entries @@ -85,8 +85,8 @@ trait CallCachingSlickDatabase extends CallCachingSqlDatabase { runTransaction(action) } - override def findCacheHitForAggregation(baseAggregationHash: String, inputFilesAggregationHash: Option[String], callCachePathPrefixes: Option[List[String]], excludedIds: Set[Int]) - (implicit ec: ExecutionContext): Future[Option[Int]] = { + override def findCacheHitForAggregation(baseAggregationHash: String, inputFilesAggregationHash: Option[String], callCachePathPrefixes: Option[List[String]], excludedIds: Set[Long]) + (implicit ec: ExecutionContext): Future[Option[Long]] = { val action = callCachePathPrefixes match { case None => @@ -104,7 +104,7 @@ trait CallCachingSlickDatabase extends CallCachingSqlDatabase { runTransaction(action) } - override def queryResultsForCacheId(callCachingEntryId: Int) + override def queryResultsForCacheId(callCachingEntryId: Long) (implicit ec: ExecutionContext): Future[Option[CallCachingJoin]] = { val action = for { callCachingEntryOption <- dataAccess. @@ -149,7 +149,7 @@ trait CallCachingSlickDatabase extends CallCachingSqlDatabase { runTransaction(action) } - override def invalidateCall(callCachingEntryId: Int) + override def invalidateCall(callCachingEntryId: Long) (implicit ec: ExecutionContext): Future[Option[CallCachingEntry]] = { val action = for { _ <- dataAccess.allowResultReuseForCallCachingEntryId(callCachingEntryId).update(false) @@ -165,7 +165,7 @@ trait CallCachingSlickDatabase extends CallCachingSqlDatabase { runTransaction(action).void } - override def callCacheEntryIdsForWorkflowId(workflowExecutionUuid: String)(implicit ec: ExecutionContext): Future[Seq[Int]] = { + override def callCacheEntryIdsForWorkflowId(workflowExecutionUuid: String)(implicit ec: ExecutionContext): Future[Seq[Long]] = { val action = dataAccess.callCachingEntryIdsForWorkflowId(workflowExecutionUuid).result runTransaction(action) } diff --git a/database/sql/src/main/scala/cromwell/database/slick/tables/CallCachingAggregationEntryComponent.scala b/database/sql/src/main/scala/cromwell/database/slick/tables/CallCachingAggregationEntryComponent.scala index 6fea80dae79..139558aa7b8 100644 --- a/database/sql/src/main/scala/cromwell/database/slick/tables/CallCachingAggregationEntryComponent.scala +++ b/database/sql/src/main/scala/cromwell/database/slick/tables/CallCachingAggregationEntryComponent.scala @@ -10,13 +10,13 @@ trait CallCachingAggregationEntryComponent { import driver.api._ class CallCachingAggregationEntries(tag: Tag) extends Table[CallCachingAggregationEntry](tag, "CALL_CACHING_AGGREGATION_ENTRY") { - def callCachingAggregationEntryId = column[Int]("CALL_CACHING_AGGREGATION_ENTRY_ID", O.PrimaryKey, O.AutoInc) + def callCachingAggregationEntryId = column[Long]("CALL_CACHING_AGGREGATION_ENTRY_ID", O.PrimaryKey, O.AutoInc) def baseAggregation = column[String]("BASE_AGGREGATION", O.Length(255)) def inputFilesAggregation = column[Option[String]]("INPUT_FILES_AGGREGATION", O.Length(255)) - def callCachingEntryId = column[Int]("CALL_CACHING_ENTRY_ID") + def callCachingEntryId = column[Long]("CALL_CACHING_ENTRY_ID") override def * = (baseAggregation, inputFilesAggregation, callCachingEntryId.?, callCachingAggregationEntryId.?) <> (CallCachingAggregationEntry.tupled, CallCachingAggregationEntry.unapply) @@ -34,7 +34,7 @@ trait CallCachingAggregationEntryComponent { callCachingAggregationEntries.map(_.callCachingAggregationEntryId) val callCachingAggregationForCacheEntryId = Compiled( - (callCachingEntryId: Rep[Int]) => for { + (callCachingEntryId: Rep[Long]) => for { callCachingAggregationEntry <- callCachingAggregationEntries if callCachingAggregationEntry.callCachingEntryId === callCachingEntryId } yield callCachingAggregationEntry @@ -69,7 +69,7 @@ trait CallCachingAggregationEntryComponent { (detritusPath.substring(0, prefix3Length) === prefix3)} yield ()).exists ) - def callCachingEntriesForAggregatedHashes(baseAggregation: Rep[String], inputFilesAggregation: Rep[Option[String]], excludedIds: Set[Int]) = { + def callCachingEntriesForAggregatedHashes(baseAggregation: Rep[String], inputFilesAggregation: Rep[Option[String]], excludedIds: Set[Long]) = { (for { callCachingEntry <- callCachingEntries if callCachingEntry.allowResultReuse && !(callCachingEntry.callCachingEntryId inSet excludedIds) @@ -85,7 +85,7 @@ trait CallCachingAggregationEntryComponent { prefix1: Rep[String], prefix1Length: Rep[Int], prefix2: Rep[String], prefix2Length: Rep[Int], prefix3: Rep[String], prefix3Length: Rep[Int], - excludedIds: Set[Int]) = { + excludedIds: Set[Long]) = { (for { callCachingEntry <- callCachingEntries if callCachingEntry.allowResultReuse && !(callCachingEntry.callCachingEntryId inSet excludedIds) diff --git a/database/sql/src/main/scala/cromwell/database/slick/tables/CallCachingDetritusEntryComponent.scala b/database/sql/src/main/scala/cromwell/database/slick/tables/CallCachingDetritusEntryComponent.scala index db7c1f3d826..b668adb4940 100644 --- a/database/sql/src/main/scala/cromwell/database/slick/tables/CallCachingDetritusEntryComponent.scala +++ b/database/sql/src/main/scala/cromwell/database/slick/tables/CallCachingDetritusEntryComponent.scala @@ -12,13 +12,13 @@ trait CallCachingDetritusEntryComponent { class CallCachingDetritusEntries(tag: Tag) extends Table[CallCachingDetritusEntry](tag, "CALL_CACHING_DETRITUS_ENTRY") { - def callCachingDetritusEntryId = column[Int]("CALL_CACHING_DETRITUS_ENTRY_ID", O.PrimaryKey, O.AutoInc) + def callCachingDetritusEntryId = column[Long]("CALL_CACHING_DETRITUS_ENTRY_ID", O.PrimaryKey, O.AutoInc) def detritusKey = column[String]("DETRITUS_KEY", O.Length(255)) def detritusValue = column[Option[SerialClob]]("DETRITUS_VALUE") - def callCachingEntryId = column[Int]("CALL_CACHING_ENTRY_ID") + def callCachingEntryId = column[Long]("CALL_CACHING_ENTRY_ID") override def * = (detritusKey, detritusValue, callCachingEntryId.?, callCachingDetritusEntryId.?) <> (CallCachingDetritusEntry.tupled, CallCachingDetritusEntry.unapply) @@ -37,7 +37,7 @@ trait CallCachingDetritusEntryComponent { callCachingDetritusEntries returning callCachingDetritusEntries.map(_.callCachingDetritusEntryId) val callCachingDetritusEntriesForCallCachingEntryId = Compiled( - (callCachingEntryId: Rep[Int]) => for { + (callCachingEntryId: Rep[Long]) => for { callCachingDetritusEntry <- callCachingDetritusEntries if callCachingDetritusEntry.callCachingEntryId === callCachingEntryId } yield callCachingDetritusEntry diff --git a/database/sql/src/main/scala/cromwell/database/slick/tables/CallCachingEntryComponent.scala b/database/sql/src/main/scala/cromwell/database/slick/tables/CallCachingEntryComponent.scala index 5fce20f19e6..db9c5dc1654 100644 --- a/database/sql/src/main/scala/cromwell/database/slick/tables/CallCachingEntryComponent.scala +++ b/database/sql/src/main/scala/cromwell/database/slick/tables/CallCachingEntryComponent.scala @@ -9,7 +9,7 @@ trait CallCachingEntryComponent { import driver.api._ class CallCachingEntries(tag: Tag) extends Table[CallCachingEntry](tag, "CALL_CACHING_ENTRY") { - def callCachingEntryId = column[Int]("CALL_CACHING_ENTRY_ID", O.PrimaryKey, O.AutoInc) + def callCachingEntryId = column[Long]("CALL_CACHING_ENTRY_ID", O.PrimaryKey, O.AutoInc) def workflowExecutionUuid = column[String]("WORKFLOW_EXECUTION_UUID", O.Length(255)) @@ -36,14 +36,14 @@ trait CallCachingEntryComponent { val callCachingEntryIdsAutoInc = callCachingEntries returning callCachingEntries.map(_.callCachingEntryId) val callCachingEntriesForId = Compiled( - (callCachingEntryId: Rep[Int]) => for { + (callCachingEntryId: Rep[Long]) => for { callCachingEntry <- callCachingEntries if callCachingEntry.callCachingEntryId === callCachingEntryId } yield callCachingEntry ) val allowResultReuseForCallCachingEntryId = Compiled( - (callCachingEntryId: Rep[Int]) => for { + (callCachingEntryId: Rep[Long]) => for { callCachingEntry <- callCachingEntries if callCachingEntry.callCachingEntryId === callCachingEntryId } yield callCachingEntry.allowResultReuse diff --git a/database/sql/src/main/scala/cromwell/database/slick/tables/CallCachingHashEntryComponent.scala b/database/sql/src/main/scala/cromwell/database/slick/tables/CallCachingHashEntryComponent.scala index 1a8e3e772f1..b556b3f22de 100644 --- a/database/sql/src/main/scala/cromwell/database/slick/tables/CallCachingHashEntryComponent.scala +++ b/database/sql/src/main/scala/cromwell/database/slick/tables/CallCachingHashEntryComponent.scala @@ -15,7 +15,7 @@ trait CallCachingHashEntryComponent { def hashValue = column[String]("HASH_VALUE", O.Length(255)) - def callCachingEntryId = column[Int]("CALL_CACHING_ENTRY_ID") + def callCachingEntryId = column[Long]("CALL_CACHING_ENTRY_ID") override def * = (hashKey, hashValue, callCachingEntryId.?, callCachingHashEntryId.?) <> (CallCachingHashEntry.tupled, CallCachingHashEntry.unapply) @@ -36,7 +36,7 @@ trait CallCachingHashEntryComponent { * Find all hashes for a CALL_CACHING_ENTRY_ID */ val callCachingHashEntriesForCallCachingEntryId = Compiled( - (callCachingEntryId: Rep[Int]) => for { + (callCachingEntryId: Rep[Long]) => for { callCachingHashEntry <- callCachingHashEntries if callCachingHashEntry.callCachingEntryId === callCachingEntryId } yield callCachingHashEntry diff --git a/database/sql/src/main/scala/cromwell/database/slick/tables/CallCachingSimpletonEntryComponent.scala b/database/sql/src/main/scala/cromwell/database/slick/tables/CallCachingSimpletonEntryComponent.scala index 38a095a9682..b2e6f02b5b9 100644 --- a/database/sql/src/main/scala/cromwell/database/slick/tables/CallCachingSimpletonEntryComponent.scala +++ b/database/sql/src/main/scala/cromwell/database/slick/tables/CallCachingSimpletonEntryComponent.scala @@ -12,7 +12,7 @@ trait CallCachingSimpletonEntryComponent { class CallCachingSimpletonEntries(tag: Tag) extends Table[CallCachingSimpletonEntry](tag, "CALL_CACHING_SIMPLETON_ENTRY") { - def callCachingSimpletonEntryId = column[Int]("CALL_CACHING_SIMPLETON_ENTRY_ID", O.PrimaryKey, O.AutoInc) + def callCachingSimpletonEntryId = column[Long]("CALL_CACHING_SIMPLETON_ENTRY_ID", O.PrimaryKey, O.AutoInc) def simpletonKey = column[String]("SIMPLETON_KEY", O.Length(255)) @@ -20,7 +20,7 @@ trait CallCachingSimpletonEntryComponent { def wdlType = column[String]("WDL_TYPE", O.Length(255)) - def callCachingEntryId = column[Int]("CALL_CACHING_ENTRY_ID") + def callCachingEntryId = column[Long]("CALL_CACHING_ENTRY_ID") override def * = (simpletonKey, simpletonValue, wdlType, callCachingEntryId.?, callCachingSimpletonEntryId.?) <> (CallCachingSimpletonEntry.tupled, CallCachingSimpletonEntry.unapply) @@ -41,7 +41,7 @@ trait CallCachingSimpletonEntryComponent { * Find all result simpletons which match a given CALL_CACHING_ENTRY_ID */ val callCachingSimpletonEntriesForCallCachingEntryId = Compiled( - (callCachingEntryId: Rep[Int]) => for { + (callCachingEntryId: Rep[Long]) => for { callCachingSimpletonEntry <- callCachingSimpletonEntries if callCachingSimpletonEntry.callCachingEntryId === callCachingEntryId } yield callCachingSimpletonEntry diff --git a/database/sql/src/main/scala/cromwell/database/sql/CallCachingSqlDatabase.scala b/database/sql/src/main/scala/cromwell/database/sql/CallCachingSqlDatabase.scala index 23a744b4cf1..25380dc41b5 100644 --- a/database/sql/src/main/scala/cromwell/database/sql/CallCachingSqlDatabase.scala +++ b/database/sql/src/main/scala/cromwell/database/sql/CallCachingSqlDatabase.scala @@ -11,20 +11,20 @@ trait CallCachingSqlDatabase { def hasMatchingCallCachingEntriesForBaseAggregation(baseAggregationHash: String, callCachePathPrefixes: Option[List[String]]) (implicit ec: ExecutionContext): Future[Boolean] - def findCacheHitForAggregation(baseAggregationHash: String, inputFilesAggregationHash: Option[String], callCachePathPrefixes: Option[List[String]], excludedIds: Set[Int]) - (implicit ec: ExecutionContext): Future[Option[Int]] + def findCacheHitForAggregation(baseAggregationHash: String, inputFilesAggregationHash: Option[String], callCachePathPrefixes: Option[List[String]], excludedIds: Set[Long]) + (implicit ec: ExecutionContext): Future[Option[Long]] - def queryResultsForCacheId(callCachingEntryId: Int) + def queryResultsForCacheId(callCachingEntryId: Long) (implicit ec: ExecutionContext): Future[Option[CallCachingJoin]] def callCacheJoinForCall(workflowExecutionUuid: String, callFqn: String, index: Int) (implicit ec: ExecutionContext): Future[Option[CallCachingJoin]] - def invalidateCall(callCachingEntryId: Int) + def invalidateCall(callCachingEntryId: Long) (implicit ec: ExecutionContext): Future[Option[CallCachingEntry]] def invalidateCallCacheEntryIdsForWorkflowId(workflowExecutionUuid: String) (implicit ec: ExecutionContext): Future[Unit] - def callCacheEntryIdsForWorkflowId(workflowExecutionUuid: String)(implicit ec: ExecutionContext): Future[Seq[Int]] + def callCacheEntryIdsForWorkflowId(workflowExecutionUuid: String)(implicit ec: ExecutionContext): Future[Seq[Long]] } diff --git a/database/sql/src/main/scala/cromwell/database/sql/tables/CallCachingAggregationEntry.scala b/database/sql/src/main/scala/cromwell/database/sql/tables/CallCachingAggregationEntry.scala index 3b5dab28628..088c07bf3c7 100644 --- a/database/sql/src/main/scala/cromwell/database/sql/tables/CallCachingAggregationEntry.scala +++ b/database/sql/src/main/scala/cromwell/database/sql/tables/CallCachingAggregationEntry.scala @@ -4,6 +4,6 @@ case class CallCachingAggregationEntry ( baseAggregation: String, inputFilesAggregation: Option[String], - callCachingEntryId: Option[Int] = None, - callCachingAggregationEntryId: Option[Int] = None + callCachingEntryId: Option[Long] = None, + callCachingAggregationEntryId: Option[Long] = None ) diff --git a/database/sql/src/main/scala/cromwell/database/sql/tables/CallCachingDetritusEntry.scala b/database/sql/src/main/scala/cromwell/database/sql/tables/CallCachingDetritusEntry.scala index 31e6af183ae..36afadd4c8e 100644 --- a/database/sql/src/main/scala/cromwell/database/sql/tables/CallCachingDetritusEntry.scala +++ b/database/sql/src/main/scala/cromwell/database/sql/tables/CallCachingDetritusEntry.scala @@ -6,6 +6,6 @@ case class CallCachingDetritusEntry ( detritusKey: String, detritusValue: Option[SerialClob], - callCachingEntryId: Option[Int] = None, - callCachingDetritusEntryId: Option[Int] = None + callCachingEntryId: Option[Long] = None, + callCachingDetritusEntryId: Option[Long] = None ) diff --git a/database/sql/src/main/scala/cromwell/database/sql/tables/CallCachingEntry.scala b/database/sql/src/main/scala/cromwell/database/sql/tables/CallCachingEntry.scala index f06bf96b618..24263b0cb80 100644 --- a/database/sql/src/main/scala/cromwell/database/sql/tables/CallCachingEntry.scala +++ b/database/sql/src/main/scala/cromwell/database/sql/tables/CallCachingEntry.scala @@ -8,5 +8,5 @@ case class CallCachingEntry jobAttempt: Option[Int], returnCode: Option[Int], allowResultReuse: Boolean, - callCachingEntryId: Option[Int] = None + callCachingEntryId: Option[Long] = None ) diff --git a/database/sql/src/main/scala/cromwell/database/sql/tables/CallCachingHashEntry.scala b/database/sql/src/main/scala/cromwell/database/sql/tables/CallCachingHashEntry.scala index 41926ff2057..5f2aff9fb14 100644 --- a/database/sql/src/main/scala/cromwell/database/sql/tables/CallCachingHashEntry.scala +++ b/database/sql/src/main/scala/cromwell/database/sql/tables/CallCachingHashEntry.scala @@ -4,6 +4,6 @@ case class CallCachingHashEntry ( hashKey: String, hashValue: String, - callCachingEntryId: Option[Int] = None, + callCachingEntryId: Option[Long] = None, callCachingHashEntryId: Option[Long] = None ) diff --git a/database/sql/src/main/scala/cromwell/database/sql/tables/CallCachingSimpletonEntry.scala b/database/sql/src/main/scala/cromwell/database/sql/tables/CallCachingSimpletonEntry.scala index 626246c7bf2..c4e6628ee81 100644 --- a/database/sql/src/main/scala/cromwell/database/sql/tables/CallCachingSimpletonEntry.scala +++ b/database/sql/src/main/scala/cromwell/database/sql/tables/CallCachingSimpletonEntry.scala @@ -7,6 +7,6 @@ case class CallCachingSimpletonEntry simpletonKey: String, simpletonValue: Option[SerialClob], wdlType: String, - callCachingEntryId: Option[Int] = None, - callCachingSimpletonEntryId: Option[Int] = None + callCachingEntryId: Option[Long] = None, + callCachingSimpletonEntryId: Option[Long] = None ) diff --git a/engine/src/main/scala/cromwell/engine/workflow/lifecycle/deletion/DeleteWorkflowFilesActor.scala b/engine/src/main/scala/cromwell/engine/workflow/lifecycle/deletion/DeleteWorkflowFilesActor.scala index 7a1a4625751..56d6012125d 100644 --- a/engine/src/main/scala/cromwell/engine/workflow/lifecycle/deletion/DeleteWorkflowFilesActor.scala +++ b/engine/src/main/scala/cromwell/engine/workflow/lifecycle/deletion/DeleteWorkflowFilesActor.scala @@ -206,7 +206,7 @@ class DeleteWorkflowFilesActor(rootWorkflowId: RootWorkflowId, } - private def fetchCallCacheEntries(callCache: CallCache): Future[Set[Int]] = { + private def fetchCallCacheEntries(callCache: CallCache): Future[Set[Long]] = { val callCacheEntryIdsFuture = rootAndSubworkflowIds.map(x => callCache.callCacheEntryIdsForWorkflowId(x.toString)).map { f => f.map { Success(_) }.recover { case t => Failure(t) }} @@ -265,7 +265,7 @@ object DeleteWorkflowFilesActor { object StartWorkflowFilesDeletion extends DeleteWorkflowFilesActorMessage object DeleteFiles extends DeleteWorkflowFilesActorMessage object InvalidateCallCache extends DeleteWorkflowFilesActorMessage - case class RetrievedCallCacheIds(ids: Set[Int]) extends DeleteWorkflowFilesActorMessage + case class RetrievedCallCacheIds(ids: Set[Long]) extends DeleteWorkflowFilesActorMessage case class FailedRetrieveCallCacheIds(throwable: Throwable) extends DeleteWorkflowFilesActorMessage // Actor states @@ -319,18 +319,18 @@ object DeleteWorkflowFilesActor { } } - case class WaitingForInvalidateCCResponsesData(commandsToWaitFor: Set[Int], + case class WaitingForInvalidateCCResponsesData(commandsToWaitFor: Set[Long], deleteErrors: List[Throwable], filesNotFound: List[Path], callCacheInvalidationErrors: List[Throwable] = List.empty) - extends WaitingForResponseFromActorData[Int](commandsToWaitFor) with DeleteWorkflowFilesActorStateData { + extends WaitingForResponseFromActorData[Long](commandsToWaitFor) with DeleteWorkflowFilesActorStateData { override def assertionFailureMsg(expectedSize: Int, requiredSize: Int): String = { s"Found updated call cache entries set size as $expectedSize instead of $requiredSize. The updated set of call cache entries" + s" that DeleteWorkflowFilesActor has to wait for should be 1 less after a call cache entry is invalidated." } - override def setCommandsToWaitFor(updatedCommandsToWaitFor: Set[Int]): WaitingForResponseFromActorData[Int] = { + override def setCommandsToWaitFor(updatedCommandsToWaitFor: Set[Long]): WaitingForResponseFromActorData[Long] = { this.copy(commandsToWaitFor = updatedCommandsToWaitFor) } } diff --git a/server/src/test/scala/cromwell/engine/workflow/lifecycle/execution/ejea/EjeaMultipleCallCacheCopyAttemptsSpec.scala b/server/src/test/scala/cromwell/engine/workflow/lifecycle/execution/ejea/EjeaMultipleCallCacheCopyAttemptsSpec.scala index f643e8b2038..cd13165370a 100644 --- a/server/src/test/scala/cromwell/engine/workflow/lifecycle/execution/ejea/EjeaMultipleCallCacheCopyAttemptsSpec.scala +++ b/server/src/test/scala/cromwell/engine/workflow/lifecycle/execution/ejea/EjeaMultipleCallCacheCopyAttemptsSpec.scala @@ -31,7 +31,7 @@ class EjeaMultipleCallCacheCopyAttemptsSpec // Arbitrary. // When we attempt the nth copy attempt, we'll say that the cache entry ID is 'n' plus this offset. // Just makes sure that we're treating the copy attempt and the hit ID as separate numbers. - def cacheEntryIdFromCopyAttempt(attempt: Int) = CallCachingEntryId(75 + attempt) + def cacheEntryIdFromCopyAttempt(attempt: Int) = CallCachingEntryId(75L + attempt.toLong) def ejhaSendsHitIdToEjeaAndEjeaReacts(copyAttemptNumber: Int) = { val callCachingEntryId = cacheEntryIdFromCopyAttempt(copyAttemptNumber) diff --git a/services/src/main/scala/cromwell/services/CallCaching.scala b/services/src/main/scala/cromwell/services/CallCaching.scala index c85431ca752..6f4ba02ea40 100644 --- a/services/src/main/scala/cromwell/services/CallCaching.scala +++ b/services/src/main/scala/cromwell/services/CallCaching.scala @@ -1,5 +1,5 @@ package cromwell.services object CallCaching { - final case class CallCachingEntryId(id: Int) + final case class CallCachingEntryId(id: Long) } diff --git a/supportedBackends/google/pipelines/common/src/test/scala/cromwell/backend/google/pipelines/common/callcaching/PipelinesApiBackendCacheHitCopyingActorSpec.scala b/supportedBackends/google/pipelines/common/src/test/scala/cromwell/backend/google/pipelines/common/callcaching/PipelinesApiBackendCacheHitCopyingActorSpec.scala index b6b9dee163e..1c40fa38590 100644 --- a/supportedBackends/google/pipelines/common/src/test/scala/cromwell/backend/google/pipelines/common/callcaching/PipelinesApiBackendCacheHitCopyingActorSpec.scala +++ b/supportedBackends/google/pipelines/common/src/test/scala/cromwell/backend/google/pipelines/common/callcaching/PipelinesApiBackendCacheHitCopyingActorSpec.scala @@ -518,7 +518,7 @@ class PipelinesApiBackendCacheHitCopyingActorSpec extends TestKitSuite actorUnderTest } - private def buildCopyCommand(hitId: Int, bucket: String): CopyOutputsCommand = { + private def buildCopyCommand(hitId: Long, bucket: String): CopyOutputsCommand = { val callRoot = s"gs://$bucket/workflow-id/call-name" val rcFile = callRoot + "/rc"