Hi,
*I was using a lambda function to connect to MySQL database code here
var connection = mysql.createConnection({
host : "remotemysql.com",
user: "",
database: "",
password: ""
//port:"3306"
});
}
exports.handler = function (event, context, callback) {
context.callbackWaitsForEmptyEventLoop =false;
connection.connect(function(err) {
if (err) {
console.error('Error connecting: ' + err.stack);
}
console.log('Connected as thread id: ' + connection.threadId);
});
var results=[];
//SQL Query > Select Data
return new Promise((resolve, reject) => {
const readTable = `SELECT * FROM num_of_likes`;
connection.query(readTable, (err, results, fields) => {
if (err) {
reject(err);
} else {
resolve({statusCode: 200, body: {results}});
}
});
});
*Lambda server is listening on 9000
Request from ::1: GET /connect
Error connecting: Error: Received packet in the wrong sequence.
at A._parsePacket (/Users/riteshkarwa/netlify/functions/connect.js:1:93387)
at A._parsePacket (/Users/riteshkarwa/netlify/functions/connect.js:1:102113)
at A.write (/Users/riteshkarwa/netlify/functions/connect.js:1:96341)
at A.write (/Users/riteshkarwa/netlify/functions/connect.js:1:89855)
at Socket. (/Users/riteshkarwa/netlify/functions/connect.js:1:7771)
at Socket. (/Users/riteshkarwa/netlify/functions/connect.js:1:6835)
at Socket.emit (events.js:210:5)
at addChunk (_stream_readable.js:309:12)
at readableAddChunk (_stream_readable.js:290:11)
at Socket.Readable.push (_stream_readable.js:224:10)
at TCP.onStreamRead (internal/stream_base_commons.js:182:23)
--------------------
at A._enqueue (/Users/riteshkarwa/netlify/functions/connect.js:1:91233)
at A.handshake (/Users/riteshkarwa/netlify/functions/connect.js:1:89978)
at o.connect (/Users/riteshkarwa/netlify/functions/connect.js:1:8643)
at Object.E.handler (/Users/riteshkarwa/netlify/functions/connect.js:1:238235)
at /Users/riteshkarwa/netlify/node_modules/netlify-lambda/lib/serve.js:144:27
at Layer.handle [as handle_request] (/Users/riteshkarwa/netlify/node_modules/express/lib/router/layer.js:95:5)
at next (/Users/riteshkarwa/netlify/node_modules/express/lib/router/route.js:137:13)
at next (/Users/riteshkarwa/netlify/node_modules/express/lib/router/route.js:131:14)
at next (/Users/riteshkarwa/netlify/node_modules/express/lib/router/route.js:131:14)
at next (/Users/riteshkarwa/netlify/node_modules/express/lib/router/route.js:131:14)
at next (/Users/riteshkarwa/netlify/node_modules/express/lib/router/route.js:131:14)
at next (/Users/riteshkarwa/netlify/node_modules/express/lib/router/route.js:131:14)
at next (/Users/riteshkarwa/netlify/node_modules/express/lib/router/route.js:131:14)
at Route.dispatch (/Users/riteshkarwa/netlify/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/Users/riteshkarwa/netlify/node_modules/express/lib/router/layer.js:95:5)
at /Users/riteshkarwa/netlify/node_modules/express/lib/router/index.js:281:22
Connected as thread id: 15223054
Response with status 500 in 2105 ms.
Error during invocation: Error: Received packet in the wrong sequence.
at A._parsePacket (/Users/riteshkarwa/netlify/functions/connect.js:1:93387)
at A._parsePacket (/Users/riteshkarwa/netlify/functions/connect.js:1:102113)
at A.write (/Users/riteshkarwa/netlify/functions/connect.js:1:96341)
at A.write (/Users/riteshkarwa/netlify/functions/connect.js:1:89855)
at Socket. (/Users/riteshkarwa/netlify/functions/connect.js:1:7771)
at Socket. (/Users/riteshkarwa/netlify/functions/connect.js:1:6835)
at Socket.emit (events.js:210:5)
at addChunk (_stream_readable.js:309:12)
at readableAddChunk (_stream_readable.js:290:11)
at Socket.Readable.push (_stream_readable.js:224:10)
at TCP.onStreamRead (internal/stream_base_commons.js:182:23)
--------------------
at A._enqueue (/Users/riteshkarwa/netlify/functions/connect.js:1:91233)
at A.handshake (/Users/riteshkarwa/netlify/functions/connect.js:1:89978)
at o.connect (/Users/riteshkarwa/netlify/functions/connect.js:1:8643)
at Object.E.handler (/Users/riteshkarwa/netlify/functions/connect.js:1:238235)
at /Users/riteshkarwa/netlify/node_modules/netlify-lambda/lib/serve.js:144:27
at Layer.handle [as handle_request] (/Users/riteshkarwa/netlify/node_modules/express/lib/router/layer.js:95:5)
at next (/Users/riteshkarwa/netlify/node_modules/express/lib/router/route.js:137:13)
at next (/Users/riteshkarwa/netlify/node_modules/express/lib/router/route.js:131:14)
at next (/Users/riteshkarwa/netlify/node_modules/express/lib/router/route.js:131:14)
at next (/Users/riteshkarwa/netlify/node_modules/express/lib/router/route.js:131:14)
at next (/Users/riteshkarwa/netlify/node_modules/express/lib/router/route.js:131:14)
at next (/Users/riteshkarwa/netlify/node_modules/express/lib/router/route.js:131:14)
at next (/Users/riteshkarwa/netlify/node_modules/express/lib/router/route.js:131:14)
at Route.dispatch (/Users/riteshkarwa/netlify/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/Users/riteshkarwa/netlify/node_modules/express/lib/router/layer.js:95:5)
at /Users/riteshkarwa/netlify/node_modules/express/lib/router/index.js:281:22 {
code: ‘PROTOCOL_INCORRECT_PACKET_SEQUENCE’,
fatal: true
}
so far I did not find a way to solve it by search google
hi @futuregerald , as far as I know I have not bundled the function, I just created connect.js which has the logic to connect to MySQL database. So i went ahead and disabled everything in asset optimization setting.
I am just experimenting, I don’t think I am doing it right.
Error messages i got after deploy and hitting https://southernsunshineandroses.netlify.com/.netlify/functions/connect {"errorMessage":"Received packet in the wrong sequence.","errorType":"Error","stackTrace":["s._parsePacket (/var/task/connect.js:1:106224)","s._parsePacket (/var/task/connect.js:1:114950)","s.write (/var/task/connect.js:1:109178)","s.write (/var/task/connect.js:1:102692)","Socket.<anonymous> (/var/task/connect.js:1:9937)","Socket.<anonymous> (/var/task/connect.js:1:9001)","emitOne (events.js:116:13)","Socket.emit (events.js:211:7)","addChunk (_stream_readable.js:263:12)","readableAddChunk (_stream_readable.js:250:11)"," --------------------","s._enqueue (/var/task/connect.js:1:104070)","s.handshake (/var/task/connect.js:1:102815)","T.connect (/var/task/connect.js:1:10809)","e.handler (/var/task/connect.js:8:18859)"]}
I have a very similar issue (using mysql and the netlify functions express demo app) to hit a DB on heroku (also tried on an AWS RDS instance)
I get the same error and I can’t figure out what is causing it. It will work locally but not when it is published.
I have seen a few threads here and there mention mysql config or import getting stepped on or removed during the build process. Something to do with webpack and where and how mysql is declared and configured. But nothing explaining what to do about it
Hi, @Ju66ernaut. If it works locally but not at Netlify then the issue is most likely a difference in the function environments. The next step will be to determine what is present locally and not in the deployed function.
It often helps debugging to start logging verbosely in both places to see if the difference can be found that way.
For issues with code not working locally, we cannot assist with troubleshooting those as they are not Netlify specific.
From what I have been reading it sounds like this issue may be related to how mysql is bundled/minified during the deploy process but after changing my netlify.toml file to not bundle or minify and it still not working I am not so sure. I also tried including a webpack.config.js file and set optimization.minimize: false.
Are there any demos or examples of connecting to mysql via a netlify function? Or is there a preferred DB to use with netlify functions? I tried the faunaDB tutorial but had some issues getting that up and running.
Lastly, for verbose logging in my function can you tell me anything in particular I should be looking for?
Also I just wanted to state again I am using the express demo app as a starter project and just modifying that.
Thank you
Hi, with regards to bundling/minified, are you using netlify-lambda or our buildbot’s built-in ‘zip-it-and-ship-it’ method? You may want to try not bundling at all.
With regards to examples, I don’t have one handy at the moment. As far as logging in express, it would be up to you to either console.log certain res or req objects or use a logger middleware.
Hi @Dennis I am working off the netlify-express demo and I see it is using netlify-lamda 1.6.3. I have been trying to either override bundling by adding my own web.config.js and setting optimization.minimize = false and I also tried disabled bundling and minification in the netlify admin UI (site settings) but that looks like it didn’t work either.
I am not aware of buildbot but I see the repo for it so I will give that a shot I think. Is there anything in particular I should know about using that?