-
Notifications
You must be signed in to change notification settings - Fork 165
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Interface falls over when editing location #291
Comments
Okay, Checked a bit more in to this. mySQL is throwing a wobbly when I try to update this specific field:
|
|
This is not a good sign and looks like either a mysql bug or db corruption, but it's not an IXP Manager problem. As a matter of urgency, you would probably want to consider a mysqldump on your ixp manager db. Once this is done - and not before - it would probably be a good idea to try an innodb repair operation. There are guidelines here: https://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html If this doesn't fix the problem, it would probably be a good idea to blow away the entire db and restore from mysqldump. The |
Looking in the error.log now shows various warnings when it restarts, such as:
seems to relate to old tables for the v3 install though. Agree some sort of innodb issue reading the various links. This would also seem to be the reason that our SFLOW graphs stop updating and we have to restart things, usually every couple of days. The script loses the connection to mysql and dies. |
you should be able to delete the ixp3 db if you're finished with it.
The sflow scripts shouldn't die randomly. They certainly don't on the
inex installation.
|
Thanks Nick. What seems to happen in our case is that if mysql is not available,
So stopping all the sflow related processes and starting again in order, gets it running again.
Recently we added a check to Nagios to check if the rrd files have stopped being updated. (since the process check doesn't seem able to check sflow-to-rrd-handler itself for some reason, and it does not always die straight away - seems to have a couple of goes and then dies.) (mysql update of doom issued as mentioned above.)
Anyway. straying onto a different issue in the process of diagnosing another one. Probably we should close this issue and look into this separately. |
The script already attempts to deal with mysql failures, but if you
start it with nohup, it's likely that this would cause problems if
sflow-to-rrd-handler tries to kill the sflowtool subprocess.
You should start sflow-to-rrd-handler with the
control-sflow-to-rrd-handler script rather than depending on nohup.
|
Insists on there being a valid "tag" - what is meant to be entered in the tag field?
Although it is meant to be fixed in Interface falls over when editing / adding location #258 - and looking at our code, I think we have this fixed version, the interface is still crashing when we try to update a location. Error message seems to imply some backend database constraint preventing the update?
2017-01-31T16:51:21+00:00 ERR (3): ERROR - FAILED: User 2 edited a location object with id 4
ErrorException: PDOStatement::execute(): MySQL server has gone away in /srv/ixp4/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:91
Stack trace:
#0 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'PDOStatement::e...', '/srv/ixp4/vendo...', 91, Array)
#1 /srv/ixp4/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php(91): PDOStatement->execute(NULL)
#2 /srv/ixp4/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(987): Doctrine\DBAL\Driver\PDOStatement->execute()
#3 /srv/ixp4/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php(480): Doctrine\DBAL\Connection->executeUpdate('UPDATE location...', Array, Array)
#4 /srv/ixp4/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php(366): Doctrine\ORM\Persisters\Entity\BasicEntityPersister->updateTable(Object(Entities\Location), 'location', Array, NULL)
#5 /srv/ixp4/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php(1069): Doctrine\ORM\Persisters\Entity\BasicEntityPersister->update(Object(Entities\Location))
#6 /srv/ixp4/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php(384): Doctrine\ORM\UnitOfWork->executeUpdates(Object(Doctrine\ORM\Mapping\ClassMetadata))
#7 /srv/ixp4/vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php(356): Doctrine\ORM\UnitOfWork->commit(NULL)
#8 /srv/ixp4/vendor/opensolutions/oss-framework/src/OSS/Controller/Action/Trait/Doctrine2Frontend.php(623): Doctrine\ORM\EntityManager->flush()
#9 /srv/ixp4/vendor/opensolutions/oss-framework/src/OSS/Controller/Action/Trait/Doctrine2Frontend.php(707): IXP_Controller_Frontend->addProcessForm(Object(IXP_Form_Location), Object(Entities\Location), true)
#10 /srv/ixp4/vendor/zendframework/zendframework1/library/Zend/Controller/Action.php(516): IXP_Controller_Frontend->addAction()
#11 /srv/ixp4/vendor/zendframework/zendframework1/library/Zend/Controller/Dispatcher/Standard.php(308): Zend_Controller_Action->dispatch('addAction')
#12 /srv/ixp4/vendor/zendframework/zendframework1/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#13 /srv/ixp4/vendor/zendframework/zendframework1/library/Zend/Application/Bootstrap/Bootstrap.php(105): Zend_Controller_Front->dispatch()
#14 /srv/ixp4/vendor/zendframework/zendframework1/library/Zend/Application.php(384): Zend_Application_Bootstrap_Bootstrap->run()
#15 /srv/ixp4/app/Exceptions/Handler.php(59): Zend_Application->run()
#16 /srv/ixp4/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(80): IXP\Exceptions\Handler->render(Object(Illuminate\Http\Request), Object(Symfony\Component\HttpKernel\Exception\NotFoundHttpException))
#17 /srv/ixp4/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(54): Illuminate\Routing\Pipeline->handleException(Object(Illuminate\Http\Request), Object(Symfony\Component\HttpKernel\Exception\NotFoundHttpException))
#18 /srv/ixp4/bootstrap/cache/compiled.php(3271): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#19 [internal function]: Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#20 /srv/ixp4/bootstrap/cache/compiled.php(9914): call_user_func_array(Array, Array)
#21 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#22 /srv/ixp4/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#23 [internal function]: Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#24 /srv/ixp4/bootstrap/cache/compiled.php(9899): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#25 /srv/ixp4/bootstrap/cache/compiled.php(2363): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#26 /srv/ixp4/bootstrap/cache/compiled.php(2347): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#27 /srv/ixp4/public/index.php(97): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#28 {main}
Next Doctrine\DBAL\DBALException: An exception occurred while executing 'UPDATE location SET pdb_facility_id = ?, tag = ? WHERE id = ?' with params ["45", "hex", 4]:
PDOStatement::execute(): MySQL server has gone away in /srv/ixp4/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php:119
Stack trace:
#0 /srv/ixp4/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(996): Doctrine\DBAL\DBALException::driverExceptionDuringQuery(Object(Doctrine\DBAL\Driver\PDOMySql\Driver), Object(ErrorException), 'UPDATE location...', Array)
#1 /srv/ixp4/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php(480): Doctrine\DBAL\Connection->executeUpdate('UPDATE location...', Array, Array)
#2 /srv/ixp4/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php(366): Doctrine\ORM\Persisters\Entity\BasicEntityPersister->updateTable(Object(Entities\Location), 'location', Array, NULL)
#3 /srv/ixp4/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php(1069): Doctrine\ORM\Persisters\Entity\BasicEntityPersister->update(Object(Entities\Location))
#4 /srv/ixp4/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php(384): Doctrine\ORM\UnitOfWork->executeUpdates(Object(Doctrine\ORM\Mapping\ClassMetadata))
#5 /srv/ixp4/vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php(356): Doctrine\ORM\UnitOfWork->commit(NULL)
#6 /srv/ixp4/vendor/opensolutions/oss-framework/src/OSS/Controller/Action/Trait/Doctrine2Frontend.php(623): Doctrine\ORM\EntityManager->flush()
#7 /srv/ixp4/vendor/opensolutions/oss-framework/src/OSS/Controller/Action/Trait/Doctrine2Frontend.php(707): IXP_Controller_Frontend->addProcessForm(Object(IXP_Form_Location), Object(Entities\Location), true)
#8 /srv/ixp4/vendor/zendframework/zendframework1/library/Zend/Controller/Action.php(516): IXP_Controller_Frontend->addAction()
#9 /srv/ixp4/vendor/zendframework/zendframework1/library/Zend/Controller/Dispatcher/Standard.php(308): Zend_Controller_Action->dispatch('addAction')
#10 /srv/ixp4/vendor/zendframework/zendframework1/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#11 /srv/ixp4/vendor/zendframework/zendframework1/library/Zend/Application/Bootstrap/Bootstrap.php(105): Zend_Controller_Front->dispatch()
#12 /srv/ixp4/vendor/zendframework/zendframework1/library/Zend/Application.php(384): Zend_Application_Bootstrap_Bootstrap->run()
#13 /srv/ixp4/app/Exceptions/Handler.php(59): Zend_Application->run()
#14 /srv/ixp4/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(80): IXP\Exceptions\Handler->render(Object(Illuminate\Http\Request), Object(Symfony\Component\HttpKernel\Exception\NotFoundHttpException))
#15 /srv/ixp4/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(54): Illuminate\Routing\Pipeline->handleException(Object(Illuminate\Http\Request), Object(Symfony\Component\HttpKernel\Exception\NotFoundHttpException))
#16 /srv/ixp4/bootstrap/cache/compiled.php(3271): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#17 [internal function]: Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#18 /srv/ixp4/bootstrap/cache/compiled.php(9914): call_user_func_array(Array, Array)
#19 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#20 /srv/ixp4/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#21 [internal function]: Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#22 /srv/ixp4/bootstrap/cache/compiled.php(9899): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#23 /srv/ixp4/bootstrap/cache/compiled.php(2363): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#24 /srv/ixp4/bootstrap/cache/compiled.php(2347): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#25 /srv/ixp4/public/index.php(97): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#26 {main}
The text was updated successfully, but these errors were encountered: