Skip to content

NPE when getting request params from spark #168

Closed
@jschwartz73

Description

@jschwartz73
  • Framework version: 1.2-SNAPSHOT
  • Implementations: Spark

Scenario

Deployed the pet-store sample application and did a
curl -X GET https://xxx.execute-api.us-east-1.amazonaws.com/Prod/pets

Expected behavior

Retrieve the list of pets

Actual behavior

NullPointerException in CloudWatch logs

Steps to reproduce

Follow steps in the samples/spark/pet-store/README.md file. Once the api is deployed, try to load the list of pets. If you do not specify a query param, then the api call with throw a NPE

Full log output

[2018-06-28 02:52:17.506] 44e2c3a8-7a7e-11e8-b691-47933127b3f5 ERROR s.h.m.GeneralError -
java.lang.NullPointerException: null
at com.amazonaws.serverless.proxy.internal.servlet.AwsProxyHttpServletRequest.getQueryParamValue(AwsProxyHttpServletRequest.java:819)
at com.amazonaws.serverless.proxy.internal.servlet.AwsProxyHttpServletRequest.getParameter(AwsProxyHttpServletRequest.java:445)
at spark.Request.queryParams(Request.java:283)
at spark.http.matching.RequestWrapper.queryParams(RequestWrapper.java:141)
at com.amazonaws.serverless.sample.spark.SparkResources.lambda$defineResources$2(SparkResources.java:37)
at spark.ResponseTransformerRouteImpl$1.handle(ResponseTransformerRouteImpl.java:47)
at spark.http.matching.Routes.execute(Routes.java:61)
at spark.http.matching.MatcherFilter.doFilter(MatcherFilter.java:130)
at com.amazonaws.serverless.proxy.internal.servlet.FilterChainHolder.doFilter(FilterChainHolder.java:84)
at com.amazonaws.serverless.sample.spark.filter.CognitoIdentityFilter.doFilter(CognitoIdentityFilter.java:60)
at com.amazonaws.serverless.proxy.internal.servlet.FilterChainHolder.doFilter(FilterChainHolder.java:84)
at com.amazonaws.serverless.proxy.internal.servlet.AwsLambdaServletContainerHandler.doFilter(AwsLambdaServletContainerHandler.java:207)
at com.amazonaws.serverless.proxy.spark.SparkLambdaContainerHandler.handleRequest(SparkLambdaContainerHandler.java:195)
at com.amazonaws.serverless.proxy.spark.SparkLambdaContainerHandler.handleRequest(SparkLambdaContainerHandler.java:76)
at com.amazonaws.serverless.proxy.internal.LambdaContainerHandler.proxy(LambdaContainerHandler.java:168)
at com.amazonaws.serverless.proxy.internal.LambdaContainerHandler.proxyStream(LambdaContainerHandler.java:200)
at com.amazonaws.serverless.sample.spark.StreamLambdaHandler.handleRequest(StreamLambdaHandler.java:52)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at lambdainternal.EventHandlerLoader$StreamMethodRequestHandler.handleRequest(EventHandlerLoader.java:350)
at lambdainternal.EventHandlerLoader$2.call(EventHandlerLoader.java:888)
at lambdainternal.AWSLambda.startRuntime(AWSLambda.java:283)
at lambdainternal.AWSLambda.(AWSLambda.java:64)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at lambdainternal.LambdaRTEntry.main(LambdaRTEntry.java:94)
[2018-06-28 02:52:17.526] 44e2c3a8-7a7e-11e8-b691-47933127b3f5 INFO c.a.s.p.i.LambdaContainerHandler - 76.233.4.20 - [28/06/2018:02:52:17Z] "GET /pets HTTP/1.1" 500 60 "-" "curl/7.37.0" combined
[2018-06-28 02:52:17.720] 4504cb86-7a7e-11e8-8599-899b2f39a101 WARN c.a.s.s.s.f.CognitoIdentityFilter - Cognito identity id in request is null

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions