Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test(node): Attempt to fix flaky tedious test #15533

Closed
wants to merge 3 commits into from

Conversation

AbhiPrasad
Copy link
Member

The tedious test suite is flaky: https://app.codecov.io/gh/getsentry/sentry-javascript/tests/develop?testSuites%5B0%5D=tedious%20auto%20instrumentation

An error is being thrown which causes problems: Login failed for user 'sa'. From reading various stackoverflow threads (like this one), it seems like changing the port may work.

https://github.com/getsentry/sentry-javascript/actions/runs/13575927930/job/37952099013?pr=15532

 FAIL  suites/tracing/tedious/test.ts > tedious auto instrumentation > should auto-instrument `tedious` package
Error: Expected envelope item type 'transaction' but got 'event'. 
Item: [{"type":"event"},{"exception":{"values":[{"type":"Error","value":"Login failed for user 'sa'.","stacktrace":{"frames":[{"filename":"node:internal/process/task_queues","module":"task_queues","function":"process.processTicksAndRejections","lineno":95,"colno":5,"in_app":false},{"filename":"node:internal/streams/from","module":"from","function":"next","lineno":98,"colno":31,"in_app":false},{"filename":"node:internal/streams/readable","module":"readable","function":"Readable.push","lineno":278,"colno":10,"in_app":false},{"filename":"node:internal/streams/readable","module":"readable","function":"readableAddChunk","lineno":341,"colno":9,"in_app":false},{"filename":"node:internal/streams/readable","module":"readable","function":"addChunk","lineno":368,"colno":12,"in_app":false},{"filename":"node:events","module":"node:events","function":"Readable.emit","lineno":517,"colno":28,"in_app":false},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/node_modules/tedious/lib/token/token-stream-parser.js","module":"tedious.lib.token:token-stream-parser","function":"Readable.?","lineno":19,"colno":33,"in_app":false,"pre_context":["  constructor(message, debug, handler, options) {","    super();","    this.debug = debug;","    this.options = options;","    this.parser = _stream.Readable.from(_streamParser.default.parseTokens(message, this.debug, this.options));","    this.parser.on('data', token => {","      debug.token(token);"],"context_line":"      handler[token.handlerName](token);","post_context":["    });","    this.parser.on('drain', () => {","      this.emit('drain');","    });","    this.parser.on('end', () => {","      this.emit('end');","    });"]},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/node_modules/tedious/lib/token/handler.js","module":"tedious.lib.token:handler","function":"Login7TokenHandler.onErrorMessage","lineno":186,"colno":19,"in_app":false,"pre_context":["    this.connection = connection;","  }","  onInfoMessage(token) {","    this.connection.emit('infoMessage', token);","  }","  onErrorMessage(token) {","    this.connection.emit('errorMessage', token);"],"context_line":"    const error = new _errors.ConnectionError(token.message, 'ELOGIN');","post_context":["    const isLoginErrorTransient = this.connection.transientErrorLookup.isTransientError(token.number);","    if (isLoginErrorTransient && this.connection.curTransientRetryCount !== this.connection.config.options.maxRetriesOnTransientErrors) {","      error.isTransient = true;","    }","    this.connection.loginError = error;","  }","  onSSPI(token) {"]}]},"mechanism":{"type":"onuncaughtexception","handled":false}}]},"event_id":"3f2c0f09bec345f8972a9ab81c093bbe","level":"fatal","platform":"node","contexts":{"trace":{"trace_id":"bbbd82ae0d674bf690f3f86e85c7f603","span_id":"904855caf7484af9"},"runtime":{"name":"node","version":"v18.20.5"},"app":{"app_start_time":"2025-02-27T21:14:58.550Z","app_memory":104890368},"os":{"kernel_version":"5.15.0-1079-azure","name":"Ubuntu Linux","version":"20.04"},"device":{"boot_time":"2025-02-27T21:00:39.435Z","arch":"x64","memory_size":16768323584,"free_memory":14061731840,"processor_count":4,"cpu_description":"AMD EPYC 7763 64-Core Processor","processor_frequency":3242},"culture":{"locale":"en-US","timezone":"UTC"},"cloud_resource":{}},"server_name":"fv-az1150-349","timestamp":1740690899.488,"environment":"production","release":"1.0","sdk":{"integrations":["InboundFilters","FunctionToString","LinkedErrors","RequestData","Console","Http","NodeFetch","OnUncaughtException","OnUnhandledRejection","ContextLines","LocalVariables","Context","ChildProcess","ProcessSession","Modules","Express","Fastify","Graphql","Mongo","Mongoose","Mysql","Mysql2","Redis","Postgres","Hapi","Koa","Connect","Tedious","GenericPool","Kafka","Amqplib","LruMemoizer","VercelAI"],"name":"sentry.javascript.node","version":"9.2.0","packages":[{"name":"npm:@sentry/node","version":"9.2.0"}]},"modules":{"semver":"7.6.3","shimmer":"1.2.1","require-in-the-middle":"7.2.0","resolve":"1.22.8","is-core-module":"2.13.0","has":"1.0.3","function-bind":"1.1.2","debug":"4.4.0","supports-color":"7.2.0","has-flag":"4.0.0","ms":"2.1.3","module-details-from-path":"1.0.3","import-in-the-middle":"1.13.0","forwarded-parse":"2.1.2","tedious":"18.6.1","tslib":"2.8.1","uuid":"8.3.2","jsonwebtoken":"9.0.2","safe-buffer":"5.2.1","buffer-equal-constant-time":"1.0.1","ecdsa-sig-formatter":"1.0.11","lodash.includes":"4.3.0","lodash.isboolean":"3.0.3","lodash.isinteger":"4.0.4","lodash.isnumber":"3.0.3","lodash.isplainobject":"4.0.6","lodash.isstring":"4.0.1","lodash.once":"4.1.1","open":"8.4.2","is-wsl":"2.2.0","is-docker":"2.2.1","define-lazy-prop":"2.0.0","sprintf-js":"1.1.3","js-md4":"0.3.2","native-duplexpair":"1.0.0","process":"0.11.10","inherits":"2.0.4","iconv-lite":"0.6.3","safer-buffer":"2.1.2"}}]

@AbhiPrasad AbhiPrasad requested a review from a team February 27, 2025 22:09
@AbhiPrasad AbhiPrasad self-assigned this Feb 27, 2025
@AbhiPrasad AbhiPrasad requested review from stephanie-anderson and andreiborza and removed request for a team February 27, 2025 22:09
@@ -10,7 +10,7 @@ Sentry.init({

const { Connection, Request } = require('tedious');

const config = {
const connection = new Connection({
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I changed this because I get TS autocomplete when passing the object in directly (note that this is a js file, so importing types is annoying).

@AbhiPrasad
Copy link
Member Author

This doesn't work :(

back to the drawing board.

@AbhiPrasad AbhiPrasad closed this Feb 28, 2025
@AbhiPrasad AbhiPrasad deleted the abhi-tedious-change-port branch February 28, 2025 18:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants