Adding streaming support for lambda pluggin#6273
Adding streaming support for lambda pluggin#6273dlvenable merged 6 commits intoopensearch-project:mainfrom
Conversation
Signed-off-by: Manan Rajotia <rajotia@amazon.com>
|
./gradlew assemble & ./gradlew build have passed. E2E testing with lambda has also been done successfully. E2E testing has been done using following configurations - pipelines/pipeline.yaml - with lambda (Runtime : Node.js 22.x) deployed in us-east-1 region with code - furnishing these logs on bin/data-prepper run - |
dlvenable
left a comment
There was a problem hiding this comment.
Thank you @mananrajotia for this great contribution! This will be a nice addition to the Lambda processor. I left a few comments to help with consistency and to make the code easier to maintain.
.../src/main/java/org/opensearch/dataprepper/plugins/lambda/common/config/StreamingOptions.java
Outdated
Show resolved
Hide resolved
.../src/main/java/org/opensearch/dataprepper/plugins/lambda/common/config/StreamingOptions.java
Show resolved
Hide resolved
...ambda/src/main/java/org/opensearch/dataprepper/plugins/lambda/processor/LambdaProcessor.java
Outdated
Show resolved
Hide resolved
...ambda/src/main/java/org/opensearch/dataprepper/plugins/lambda/processor/LambdaProcessor.java
Outdated
Show resolved
Hide resolved
...ambda/src/main/java/org/opensearch/dataprepper/plugins/lambda/processor/LambdaProcessor.java
Outdated
Show resolved
Hide resolved
...mbda/src/main/java/org/opensearch/dataprepper/plugins/lambda/common/LambdaCommonHandler.java
Outdated
Show resolved
Hide resolved
...ambda/src/main/java/org/opensearch/dataprepper/plugins/lambda/processor/LambdaProcessor.java
Outdated
Show resolved
Hide resolved
...a/src/main/java/org/opensearch/dataprepper/plugins/lambda/common/StreamingLambdaHandler.java
Outdated
Show resolved
Hide resolved
...a/src/main/java/org/opensearch/dataprepper/plugins/lambda/common/StreamingLambdaHandler.java
Outdated
Show resolved
Hide resolved
...a/src/main/java/org/opensearch/dataprepper/plugins/lambda/common/StreamingLambdaHandler.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Manan Rajotia <rajotia@amazon.com>
439046d to
bdc119b
Compare
|
Added document reconstruction logic in the second commit. Instead of treating each streamed chunk as a separate event and forwarding it to the sink (1 incoming event from source -> 1 lambda invocation -> It could result in multiple events being sent to the sink). That is unwanted for document reconstruction as per design, hence, collated data from multiple streamed chunks of a single lambda invocation to a single event to be forwarded to the sink. Testing concluded with successful gradle assemble and gradle build. Modified lambda function's code to - Ran ./data-prepper with the same pipelines.yaml configuration as present in the overview and got desired results - |
dlvenable
left a comment
There was a problem hiding this comment.
Thank you @mananrajotia ! I have a few more comments and questions.
.../src/main/java/org/opensearch/dataprepper/plugins/lambda/common/config/ResponseHandling.java
Show resolved
Hide resolved
...a/src/main/java/org/opensearch/dataprepper/plugins/lambda/common/StreamingLambdaHandler.java
Show resolved
Hide resolved
...a/src/main/java/org/opensearch/dataprepper/plugins/lambda/common/StreamingLambdaHandler.java
Show resolved
Hide resolved
...rc/main/java/org/opensearch/dataprepper/plugins/lambda/processor/StreamingLambdaInvoker.java
Show resolved
Hide resolved
...bda/src/main/java/org/opensearch/dataprepper/plugins/lambda/processor/SyncLambdaInvoker.java
Outdated
Show resolved
Hide resolved
…cing exception handling - PR comment addressal Signed-off-by: Manan Rajotia <rajotia@amazon.com>
...a/src/main/java/org/opensearch/dataprepper/plugins/lambda/common/StreamingLambdaHandler.java
Show resolved
Hide resolved
...a/src/main/java/org/opensearch/dataprepper/plugins/lambda/common/StreamingLambdaHandler.java
Show resolved
Hide resolved
...a/src/main/java/org/opensearch/dataprepper/plugins/lambda/common/StreamingLambdaHandler.java
Show resolved
Hide resolved
…dressal Signed-off-by: Manan Rajotia <rajotia@amazon.com>
|
@mananrajotia , We recently added a license header check and it is failing: It looks like this new file has the old license header: I'm running the build to make sure it is ok. If those pass and license headers are fixed, I'm good to approve and merge. |
Signed-off-by: Manan Rajotia <rajotia@amazon.com>
Signed-off-by: Manan Rajotia <rajotia@amazon.com>
Streaming response support for lambda plugin Signed-off-by: Manan Rajotia <rajotia@amazon.com> Signed-off-by: Simon ELBAZ <elbazsimon9@gmail.com>
Streaming response support for lambda plugin Signed-off-by: Manan Rajotia <rajotia@amazon.com>
Streaming response support for lambda plugin Signed-off-by: Manan Rajotia <rajotia@amazon.com>
Description
Adds streaming response support for lambda pluggin in data-prepper and enables longer response handling.
Documented in detail in issue - #5973
Documentation issue - opensearch-project/documentation-website#11556
Issues Resolved
Resolves #5973
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.