Error: queryTxt ETIMEOUT cluster0.1si1c.mongodb.net - node.js

This error is showing up when I am trying to connect nodejs to mongodb atlas. Everything is fine and then it is happening:
Error: queryTxt ETIMEOUT cluster0.1si1c.mongodb.net
at QueryReqWrap.onresolve [as oncomplete] (node:dns:213:19) {
errno: undefined,
code: 'ETIMEOUT',
syscall: 'queryTxt',
hostname: 'cluster0.1si1c.mongodb.net'
}

Related

ECONNREFUSED , I am trying to connect to my prosgres database running the app with nodemon

node:internal/process/promises:246
triggerUncaughtException(err, true /* fromPromise */);
^
Error: connect ECONNREFUSED 127.0.0.1:5432
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1161:16) {
errno: -61,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 5432
}

Error: getaddrinfo EAI_AGAIN api.stripe.com:443

Our servers are hosted on AWS EC2 Instance and we started receiving the following error today after the AWS Support changed somethings with DNS
Error: getaddrinfo EAI_AGAIN api.stripe.com:443
{ Error: An error occurred with our connection to Stripe.
at /var/www/html/Goeat/admin_and_store_panel/node_modules/stripe/lib/StripeResource.js:219:9
at ClientRequest.req.on (/var/www/html/Goeat/admin_and_store_panel/node_modules/stripe/lib/StripeResource.js:474:67)
at emitOne (events.js:116:13)
at ClientRequest.emit (events.js:211:7)
at TLSSocket.socketErrorListener (_http_client.js:401:9)
at emitOne (events.js:116:13)
at TLSSocket.emit (events.js:211:7)
at emitErrorNT (internal/streams/destroy.js:73:8)
at _combinedTickCallback (internal/process/next_tick.js:139:11)
at process._tickDomainCallback (internal/process/next_tick.js:219:9)
type: 'StripeConnectionError',
raw:
{ message: 'An error occurred with our connection to Stripe.',
detail:
{ Error: getaddrinfo EAI_AGAIN api.stripe.com:443
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:67:26)
errno: 'EAI_AGAIN',
code: 'EAI_AGAIN',
syscall: 'getaddrinfo',
hostname: 'api.stripe.com',
host: 'api.stripe.com',
port: '443' } },
rawType: undefined,
code: undefined,
doc_url: undefined,
param: undefined,
detail:
{ Error: getaddrinfo EAI_AGAIN api.stripe.com:443
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:67:26)
errno: 'EAI_AGAIN',
code: 'EAI_AGAIN',
syscall: 'getaddrinfo',
hostname: 'api.stripe.com',
host: 'api.stripe.com',
port: '443' },
headers: undefined,
requestId: undefined,
statusCode: undefined,
charge: undefined,
decline_code: undefined,
payment_intent: undefined,
payment_method: undefined,
setup_intent: undefined,
source: undefined }
Could you please help us with the issue ?

ETIMEDOUT error on wikidata api call using request promise

Below is the snippet of nodejs to call wikidata api using request-promise module
var rp = require('request-promise');
var wikidataURL="http://www.wikidata.org/w/api.php?action=wbgetentities&props=labels|claims&languages=en&format=json&ids=Q1"
let promise=rp(wikidataURL).catch(function(e){
console.log(e);
});
For me, it worked normally till 27/1/2020. After that I get a ETIMEDOUT connection error. The same links would work on browser but not on nodejs. There is no proxy involved.
Error message:
{ Error: connect ETIMEDOUT 91.198.174.192:80
at Object._errnoException (util.js:1022:11)
at _exceptionWithHostPort (util.js:1044:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1198:14)
code: 'ETIMEDOUT',
errno: 'ETIMEDOUT',
syscall: 'connect',
address: '91.198.174.192',
port: 80 },
Is this something on my side or wikidata server?
So it seems only https is allowed now for wikidata api query after some update from their side

Server Crashing in node.js

I am working on graphql(Apollo) with node server. I am getting an issue that my server is crashing if there is no request coming to the server for around 15 min.
I am getting following error in console
{ Error: read ETIMEDOUT
at exports._errnoException (util.js:1034:11)
at TCP.onread (net.js:584:26) code: 'ETIMEDOUT', errno: 'ETIMEDOUT', syscall: 'read' }
{ Error: read ETIMEDOUT
at exports._errnoException (util.js:1034:11)
at TCP.onread (net.js:584:26) code: 'ETIMEDOUT', errno: 'ETIMEDOUT', syscall: 'read' }
{ Error: read ETIMEDOUT
at exports._errnoException (util.js:1034:11)
at TCP.onread (net.js:584:26) code: 'ETIMEDOUT', errno: 'ETIMEDOUT', syscall: 'read' }
{ Error: read ETIMEDOUT
at exports._errnoException (util.js:1034:11)
at TCP.onread (net.js:584:26) code: 'ETIMEDOUT', errno: 'ETIMEDOUT', syscall: 'read' }
{ Error: read ETIMEDOUT
at exports._errnoException (util.js:1034:11)
at TCP.onread (net.js:584:26) code: 'ETIMEDOUT', errno: 'ETIMEDOUT', syscall: 'read' }
{ Error: read ETIMEDOUT
at exports._errnoException (util.js:1034:11)
at TCP.onread (net.js:584:26) code: 'ETIMEDOUT', errno: 'ETIMEDOUT', syscall: 'read' }
{ Error: read ETIMEDOUT
at exports._errnoException (util.js:1034:11)
at TCP.onread (net.js:584:26) code: 'ETIMEDOUT', errno: 'ETIMEDOUT', syscall: 'read' }
{ Error: read ETIMEDOUT
at exports._errnoException (util.js:1034:11)
at TCP.onread (net.js:584:26) code: 'ETIMEDOUT', errno: 'ETIMEDOUT', syscall: 'read' }
events.js:163
throw er; // Unhandled 'error' event
Is there any specific configuration missing in my configuration?

Deployed Firebase Function Cannot Execute HTTP GET to external API? [duplicate]

This question already has answers here:
Cloud Functions for Firebase - getaddrinfo ENOTFOUND
(5 answers)
Closed 5 years ago.
I am attempting to create my first Google Home Action as with the same functinality of my Amazon Alexa Skill. The way this action works is, you execute an intent, and that calls a function in my code. When the function is called, it sends off a GET to an external API to pull some data.
Now when I run this locally using: firebase serve --only functions and ngrok. These will allow me to test the function on API.AI and it works fine.
But when I decide to deploy this to firebase using: firebase deploy --only functions, it simply does not work and throws this error:
error: { RequestError: Error: getaddrinfo EAI_AGAIN newsapi.org:443
at new RequestError (/user_code/node_modules/request-promise/node_modules/request-promise-core/lib/errors.js:14:15)
at Request.plumbing.callback (/user_code/node_modules/request-promise/node_modules/request-promise-core/lib/plumbing.js:87:29)
at Request.RP$callback [as _callback] (/user_code/node_modules/request-promise/node_modules/request-promise-core/lib/plumbing.js:46:31)
at self.callback (/user_code/node_modules/request/request.js:188:22)
at emitOne (events.js:96:13)
at Request.emit (events.js:188:7)
at Request.onRequestError (/user_code/node_modules/request/request.js:884:8)
at emitOne (events.js:96:13)
at ClientRequest.emit (events.js:188:7)
at TLSSocket.socketErrorListener (_http_client.js:310:9)
at emitOne (events.js:96:13)
at TLSSocket.emit (events.js:188:7)
at connectErrorNT (net.js:1020:8)
at _combinedTickCallback (internal/process/next_tick.js:74:11)
at process._tickDomainCallback (internal/process/next_tick.js:122:9)
name: 'RequestError',
message: 'Error: getaddrinfo EAI_AGAIN newsapi.org:443',
cause:
{ Error: getaddrinfo EAI_AGAIN newsapi.org:443
at Object.exports._errnoException (util.js:1026:11)
at errnoException (dns.js:33:15)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:76:26)
code: 'EAI_AGAIN',
errno: 'EAI_AGAIN',
syscall: 'getaddrinfo',
hostname: 'newsapi.org',
host: 'newsapi.org',
port: 443 },
error:
{ Error: getaddrinfo EAI_AGAIN newsapi.org:443
at Object.exports._errnoException (util.js:1026:11)
at errnoException (dns.js:33:15)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:76:26)
code: 'EAI_AGAIN',
errno: 'EAI_AGAIN',
syscall: 'getaddrinfo',
hostname: 'newsapi.org',
host: 'newsapi.org',
port: 443 },
options:
{ uri: 'https://newsapi.org/v1/articles?source=hacker-news&sortBy=top&apiKey=8b87b4978b22493cadeb351cce01d52a',
headers: { 'User-Agent': 'Request-Promise' },
family: 4,
json: true,
callback: [Function: RP$callback],
transform: undefined,
simple: true,
resolveWithFullResponse: false,
transform2xxOnly: false },
response: undefined }
I cannot seem to find any reason why this would not work, as I can test it locally and get the data by hitting the same URL that is used in the request. In this example, I am using request-promise to complete the request, but I have also used the libraries: got, request, and https.
How can I overcome this problem?
The only thing that I found for this could be that I am not using a paid Firebase plan

Resources