Lambda manager - Amazon IoT Greengrass
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Lambda manager

The Lambda manager component (aws.greengrass.LambdaManager) manages work items and interprocess communication for Amazon Lambda functions that run on the Greengrass core device.

Note

When you deploy a Lambda function component to a core device, the deployment also includes this component. For more information, see Run Amazon Lambda functions.

Versions

This component has the following versions:

  • 2.3.x

  • 2.2.x

  • 2.1.x

  • 2.0.x

Operating system

This component can be installed on Linux core devices only.

Type

This component is a plugin component (aws.greengrass.plugin). The Greengrass nucleus runs this component in the same Java Virtual Machine (JVM) as the nucleus. The nucleus restarts when you change this component's version on the core device.

This component uses the same log file as the Greengrass nucleus. For more information, see Monitor Amazon IoT Greengrass logs.

For more information, see Component types.

Requirements

This component has the following requirements:

  • Your core device must meet the requirements to run Lambda functions. If you want the core device to run containerized Lambda functions, the device must meet the requirements to do so. For more information, see Lambda function requirements.

  • The Lambda manager component is supported to run in a VPC.

Dependencies

When you deploy a component, Amazon IoT Greengrass also deploys compatible versions of its dependencies. This means that you must meet the requirements for the component and all of its dependencies to successfully deploy the component. This section lists the dependencies for the released versions of this component and the semantic version constraints that define the component versions for each dependency. You can also view the dependencies for each version of the component in the Amazon IoT Greengrass console. On the component details page, look for the Dependencies list.

2.3.2

The following table lists the dependencies for version 2.3.2 of this component.

Dependency Compatible versions Dependency type
Greengrass nucleus >=2.0.0 <2.13.0 Soft
2.2.10 and 2.3.1

The following table lists the dependencies for version 2.2.10 and 2.3.1 of this component.

Dependency Compatible versions Dependency type
Greengrass nucleus >=2.0.0 <2.12.0 Soft
2.2.8 and 2.2.9

The following table lists the dependencies for version 2.2.8 and 2.2.9 of this component.

Dependency Compatible versions Dependency type
Greengrass nucleus >=2.0.0 <2.11.0 Soft
2.2.7

The following table lists the dependencies for version 2.2.7 of this component.

Dependency Compatible versions Dependency type
Greengrass nucleus >=2.0.0 <2.10.0 Soft
2.2.6

The following table lists the dependencies for version 2.2.6 of this component.

Dependency Compatible versions Dependency type
Greengrass nucleus >=2.0.0 <2.9.0 Soft
2.2.5

The following table lists the dependencies for version 2.2.5 of this component.

Dependency Compatible versions Dependency type
Greengrass nucleus >=2.0.0 <2.8.0 Soft
2.2.4

The following table lists the dependencies for version 2.2.4 of this component.

Dependency Compatible versions Dependency type
Greengrass nucleus >=2.0.0 <2.7.0 Soft
2.2.1 - 2.2.3

The following table lists the dependencies for versions 2.2.1 to 2.2.3 of this component.

Dependency Compatible versions Dependency type
Greengrass nucleus >=2.0.0 <2.6.0 Soft
2.2.0

The following table lists the dependencies for version 2.2.0 of this component.

Dependency Compatible versions Dependency type
Greengrass nucleus >=2.5.0 <2.6.0 Soft
2.1.3 and 2.1.4

The following table lists the dependencies for versions 2.1.3 and 2.1.4 of this component.

Dependency Compatible versions Dependency type
Greengrass nucleus >=2.0.0 <2.5.0 Soft
2.1.2

The following table lists the dependencies for version 2.1.2 of this component.

Dependency Compatible versions Dependency type
Greengrass nucleus >=2.0.0 <2.4.0 Soft
2.1.1

The following table lists the dependencies for version 2.1.1 of this component.

Dependency Compatible versions Dependency type
Greengrass nucleus >=2.0.0 <2.3.0 Soft
2.1.0

The following table lists the dependencies for version 2.1.0 of this component.

Dependency Compatible versions Dependency type
Greengrass nucleus >=2.0.0 <2.2.0 Soft
2.0.x

The following table lists the dependencies for version 2.0.x of this component.

Dependency Compatible versions Dependency type
Greengrass nucleus >=2.0.3 <2.1.0 Soft

For more information about component dependencies, see the component recipe reference.

Configuration

This component provides the following configuration parameters that you can customize when you deploy the component.

logHandlerMode
Note

Only for lambda manager versions 2.3.0+

Used to choose the implementation of the Lambda log manager to use. Set the value to optimized to use fewer threads to read lambda logs.

getResultTimeoutInSecond

(Optional) The maximum amount of time in seconds that Lambda functions can run before they time out.

Default: 60

Local log file

This component uses the same log file as the Greengrass nucleus component.

/greengrass/v2/logs/greengrass.log
To view this component's logs
  • Run the following command on the core device to view this component's log file in real time. Replace /greengrass/v2 with the path to the Amazon IoT Greengrass root folder.

    sudo tail -f /greengrass/v2/logs/greengrass.log

Changelog

The following table describes the changes in each version of the component.

Version

Changes

2.3.2

Version updated for Greengrass nucleus version 2.12.0 release.

2.3.1

Bug fixes and improvements
  • Adjusts log levels for certain errors.

2.3.0

New features
  • Log handler was optimized to reduce CPU load. Use this feature by setting the configuration option logHandlerMode to optimized.

Bug fixes and improvements
  • No longer logs the full stacktrace for WorkQueueFullException, improving logs and performance.

  • Sets lambda shutdown timeout from 15 seconds to 300 seconds in order to prevent shutdown timeouts.

  • Fixes an issue where on-demand lambdas may fail to restart after changing configuration.

2.2.11

Bug fixes and improvements
  • Fixes an issue where the LegacySubscriptionRouter configuration does not update when the Lambda configuration changes.

2.2.10

Version updated for Greengrass nucleus version 2.11.0 release.

2.2.9

Bug fixes and improvements

Fixes an issue where the port number is corrupted due to a skewed clock.

2.2.8

Version updated for Greengrass nucleus version 2.10.0 release.

2.2.7

Version updated for Greengrass nucleus version 2.9.0 release.

2.2.6

Version updated for Greengrass nucleus version 2.8.0 release.

2.2.5

New features
  • Adds support for MQTT topic wildcards in event sources where you subscribe to local publish/subscribe messages.

    This feature requires v2.6.0 or later of the Greengrass nucleus component.

  • Version updated for Greengrass nucleus version 2.7.0 release.

2.2.4

Version updated for Greengrass nucleus version 2.6.0 release.

2.2.3

Bug fixes and improvements
  • Fixes an issue where multiple instances of a Lambda function share a single cgroup. This component uses cgroups to manage resource usage for Lambda functions.

2.2.2

Bug fixes and improvements
  • Fixes an issue where pinned Lambda function components restart unexpectedly in certain scenarios.

2.2.1

Bug fixes and improvements
  • Changes this component's Greengrass nucleus dependency version constraints to fix a dependency resolution issue.

2.2.0

Bug fixes and improvements
  • Fixes an issue where Lambda functions couldn't write logs after a restart.

  • Fixes an issue where the legacy subscription router sends duplicate messages when there are wildcards in the topic.

  • Fixes an issue where non-pinned Lambda functions couldn't use the Greengrass interprocess communication (IPC) library in the Amazon IoT Device SDK.

2.1.4

Bug fixes and improvements
  • Fixes an issue that caused Lambda functions that use NodeJS runtimes to process only one message.

  • Version updated for Greengrass nucleus version 2.5.0 release.

2.1.3

Version updated for Greengrass nucleus version 2.4.0 release.

2.1.2

Version updated for Greengrass nucleus version 2.3.0 release.

2.1.1

Version updated for Greengrass nucleus version 2.2.0 release.

2.1.0

Version updated for Greengrass nucleus version 2.1.0 release.

2.0.3

Initial version.