cherokee / webserver

Cherokee Web Server
GNU General Public License v2.0
564 stars 104 forks source link

MySQL Auth request hangs randomly or causes timeout if one is set. #742

Open danielniccoli opened 11 years ago

danielniccoli commented 11 years ago

Original author: jimpisaacs (October 13, 2010 16:30:12)

What steps will reproduce the problem?

  1. Create a cluster environment with Fedora 13 as the platform.
  2. Set up a server specifically for MySQL, and a server specifically for Cherokee
  3. Set up a database used for authentication in MySQL
  4. Create a vserver in cherokee using MySQL Basic Authentication using the MySQL server setup previously.
  5. Test authentication in a browser.
  6. After authentication, reload and/or navigation through the authenticated realm.
  7. After repeat step 6 few times you should see certain requests hang, and other not.

What is the expected output? What do you see instead? I was expecting pages within the realm to load normally as it does without authentication. Instead while using MySQL authentication, and ONLY MySQL authentication, at random intervals requests within the realm hang as if something is not making a successful round trip.

What version of the product are you using? On what operating system? Fedora 13 Linux version 2.6.34.7-56.fc13.x86_64 mysql Ver 14.14 Distrib 5.1.50 Cherokee Web Server 1.0.6

Please provide any additional information below.

I have tried just about every combination of possibilities I could think of. I used the root user with all global privileges. I used a specific user with limited database privileges. I used all 3 forms of password hashing. I allowed the user from any host from within MySQL privileges. I used different forms of the query with quotes and without quotes. I even tested all other forms of Cherokee authentication, and MySQL Auth seems to be the only one with this problem.

I suspect the hang has to do with the MySQL connection.

Original issue: http://code.google.com/p/cherokee/issues/detail?id=1021

danielniccoli commented 11 years ago

From ste...@konink.de on October 13, 2010 16:37:26 We should check a concurrency issue on the pointer that maintains the connection.

danielniccoli commented 11 years ago

From jimpisaacs on October 13, 2010 16:45:34 Would anyone know where in my logs could I check for a connection error?

danielniccoli commented 11 years ago

From ste...@konink.de on October 13, 2010 16:55:37 It is probably not a connection error but race on the connection.