spknetwork / video-encoder

5 stars 3 forks source link

getaddrinfo ENOTFOUND encoder-gateway.infra.3speak.tv #5

Closed sag333ar closed 1 year ago

sag333ar commented 2 years ago
5|video  | unhandledRejection Error: getaddrinfo ENOTFOUND encoder-gateway.infra.3speak.tv
5|video  |     at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:71:26) {
5|video  |   errno: -3008,
5|video  |   code: 'ENOTFOUND',
5|video  |   syscall: 'getaddrinfo',
5|video  |   hostname: 'encoder-gateway.infra.3speak.tv',
5|video  |   config: {
5|video  |     transitional: {
5|video  |       silentJSONParsing: true,
5|video  |       forcedJSONParsing: true,
5|video  |       clarifyTimeoutError: false
5|video  |     },
5|video  | Error: getaddrinfo ENOTFOUND encoder-gateway.infra.3speak.tv
5|video  |     at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:71:26) {
5|video  |   errno: -3008,
5|video  |   code: 'ENOTFOUND',
5|video  |   syscall: 'getaddrinfo',
5|video  |   hostname: 'encoder-gateway.infra.3speak.tv',
5|video  |   config: {
5|video  |     transitional: {
5|video  |       silentJSONParsing: true,
5|video  |       forcedJSONParsing: true,
5|video  |       clarifyTimeoutError: false
5|video  |     },
5|video  |     adapter: [Function: httpAdapter],
5|video  |     transformRequest: [ [Function: transformRequest] ],
5|video  |     transformResponse: [ [Function: transformResponse] ],
5|video  |     timeout: 0,
5|video  |     xsrfCookieName: 'XSRF-TOKEN',
5|video  |     xsrfHeaderName: 'X-XSRF-TOKEN',
5|video  |     maxContentLength: -1,
5|video  |     maxBodyLength: -1,
5|video  |     validateStatus: [Function: validateStatus],
5|video  |     headers: {
5|video  |       Accept: 'application/json, text/plain, */*',
5|video  |       'Content-Type': 'application/json',
5|video  |       'User-Agent': 'axios/0.24.0',
5|video  |       'Content-Length': 648
5|video  |     },
5|video  |     method: 'post',
5|video  |     url: 'https://encoder-gateway.infra.3speak.tv/v1/graphql',
5|video  |     data: '{"query":"\\n      query Query($node_id: String) {\\n        queueJob(node_id: $node_id) {\\n          reason\\n          job {\\n            id\\n            status\\n            created_at\\n            last_pinged\\n            start_date\\n            completed_at\\n            input {\\n              format\\n              uri\\n              size\\n            }\\n            result {\\n              format\\n              uri\\n              size\\n            }\\n            sync\\n            storageMetadata\\n            metadata\\n          }\\n        }\\n      }\\n      ","variables":{"node_id":"did:key:z6MkuRtVUm7da41KAiKxhEPou4raKkybaD1BJNKgpJoRWnBw"}}'
5|video  |   },
5|video  |   request: <ref *1> Writable {
5|video  |     _writableState: WritableState {
5|video  |       objectMode: false,
5|video  |       highWaterMark: 16384,
5|video  |       finalCalled: false,
5|video  |       needDrain: false,
5|video  |       ending: false,
5|video  |       ended: false,
5|video  |       finished: false,
5|video  |       destroyed: false,
5|video  |       decodeStrings: true,
5|video  |       defaultEncoding: 'utf8',
5|video  |       length: 0,
5|video  |       writing: false,
5|video  |       corked: 0,
5|video  |       sync: true,
5|video  |       bufferProcessing: false,
5|video  |       onwrite: [Function: bound onwrite],
5|video  |       writecb: null,
5|video  |       writelen: 0,
5|video  |       afterWriteTickInfo: null,
5|video  |       buffered: [],
5|video  |       bufferedIndex: 0,
5|video  |       allBuffers: true,
5|video  |       allNoop: true,
5|video  |       pendingcb: 0,
5|video  |       constructed: true,
5|video  |       prefinished: false,
5|video  |       errorEmitted: false,
5|video  |       emitClose: true,
5|video  |       autoDestroy: true,
5|video  |       errored: null,
5|video  |       closed: false,
5|video  |       closeEmitted: false,
5|video  |       [Symbol(kOnFinished)]: []
5|video  |     },
5|video  |     _events: [Object: null prototype] {
5|video  |       response: [Function: handleResponse],
5|video  |       error: [Function: handleRequestError]
5|video  |     },
5|video  |     _eventsCount: 2,
5|video  |     _maxListeners: undefined,
5|video  |     _options: {
5|video  |       maxRedirects: 21,
5|video  |       maxBodyLength: 10485760,
5|video  |       protocol: 'https:',
5|video  |       path: '/v1/graphql',
5|video  |       method: 'POST',
5|video  |       headers: [Object],
5|video  |       agent: undefined,
5|video  |       agents: [Object],
5|video  |       auth: undefined,
5|video  |       hostname: 'encoder-gateway.infra.3speak.tv',
5|video  |       port: null,
5|video  |       nativeProtocols: [Object],
5|video  |       pathname: '/v1/graphql'
5|video  |     },
5|video  |     _ended: false,
5|video  |     _ending: true,
5|video  |     _redirectCount: 0,
5|video  |     _redirects: [],
5|video  |     _requestBodyLength: 648,
5|video  |     _requestBodyBuffers: [ [Object] ],
5|video  |     _onNativeResponse: [Function (anonymous)],
5|video  |     _currentRequest: ClientRequest {
5|video  |       _events: [Object: null prototype],
5|video  |       _eventsCount: 7,
5|video  |       _maxListeners: undefined,
5|video  |       outputData: [],
vaultec81 commented 2 years ago

ENOTFOUND is directly related to failed DNS resolution on the client machine. There is no way we can directly mitigate internet instability, but we can do background polling/communication in a way that is resistant to temporarily crashes.

vaultec81 commented 1 year ago

Going to close in favor of #16