Releases: nasa/cumulus
Releases · nasa/cumulus
v1.3.0
Deprecated
- discover-s3-granules is deprecated. The functionality is provided by the discover-granules task
Fixed
- CUMULUS-331: Fix aws.downloadS3File to handle non-existent key
- Using test ftp provider for discover-granules testing [CUMULUS-427]
- CUMULUS-304: "Add AWS API throttling to pdr-status-check task" Added concurrency limit on SFN API calls. The default concurrency is 10 and is configurable through Lambda environment variable CONCURRENCY.
- CUMULUS-414: "Schema validation not being performed on many tasks" revised npm build scripts of tasks that use cumulus-message-adapter to place schema directories into dist directories.
- CUMULUS-301: Update all tests to use test-data package for testing data.
- CUMULUS-271: "Empty response body from rules PUT endpoint" Added the updated rule to response body.
- Increased memory allotment for
CustomBootstrap
lambda function. Resolves failed deployments whereCustomBootstrap
lambda function was failing with errorProcess exited before completing request
. This was causing deployments to stall, fail to update and fail to rollback. This error is thrown when the lambda function tries to use more memory than it is allotted. - Cumulus repository folders structure updated:
- removed the
cumulus
folder altogether - moved
cumulus/tasks
totasks
folder at the root level - moved the tasks that are not converted to use CMA to
tasks/.not_CMA_compliant
- updated paths where necessary
- removed the
Added
@cumulus/integration-tests
- Added support for testing the output of an ECS activity as well as a Lambda function.
v1.2.0
Fixed
- Update vulnerable npm packages [CUMULUS-425]
@cumulus/api
:kinesis-consumer.js
usessf-scheduler.js#schedule
instead of placing a message directly on thestartSF
SQS queue. This is a fix for CUMULUS-359 becausesf-scheduler.js#schedule
looks up the provider and collection data in DynamoDB and adds it to themeta
object of the enqueued message payload.@cumulus/api
:kinesis-consumer.js
catches and logs errors instead of doing an error callback. Before this change,kinesis-consumer
was failing to process new records when an existing record caused an error because it would call back with an error and stop processing additional records. It keeps trying to process the record causing the error because it's "position" in the stream is unchanged. Catching and logging the errors is part 1 of the fix. Proposed part 2 is to enqueue the error and the message on a "dead-letter" queue so it can be processed later (CUMULUS-413).- CUMULUS-260: "PDR page on dashboard only shows zeros." The PDR stats in LPDAAC are all 0s, even if the dashboard has been fixed to retrieve the correct fields. The current version of pdr-status-check has a few issues.
- pdr is not included in the input/output schema. It's available from the input event. So the pdr status and stats are not updated when the ParsePdr workflow is complete. Adding the pdr to the input/output of the task will fix this.
- pdr-status-check doesn't update pdr stats which prevent the real time pdr progress from showing up in the dashboard. To solve this, added lambda function sf-sns-report which is copied from @cumulus/api/lambdas/sf-sns-broadcast with modification, sf-sns-report can be used to report step function status anywhere inside a step function. So add step sf-sns-report after each pdr-status-check, we will get the PDR status progress at real time.
- It's possible an execution is still in the queue and doesn't exist in sfn yet. Added code to handle 'ExecutionDoesNotExist' error when checking the execution status.
- Fixed
aws.cloudwatchevents()
typo inpackages/ingest/aws.js
. This typo was the root cause of the error:Error: Could not process scheduled_ingest, Error: : aws.cloudwatchevents is not a constructor
seen when trying to update a rule.
Removed
@cumulus/ingest/aws
: Remove queueWorkflowMessage which is no longer being used by@cumulus/api
'skinesis-consumer.js
.
v1.1.4
v1.1.3
v1.1.2
Added
- added tools to @cumulus/integration-tests for local integration testing
- added end to end testing for discovering and parsing of PDRs
yarn e2e
command is available for end to end testing
Fixed
- CUMULUS-326: "Occasionally encounter "Too Many Requests" on deployment" The api gateway calls will handle throttling errors
- CUMULUS-175: "Dashboard providers not in sync with AWS providers." The root cause of this bug - DynamoDB operations not showing up in Elasticsearch - was shared by collections and rules. The fix was to update providers', collections' and rules; POST, PUT and DELETE endpoints to operate on DynamoDB and using DynamoDB streams to update Elasticsearch. The following packages were made:
@cumulus/deployment
deploys DynamoDB streams for the Collections, Providers and Rules tables as well as a new lambda function calleddbIndexer
. ThedbIndexer
lambda has an event source mapping which listens to each of the DynamoDB streams. The dbIndexer lambda receives events referencing operations on the DynamoDB table and updates the elasticsearch cluster accordingly.- The
@cumulus/api
endpoints for collections, providers and rules only query DynamoDB, with the exception of LIST endpoints and the collections' GET endpoint.
Updated
- Broke up
kes.override.js
of @cumulus/deployment to multiple modules and moved to a new location - Expanded @cumulus/deployment test coverage
- all tasks were updated to use cumulus-message-adapter-js 1.0.1
- added build process to integration-tests package to babelify it before publication
- Update @cumulus/integration-tests lambda.js
getLambdaOutput
to return the entire lambda output. PreviouslygetLambdaOutput
returned only the payload.
v1.1.1
Removed
- Unused queue lambda in api/lambdas [CUMULUS-359]
Fixed
- Kinesis message content is passed to the triggered workflow [CUMULUS-359]
- Kinesis message queues a workflow message and does not write to rules table [CUMULUS-359]
v1.1.0
Added
- Added a
jlog
function tocommon/test-utils
to aid in test debugging - Integration test package with command line tool [CUMULUS-200] by @laurenfrederick
- Test for FTP
useList
flag [CUMULUS-334] by @kkelly51
Updated
- The
queue-pdrs
task now uses the cumulus-message-adapter-js
library - Updated the
queue-pdrs
JSON schemas - The test-utils schema validation functions now throw an error if validation
fails - The
queue-granules
task now uses the cumulus-message-adapter-js
library - Updated the
queue-granules
JSON schemas
Removed
- Removed the
getSfnExecutionByName
function fromcommon/aws
- Removed the
getGranuleStatus
function fromcommon/aws
v1.0.1
v1.0.0
pre-v1-release
Cumulus Code Base before Version 1.0 release