DataDog / datadog-lambda-js

The Datadog AWS Lambda Library for Node

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DNSResolvePlugin.finish still throws TypeError on layer version 102

markvandertol opened this issue · comments

Expected Behavior
Log requests to APM and return let request OK. It was reported in #444 and reportedly fixed in version 102, however, I still see the issue on that version. Therefore, I'm opening a new ticket as the other ticket is now closed.

Actual Behavior
After updating from 94 to 101 we start to see some requests failing with the following error:

{
  "errorType": "TypeError",
  "errorMessage": "id.toArray is not a function",
  "stack": [
    "TypeError: id.toArray is not a function",
    "    at AgentEncoder._encodeId (/var/task/node_modules/dd-trace/packages/dd-trace/src/encode/0.4.js:168:13)",
    "    at AgentEncoder._encode (/var/task/node_modules/dd-trace/packages/dd-trace/src/encode/0.4.js:96:12)",
    "    at AgentEncoder.encode (/var/task/node_modules/dd-trace/packages/dd-trace/src/encode/0.4.js:45:10)",
    "    at Writer._encode (/var/task/node_modules/dd-trace/packages/dd-trace/src/exporters/common/writer.js:39:19)",
    "    at Writer.append (/var/task/node_modules/dd-trace/packages/dd-trace/src/exporters/common/writer.js:35:10)",
    "    at AgentExporter.export (/var/task/node_modules/dd-trace/packages/dd-trace/src/exporters/agent/index.js:45:18)",
    "    at SpanProcessor.process (/var/task/node_modules/dd-trace/packages/dd-trace/src/span_processor.js:50:30)",
    "    at DatadogSpan.finish (/var/task/node_modules/dd-trace/packages/dd-trace/src/opentracing/span.js:183:21)",
    "    at DNSResolvePlugin.finish (/var/task/node_modules/dd-trace/packages/dd-trace/src/plugins/tracing.js:58:22)",
    "    at DNSResolvePlugin.finish (/var/task/node_modules/dd-trace/packages/dd-trace/src/plugins/outbound.js:80:11)"
  ]
}

Steps to Reproduce the Problem
Just run requests. 1 in about 20 requests fail

Specifications
Datadog Lambda Layer version: 102
Node version: 18.x
Stacktrace:

TypeError: id.toArray is not a function
  at AgentEncoder._encodeId (/var/task/node_modules/dd-trace/packages/dd-trace/src/encode/0.4.js:168:13)
  at AgentEncoder._encode (/var/task/node_modules/dd-trace/packages/dd-trace/src/encode/0.4.js:96:12)
  at AgentEncoder.encode (/var/task/node_modules/dd-trace/packages/dd-trace/src/encode/0.4.js:45:10)
  at Writer._encode (/var/task/node_modules/dd-trace/packages/dd-trace/src/exporters/common/writer.js:39:19)
  at Writer.append (/var/task/node_modules/dd-trace/packages/dd-trace/src/exporters/common/writer.js:35:10)
  at AgentExporter.export (/var/task/node_modules/dd-trace/packages/dd-trace/src/exporters/agent/index.js:45:18)
  at SpanProcessor.process (/var/task/node_modules/dd-trace/packages/dd-trace/src/span_processor.js:50:30)
  at DatadogSpan.finish (/var/task/node_modules/dd-trace/packages/dd-trace/src/opentracing/span.js:183:21)
  at DNSResolvePlugin.finish (/var/task/node_modules/dd-trace/packages/dd-trace/src/plugins/tracing.js:58:22)
  at DNSResolvePlugin.finish (/var/task/node_modules/dd-trace/packages/dd-trace/src/plugins/outbound.js:80:11)

I also see the same stacktrace, except the bottom two frames, coming from the NetTCPPlugin:

TypeError: id.toArray is not a function
    at AgentEncoder._encodeId (/var/task/node_modules/dd-trace/packages/dd-trace/src/encode/0.4.js:168:13)
    at AgentEncoder._encode (/var/task/node_modules/dd-trace/packages/dd-trace/src/encode/0.4.js:96:12)
    at AgentEncoder.encode (/var/task/node_modules/dd-trace/packages/dd-trace/src/encode/0.4.js:45:10)
    at Writer._encode (/var/task/node_modules/dd-trace/packages/dd-trace/src/exporters/common/writer.js:39:19)
    at Writer.append (/var/task/node_modules/dd-trace/packages/dd-trace/src/exporters/common/writer.js:35:10)
    at AgentExporter.export (/var/task/node_modules/dd-trace/packages/dd-trace/src/exporters/agent/index.js:45:18)
    at SpanProcessor.process (/var/task/node_modules/dd-trace/packages/dd-trace/src/span_processor.js:50:30)
    at DatadogSpan.finish (/var/task/node_modules/dd-trace/packages/dd-trace/src/opentracing/span.js:183:21)
    at NetTCPPlugin.finish (/var/task/node_modules/dd-trace/packages/dd-trace/src/plugins/tracing.js:58:22)
    at NetTCPPlugin.finish (/var/task/node_modules/dd-trace/packages/dd-trace/src/plugins/outbound.js:80:11)

I reopened the issue #444 and will track it there since more information has been there and i'm going to close this ticket. 🙇