in Yazılım

Mysql deadlock debug etme

PhpUnit testlerini çalıştırırken testler anlamsız bir şekilde donup kalıyorudu. Mysql’i restart ettiğimde testlerin çalışmaya devam ettiğini farkettim. (Testlerin hepsi mysql gone away hatası vererek sonlanmıştı) Böylece sorunun MySql kaynaklı olduğundan emin oldum. Bir yerlerde açılan transaction kapanmadığından deadlock oluşuyordu. Deadlock ile ilgili ayrıntılara erişmek için aşağıdaki komutu kullandım.

Aldığım çıktıdan en son lock olan sorguyu gördüm ve ayrıca “Waiting for table metadata lock” şeklinde ek bir açıklamaya rastladım.

İlgili processleri sonlandırarak testlerin ilerlemesini sağladım. Process sonlandırmak için yukarıdaki komutun çıktısında elde ettiğiniz process’i kill etmeniz gerekiyor.

Bunun sayesinde hangi testin patladığını tespit edip testlerin sonlanmasını sağlayabildim. Hatanın temel sebebini bulmak için transactionun nerede açık kalıdğını bulmanız gerekiyor.

 

 

 

  • SMY

    Could not resolve host: estore.myshopify.com; Unknown error#0 /home/proj/public_html/app/client.php(33): ShopifyClient->curlHttpApiRequest(‘POST’, ‘https://estore….’, ”, ‘client_id=39e0…’, Array) #1

    /home/proj/public_html/app/install.php(81): ShopifyClient->getAccessToken(‘eb718b290…’) #2 {main}

    from my laptop

    PING: estore.myshopify.com – works fine

    PING: Server – works fine

    Im facing the above error from last 5days – shopify refused support mentioning its a 3rd party php library and that they are not receiving AUTH request hence there is no token generated.

    I m looking for a rapid solution – was hoping to receive your experience opinion on the same…

    regards