Silent User
Silent User

Reputation: 2767

Two concurrent requests getting mixed up in Node.js app

I am completely stumped by what I noticed today in my app.

I have an app written in Node.js running on nginx with MongoDB in the backend. I have an 'authenticateUser' cal which takes in a username and password. It then queries MongoDB to retrieve the users document and checks if the password matches up.

We wrote a script which basically calls 'authenticateUser' in a loop 100 times. It worked fine. No errors. Now we ran the same script from 2 terminals, one for user bill and the other for user sam. We started seeing failures on both the terminals. I would say about 10% of the requests failed with invalid password errors.

When we inspected the log files, we were completely surprised to see bill's username getting mixed up with sam's password. We have no idea what's going on. We must be doing something obviously wrong. What is it? Aren't the two requests completely isolated from each other?

Upvotes: 1

Views: 1433

Answers (1)

alex
alex

Reputation: 12265

Do you use global variables often? Missing var is a common cause of such errors.

And yeah, i'd like to see a source code...

Upvotes: 8

Related Questions