aws / aws-lambda-ruby-runtime-interface-client

Other
72 stars 30 forks source link

Fallback to Logger parameters incorrect #7

Closed lloydpick closed 3 years ago

lloydpick commented 3 years ago

The logger fallback implementation seems to fail when using a non STDOUT or STDERR location in cold boot outside of the handler. I believe this is because the orig_initialize misses that the first 3 parameters are normal, but the remaining are named.

https://github.com/aws/aws-lambda-ruby-runtime-interface-client/blob/e4939c250bfd5c96cbe7d40cfb79995a3f47de61/lib/aws_lambda_ric.rb#L158-L159

https://github.com/ruby/logger/blob/afe0da71087d721de7107f6bee7631b8b71a2471/lib/logger.rb#L380-L382

You end up with an error like the one described in this issue - https://github.com/airbrake/airbrake-ruby/issues/630

Raising this here, as I know this occurs within the Lambda environment on Ruby 2.7.

edhzsz commented 3 years ago

Hi Lloyd, thank you so much for reporting this issue.

lloydpick commented 3 years ago

As I've just seen that there's a PR for this now :+1:, once that is merged is there a rough timeframe to when the Lambda service itself will receive this fix? Obviously this repo will have it, and that can be used locally, or if I build an image and use that, but the straight lambda service. Would it be weeks, months?

edhzsz commented 3 years ago

Yes, the PR is still missing an approval, but I expect it to get it soon and release a new version of this library. The update to the Lambda managed runtime will follow the normal deployment cadence of the Lambda Runtimes. I cannot give you an ETA for that, but I believe it is safe to measure it in weeks.