Skip to content
This repository has been archived by the owner on Feb 28, 2023. It is now read-only.

Long Query String Throwing ECONNRESET Error #14

Closed
fsrenner opened this issue Dec 5, 2019 · 2 comments
Closed

Long Query String Throwing ECONNRESET Error #14

fsrenner opened this issue Dec 5, 2019 · 2 comments

Comments

@fsrenner
Copy link

fsrenner commented Dec 5, 2019

The sails-mssql adapter is throwing an ECONNRESET Error when a query string grows beyond a certain length and seems to be related to the following issues:

tediousjs/node-mssql#928
tediousjs/tedious#923

join (populate) failed in the adapter:  Exception: `sendNativeQuery` failed ("queryFailed").  The database returned an error when attempting to execute the native query.
Additional data:

{
  error: RequestError: Connection lost - read ECONNRESET
      at handleError (C:\Users\Steven.Renner\projects\tomis-v4-api\node_modules\mssql\lib\tedious.js:556:15)
      at Connection.emit (events.js:215:7)
      at Connection.socketError (C:\Users\Steven.Renner\projects\tomis-v4-api\node_modules\tedious\lib\connection.js:1028:14)
      at Socket.<anonymous> (C:\Users\Steven.Renner\projects\tomis-v4-api\node_modules\tedious\lib\connection.js:878:18)
      at Socket.emit (events.js:215:7)
      at emitErrorNT (internal/streams/destroy.js:92:8)
      at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
      at processTicksAndRejections (internal/process/task_queues.js:80:21) {
    code: 'EREQUEST',
    number: undefined,
    lineNumber: undefined,
    state: undefined,
    class: undefined,
    serverName: undefined,
    procName: undefined,
    originalError: Error: Connection lost - read ECONNRESET
        at handleError (C:\Users\Steven.Renner\projects\tomis-v4-api\node_modules\mssql\lib\tedious.js:554:19)
        at Connection.emit (events.js:215:7)
        at Connection.socketError (C:\Users\Steven.Renner\projects\tomis-v4-api\node_modules\tedious\lib\connection.js:1028:14)
        at Socket.<anonymous> (C:\Users\Steven.Renner\projects\tomis-v4-api\node_modules\tedious\lib\connection.js:878:18)
        at Socket.emit (events.js:215:7)
        at emitErrorNT (internal/streams/destroy.js:92:8)
        at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
        at processTicksAndRejections (internal/process/task_queues.js:80:21) {
      info: ConnectionError: Connection lost - read ECONNRESET
          at ConnectionError (C:\Users\Steven.Renner\projects\tomis-v4-api\node_modules\tedious\lib\errors.js:12:12)
          at Connection.socketError (C:\Users\Steven.Renner\projects\tomis-v4-api\node_modules\tedious\lib\connection.js:1028:28)
          at Socket.<anonymous> (C:\Users\Steven.Renner\projects\tomis-v4-api\node_modules\tedious\lib\connection.js:878:18)
          at Socket.emit (events.js:215:7)
          at emitErrorNT (internal/streams/destroy.js:92:8)
          at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
          at processTicksAndRejections (internal/process/task_queues.js:80:21) {
        message: 'Connection lost - read ECONNRESET',
        code: 'ESOCKET'
      }
    },
    name: 'RequestError'
  },
  meta: undefined
}
    at Object.connectAndQuery (C:\Users\Steven.Renner\projects\tomis-v4-api\node_modules\sails-mssql\lib\adapter.js:618:69)
    at async Object.join (C:\Users\Steven.Renner\projects\tomis-v4-api\node_modules\sails-mssql\lib\adapter.js:962:23) {
  cause: Exception: `sendNativeQuery` failed ("queryFailed").  The database returned an error when attempting to execute the native query.
  Additional data:

  {
    error: RequestError: Connection lost - read ECONNRESET
        at handleError (C:\Users\Steven.Renner\projects\tomis-v4-api\node_modules\mssql\lib\tedious.js:556:15)
        at Connection.emit (events.js:215:7)
        at Connection.socketError (C:\Users\Steven.Renner\projects\tomis-v4-api\node_modules\tedious\lib\connection.js:1028:14)
        at Socket.<anonymous> (C:\Users\Steven.Renner\projects\tomis-v4-api\node_modules\tedious\lib\connection.js:878:18)
        at Socket.emit (events.js:215:7)
        at emitErrorNT (internal/streams/destroy.js:92:8)
        at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
        at processTicksAndRejections (internal/process/task_queues.js:80:21) {
      code: 'EREQUEST',
      number: undefined,
      lineNumber: undefined,
      state: undefined,
      class: undefined,
      serverName: undefined,
      procName: undefined,
      originalError: Error: Connection lost - read ECONNRESET
          at handleError (C:\Users\Steven.Renner\projects\tomis-v4-api\node_modules\mssql\lib\tedious.js:554:19)
          at Connection.emit (events.js:215:7)
          at Connection.socketError (C:\Users\Steven.Renner\projects\tomis-v4-api\node_modules\tedious\lib\connection.js:1028:14)
          at Socket.<anonymous> (C:\Users\Steven.Renner\projects\tomis-v4-api\node_modules\tedious\lib\connection.js:878:18)
          at Socket.emit (events.js:215:7)
          at emitErrorNT (internal/streams/destroy.js:92:8)
          at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
          at processTicksAndRejections (internal/process/task_queues.js:80:21) {
        info: ConnectionError: Connection lost - read ECONNRESET
            at ConnectionError (C:\Users\Steven.Renner\projects\tomis-v4-api\node_modules\tedious\lib\errors.js:12:12)
            at Connection.socketError (C:\Users\Steven.Renner\projects\tomis-v4-api\node_modules\tedious\lib\connection.js:1028:28)
            at Socket.<anonymous> (C:\Users\Steven.Renner\projects\tomis-v4-api\node_modules\tedious\lib\connection.js:878:18)
            at Socket.emit (events.js:215:7)
            at emitErrorNT (internal/streams/destroy.js:92:8)
            at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
            at processTicksAndRejections (internal/process/task_queues.js:80:21) {
          message: 'Connection lost - read ECONNRESET',
          code: 'ESOCKET'
        }
      },
      name: 'RequestError'
    },
    meta: undefined
  }
      at Object.connectAndQuery (C:\Users\Steven.Renner\projects\tomis-v4-api\node_modules\sails-mssql\lib\adapter.js:618:69)
      at async Object.join (C:\Users\Steven.Renner\projects\tomis-v4-api\node_modules\sails-mssql\lib\adapter.js:962:23) {
    name: 'Exception',
    code: 'queryFailed',
    exit: 'queryFailed',
    traceRef: {},
    raw: { error: [RequestError], meta: undefined }
  },
  isOperational: true,
  code: 'queryFailed',
  exit: 'queryFailed',
  traceRef: {},
  raw: {
    error: RequestError: Connection lost - read ECONNRESET
        at handleError (C:\Users\Steven.Renner\projects\tomis-v4-api\node_modules\mssql\lib\tedious.js:556:15)
        at Connection.emit (events.js:215:7)
        at Connection.socketError (C:\Users\Steven.Renner\projects\tomis-v4-api\node_modules\tedious\lib\connection.js:1028:14)
        at Socket.<anonymous> (C:\Users\Steven.Renner\projects\tomis-v4-api\node_modules\tedious\lib\connection.js:878:18)
        at Socket.emit (events.js:215:7)
        at emitErrorNT (internal/streams/destroy.js:92:8)
        at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
        at processTicksAndRejections (internal/process/task_queues.js:80:21) {
      code: 'EREQUEST',
      number: undefined,
      lineNumber: undefined,
      state: undefined,
      class: undefined,
      serverName: undefined,
      procName: undefined,
      originalError: [Error],
      name: 'RequestError'
    },
    meta: undefined
  }
}
(node:17648) UnhandledPromiseRejectionWarning: AdapterError: Malformed error from adapter: Should always be an Error instance, but instead, got:
@fsrenner
Copy link
Author

fsrenner commented Dec 5, 2019

I looks like the issue is primarily happening inside the machine-pack because it appears that sails-mssql delegates to machinepack for the actual sql execution. My team-mate and I were able to get it to work when we updated the sails-mssql mssql dependency and the machine-pack mssql dependency to "mssql": "^6.0.1". Due to the last node sql server issues discovered. I would recommend releasing a version that updates these dependencies.

@davepreston
Copy link

thanks for your help identifying the cause. I was never able to reproduce the problem you had, but I upgraded the mssql version used in machinepack-mssql so I'm going to close this issue.
Please let me know if you still have an issue and we can re-open.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants