powertools-lambda-typescript icon indicating copy to clipboard operation
powertools-lambda-typescript copied to clipboard

Bug (tracer): decorators not awaiting decorated class method

Open dreamorosi opened this issue 1 year ago • 0 comments

Bug description

In #1085 it has been reported that Logger is affected by a bug that causes the decorator to not properly await the decorated method. During the review of the PR that is expected to fix #1085, @ijemmy correctly pointed out that this same faulty behavior also affects Tracer's decorators.

In the case of Tracer the actions performed after the decorated method has returned are silent in the sense that they don't produce any output. This made it harder for customers or maintainers to spot the bug.

Expected Behavior

The decorated method should be awaited correctly and all cleanup/post return actions should be performed after the decorated method has returned.

Current Behavior

The decorated method is not awaited and in case of async methods this might cause the segment created for the method to be closed too early.

Possible Solution

Await the decorated methods. In the case of non-async method this will result in a no-op so it shouldn't impact these methods.

Steps to Reproduce

N/A

Environment

  • Powertools version used: 1.2.1 or earlier
  • Packaging format (Layers, npm): All
  • AWS Lambda function runtime: All
  • Debugging logs: N/A

Related issues, RFCs

#1085

dreamorosi avatar Sep 19 '22 09:09 dreamorosi