Closed chuckwondo closed 1 year ago
Verified that the log group exists cumulus-uat-QueueGranulesEcsLogs
Also verified that the smoketest worked
{"executions":"fdc9e5a1-764f-403f-87b8-2023838d1be8","granules":"[\"PSScene3Band-20171201_031958_0f31\",\"PSScene3Band-20171201_031959_0f31\",\"PSScene3Band-20171201_032000_0f31\"]"
This task and https://github.com/NASA-IMPACT/csdap-cumulus/issues/174 are successfully completed.
When the DiscoverGranules function discovers a sufficiently large number of granules, the QueueGranules function times out while attempting to queue them all. This is due to a highly inefficient implementation of QueueGranules. This is a known problem, and at the time of this writing, there is a PR open in the Cumulus repo for addressing this.
However, we don't have to wait for that fix to be published, which would also require a Cumulus upgrade. Instead, we can simply convert the QueueGranules lambda function to an ECS task.
For reference, see Example: Replacing AWS Lambda with a Docker container run on ECS, but the following steps provide the specific steps for our project, so the docs at that link were the original instructions for the following specifics.
Since we previously had QueueGranules configured as an ECS task, we can add the following to
app/stack/cumulus/main.tf
as found from the git logs:Further, within the same file, change this line:
to this:
Acceptance Criteria
${CUMULUS_PREFIX}-QueueGranulesEcsLogs
-- note that there will be a fair bit of "noise" in the ECS logs due to Cumulus's automatic "heartbeat" messages, which can be ignored)PSScene3Band___1_2019_H1_finish_link_updates
rule in prod and confirm that it succeeds (it's earlier failure was due to this timeout issue, so its success will confirm the changes above fix the bug). Reference Ticket: https://github.com/NASA-IMPACT/csdap-cumulus/issues/174