dfelton / kobens-gemini

Application for facilitating trades on the Gemini exchange.
9 stars 1 forks source link

Logger\TradeHistory - MySQL server has gone away #31

Open dfelton opened 4 years ago

dfelton commented 4 years ago

The default wait time for this command is 600 seconds once logging of trades for the symbol is up to date. During these 600 seconds, the database server is dropping the connection due to no activity. The command should instantiate a new db connection for this situation and continue as normal.

dfelton commented 4 years ago

Trace:

PHP Warning:  PDOStatement::execute(): MySQL server has gone away in vendor/zendframework/zend-db/src/Adapter/Driver/Pdo/Statement.php on line 239
PHP Stack trace:
PHP   1. {main}() bin/gemini:0
PHP   2. Symfony\Component\Console\Application->run($input = *uninitialized*, $output = *uninitialized*) bin/gemini:283
PHP   3. Symfony\Component\Console\Application->doRun($input = *uninitialized*, $output = *uninitialized*) vendor/symfony/console/Application.php:148
PHP   4. Symfony\Component\Console\Application->doRunCommand($command = *uninitialized*, $input = *uninitialized*, $output = *uninitialized*) vendor/symfony/console/Application.php:272
PHP   5. Kobens\Gemini\Command\Command\Logger\TradeHistory->run($input = *uninitialized*, $output = *uninitialized*) vendor/symfony/console/Application.php:1012
PHP   6. Kobens\Gemini\Command\Command\Logger\TradeHistory->execute($input = *uninitialized*, $output = *uninitialized*) vendor/symfony/console/Command/Command.php:255
PHP   7. Kobens\Gemini\Api\Rest\PrivateEndpoints\OrderStatus\GetPastTrades->getTrades($symbol = *uninitialized*, $timestampms = *uninitialized*, $limitTrades = *uninitialized*) src/Command/Command/Logger/TradeHistory.php:96
PHP   8. Kobens\Gemini\Api\Rest\PrivateEndpoints\OrderStatus\GetPastTrades->getResponse() src/Api/Rest/PrivateEndpoints/OrderStatus/GetPastTrades.php:35
PHP   9. Kobens\Gemini\Api\Rest\PrivateEndpoints\OrderStatus\GetPastTrades->_getResponse() src/Api/Rest/AbstractRequest.php:46
PHP  10. Kobens\Core\Http\Request\Throttler->throttle() src/Api/Rest/AbstractRequest.php:60
PHP  11. Kobens\Core\Http\Request\Throttler\Adapter\MariaDb->get($id = *uninitialized*) vendor/kobens/kobens-core/src/Http/Request/Throttler.php:35
PHP  12. Kobens\Core\Http\Request\Throttler\Adapter\MariaDb->isInTransaction() vendor/kobens/kobens-core/src/Http/Request/Throttler/Adapter/MariaDb.php:57
PHP  13. Zend\Db\Adapter\Driver\Pdo\Statement->execute($parameters = *uninitialized*) vendor/kobens/kobens-core/src/Http/Request/Throttler/Adapter/MariaDb.php:89
PHP  14. PDOStatement->execute() vendor/zendframework/zend-db/src/Adapter/Driver/Pdo/Statement.php:239

Warning: PDOStatement::execute(): MySQL server has gone away in vendor/zendframework/zend-db/src/Adapter/Driver/Pdo/Statement.php on line 239

Call Stack:
    0.0070     454440   1. {main}() bin/gemini:0
    0.1018    5438632   2. Symfony\Component\Console\Application->run(???, ???) bin/gemini:283
    0.1162    5766960   3. Symfony\Component\Console\Application->doRun(???, ???) vendor/symfony/console/Application.php:148
    0.1170    5770336   4. Symfony\Component\Console\Application->doRunCommand(???, ???, ???) vendor/symfony/console/Application.php:272
    0.1170    5770336   5. Kobens\Gemini\Command\Command\Logger\TradeHistory->run(???, ???) vendor/symfony/console/Application.php:1012
    0.1175    5772432   6. Kobens\Gemini\Command\Command\Logger\TradeHistory->execute(???, ???) vendor/symfony/console/Command/Command.php:255
  601.4651    5898960   7. Kobens\Gemini\Api\Rest\PrivateEndpoints\OrderStatus\GetPastTrades->getTrades(???, ???, ???) src/Command/Command/Logger/TradeHistory.php:96
  601.4651    5898960   8. Kobens\Gemini\Api\Rest\PrivateEndpoints\OrderStatus\GetPastTrades->getResponse() src/Api/Rest/PrivateEndpoints/OrderStatus/GetPastTrades.php:35
  601.4651    5898960   9. Kobens\Gemini\Api\Rest\PrivateEndpoints\OrderStatus\GetPastTrades->_getResponse() src/Api/Rest/AbstractRequest.php:46
  601.4651    5898960  10. Kobens\Core\Http\Request\Throttler->throttle() src/Api/Rest/AbstractRequest.php:60
  601.4652    5898960  11. Kobens\Core\Http\Request\Throttler\Adapter\MariaDb->get(???) vendor/kobens/kobens-core/src/Http/Request/Throttler.php:35
  601.4652    5898960  12. Kobens\Core\Http\Request\Throttler\Adapter\MariaDb->isInTransaction() vendor/kobens/kobens-core/src/Http/Request/Throttler/Adapter/MariaDb.php:57
  601.4653    5896864  13. Zend\Db\Adapter\Driver\Pdo\Statement->execute(???) vendor/kobens/kobens-core/src/Http/Request/Throttler/Adapter/MariaDb.php:89
  601.4653    5896976  14. PDOStatement->execute() vendor/zendframework/zend-db/src/Adapter/Driver/Pdo/Statement.php:239

PHP Warning:  PDOStatement::execute(): Error reading result set's header in vendor/zendframework/zend-db/src/Adapter/Driver/Pdo/Statement.php on line 239
PHP Stack trace:
PHP   1. {main}() bin/gemini:0
PHP   2. Symfony\Component\Console\Application->run($input = *uninitialized*, $output = *uninitialized*) bin/gemini:283
PHP   3. Symfony\Component\Console\Application->doRun($input = *uninitialized*, $output = *uninitialized*) vendor/symfony/console/Application.php:148
PHP   4. Symfony\Component\Console\Application->doRunCommand($command = *uninitialized*, $input = *uninitialized*, $output = *uninitialized*) vendor/symfony/console/Application.php:272
PHP   5. Kobens\Gemini\Command\Command\Logger\TradeHistory->run($input = *uninitialized*, $output = *uninitialized*) vendor/symfony/console/Application.php:1012
PHP   6. Kobens\Gemini\Command\Command\Logger\TradeHistory->execute($input = *uninitialized*, $output = *uninitialized*) vendor/symfony/console/Command/Command.php:255
PHP   7. Kobens\Gemini\Api\Rest\PrivateEndpoints\OrderStatus\GetPastTrades->getTrades($symbol = *uninitialized*, $timestampms = *uninitialized*, $limitTrades = *uninitialized*) src/Command/Command/Logger/TradeHistory.php:96
PHP   8. Kobens\Gemini\Api\Rest\PrivateEndpoints\OrderStatus\GetPastTrades->getResponse() src/Api/Rest/PrivateEndpoints/OrderStatus/GetPastTrades.php:35
PHP   9. Kobens\Gemini\Api\Rest\PrivateEndpoints\OrderStatus\GetPastTrades->_getResponse() src/Api/Rest/AbstractRequest.php:46
PHP  10. Kobens\Core\Http\Request\Throttler->throttle() src/Api/Rest/AbstractRequest.php:60
PHP  11. Kobens\Core\Http\Request\Throttler\Adapter\MariaDb->get($id = *uninitialized*) vendor/kobens/kobens-core/src/Http/Request/Throttler.php:35
PHP  12. Kobens\Core\Http\Request\Throttler\Adapter\MariaDb->isInTransaction() vendor/kobens/kobens-core/src/Http/Request/Throttler/Adapter/MariaDb.php:57
PHP  13. Zend\Db\Adapter\Driver\Pdo\Statement->execute($parameters = *uninitialized*) vendor/kobens/kobens-core/src/Http/Request/Throttler/Adapter/MariaDb.php:89
PHP  14. PDOStatement->execute() vendor/zendframework/zend-db/src/Adapter/Driver/Pdo/Statement.php:239

Warning: PDOStatement::execute(): Error reading result set's header in vendor/zendframework/zend-db/src/Adapter/Driver/Pdo/Statement.php on line 239

Call Stack:
    0.0070     454440   1. {main}() bin/gemini:0
    0.1018    5438632   2. Symfony\Component\Console\Application->run(???, ???) bin/gemini:283
    0.1162    5766960   3. Symfony\Component\Console\Application->doRun(???, ???) vendor/symfony/console/Application.php:148
    0.1170    5770336   4. Symfony\Component\Console\Application->doRunCommand(???, ???, ???) vendor/symfony/console/Application.php:272
    0.1170    5770336   5. Kobens\Gemini\Command\Command\Logger\TradeHistory->run(???, ???) vendor/symfony/console/Application.php:1012
    0.1175    5772432   6. Kobens\Gemini\Command\Command\Logger\TradeHistory->execute(???, ???) vendor/symfony/console/Command/Command.php:255
  601.4651    5898960   7. Kobens\Gemini\Api\Rest\PrivateEndpoints\OrderStatus\GetPastTrades->getTrades(???, ???, ???) src/Command/Command/Logger/TradeHistory.php:96
  601.4651    5898960   8. Kobens\Gemini\Api\Rest\PrivateEndpoints\OrderStatus\GetPastTrades->getResponse() src/Api/Rest/PrivateEndpoints/OrderStatus/GetPastTrades.php:35
  601.4651    5898960   9. Kobens\Gemini\Api\Rest\PrivateEndpoints\OrderStatus\GetPastTrades->_getResponse() src/Api/Rest/AbstractRequest.php:46
  601.4651    5898960  10. Kobens\Core\Http\Request\Throttler->throttle() src/Api/Rest/AbstractRequest.php:60
  601.4652    5898960  11. Kobens\Core\Http\Request\Throttler\Adapter\MariaDb->get(???) vendor/kobens/kobens-core/src/Http/Request/Throttler.php:35
  601.4652    5898960  12. Kobens\Core\Http\Request\Throttler\Adapter\MariaDb->isInTransaction() vendor/kobens/kobens-core/src/Http/Request/Throttler/Adapter/MariaDb.php:57
  601.4653    5896864  13. Zend\Db\Adapter\Driver\Pdo\Statement->execute(???) vendor/kobens/kobens-core/src/Http/Request/Throttler/Adapter/MariaDb.php:89
  601.4653    5896976  14. PDOStatement->execute() vendor/zendframework/zend-db/src/Adapter/Driver/Pdo/Statement.php:239
dfelton commented 3 years ago

Manual workaround available: bump up the wait_timeout