MySQL Database - is marked as crashed and should be repaired

ThijsX
Valued Contributor
Valued Contributor

Hi,

So, this weekend crashed our virtual storage platform for al our VM's, like also our Jamf Pro environment.
After a succesful reboot of the machine we have logging output shown belown, also some functions are not working properly like creating a smartgroup.

2018-03-05 19:09:25,565 [ERROR] [neralPool-4] [CRUDObjectHistory        ] - Error inserting object history: 
java.sql.BatchUpdateException: Duplicate entry '5051134' for key 'PRIMARY'
Query is: INSERT INTO object_history (object_type, object_id, username, details, timestamp_epoch, object_description) VALUES(?, ?, ?, ?, ?, ?)
Query is:
INSERT INTO object_history (object_type, object_id, username, details, timestamp_epoch, object_description) VALUES(?, ?, ?, ?, ?, ?)
    at org.mariadb.jdbc.MariaDbServerPreparedStatement.executeInternal(MariaDbServerPreparedStatement.java:378)
    at org.mariadb.jdbc.MariaDbServerPreparedStatement.execute(MariaDbServerPreparedStatement.java:342)
    at org.mariadb.jdbc.MariaDbServerPreparedStatement.executeUpdate(MariaDbServerPreparedStatement.java:331)
    at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61)
    at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java)
    at com.jamfsoftware.jss.database.ThreeByteUtf8CompatiblePreparedStatement.executeUpdate(ThreeByteUtf8CompatiblePreparedStatement.java:70)
    at com.jamfsoftware.jss.database.DataSource.execute(DataSource.java:719)
    at com.jamfsoftware.jss.objectmanagement.CRUDObjectHistory.addEvent(CRUDObjectHistory.java:72)
    at com.jamfsoftware.jss.objects.CRUDHelper.delete(CRUDHelper.java:251)
    at com.jamfsoftware.jss.objects.volumepurchaseprogram.VPPAssociatedLicense.delete(VPPAssociatedLicense.java:143)
    at com.jamfsoftware.jss.service.VppLicenseProxyImpl.updateOrDelete(VppLicenseProxyImpl.java:78)
    at com.jamfsoftware.vpp.comm.BatchDeviceAssignResponseHandler.handleResponse(BatchDeviceAssignResponseHandler.java:142)
    at com.jamfsoftware.vpp.comm.VppCommService.batchAssignLicenses(VppCommService.java:779)
    at com.jamfsoftware.vpp.comm.VppCommService.batchRevokeLicensesToDevices(VppCommService.java:527)
    at com.jamfsoftware.vpp.assignment.VppDeviceAssignmentService.revokeDeviceLicenses(VppDeviceAssignmentService.java:262)
    at com.jamfsoftware.vpp.assignment.VppDeviceAssignmentService.performAssigns(VppDeviceAssignmentService.java:233)
    at com.jamfsoftware.vpp.assignment.VppDeviceAssignmentService.assignToComputersByAdamId(VppDeviceAssignmentService.java:223)
    at com.jamfsoftware.vpp.assignment.VppDeviceAssignmentService.assignByAdamId(VppDeviceAssignmentService.java:166)
    at com.jamfsoftware.vpp.comm.parallel.DeviceAssigner.assign(DeviceAssigner.java:34)
    at com.jamfsoftware.vpp.comm.parallel.AssignmentRunner.run(AssignmentRunner.java:28)
    at com.jamfsoftware.jss.threading.ThreadPoolServiceImpl$1.run(ThreadPoolServiceImpl.java:22)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '5051134' for key 'PRIMARY'
Query is: INSERT INTO object_history (object_type, object_id, username, details, timestamp_epoch, object_description) VALUES(?, ?, ?, ?, ?, ?)
Query is:
INSERT INTO object_history (object_type, object_id, username, details, timestamp_epoch, object_description) VALUES(?, ?, ?, ?, ?, ?)
    at org.mariadb.jdbc.internal.util.ExceptionMapper.get(ExceptionMapper.java:119)
    at org.mariadb.jdbc.internal.util.ExceptionMapper.throwException(ExceptionMapper.java:69)
    at org.mariadb.jdbc.MariaDbServerPreparedStatement.executeQueryEpilog(MariaDbServerPreparedStatement.java:318)
    at org.mariadb.jdbc.MariaDbServerPreparedStatement.executeInternal(MariaDbServerPreparedStatement.java:374)
    ... 25 more
Caused by: org.mariadb.jdbc.internal.util.dao.QueryException: Duplicate entry '5051134' for key 'PRIMARY'
Query is: INSERT INTO object_history (object_type, object_id, username, details, timestamp_epoch, object_description) VALUES(?, ?, ?, ?, ?, ?)
Query is:
INSERT INTO object_history (object_type, object_id, username, details, timestamp_epoch, object_description) VALUES(?, ?, ?, ?, ?, ?)
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.getResult(AbstractQueryProtocol.java:908)
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executePreparedQuery(AbstractQueryProtocol.java:349)
    at org.mariadb.jdbc.MariaDbServerPreparedStatement.executeInternal(MariaDbServerPreparedStatement.java:364)
    ... 25 more
2018-03-05 19:09:26,861 [INFO ] [duledPool-5] [VppLicenseMonitor        ] - License monitor completed after 6.76 seconds
2018-03-05 19:09:28,862 [ERROR] [Tomcat-7   ] [ComputerHelper           ] - 
java.sql.SQLException: Table '.jamfsoftwareapplications' is marked as crashed and should be repaired
Query is : SELECT * FROM applications WHERE report_id=2968652 ORDER BY application_name
    at org.mariadb.jdbc.internal.util.ExceptionMapper.get(ExceptionMapper.java:136)
    at org.mariadb.jdbc.internal.util.ExceptionMapper.throwException(ExceptionMapper.java:69)
    at org.mariadb.jdbc.MariaDbStatement.executeQueryEpilog(MariaDbStatement.java:250)
    at org.mariadb.jdbc.MariaDbClientPreparedStatement.executeInternal(MariaDbClientPreparedStatement.java:210)
    at org.mariadb.jdbc.MariaDbClientPreparedStatement.executeQuery(MariaDbClientPreparedStatement.java:166)
    at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52)
    at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java)
    at com.jamfsoftware.jss.database.ThreeByteUtf8CompatiblePreparedStatement.executeQuery(ThreeByteUtf8CompatiblePreparedStatement.java:55)
    at com.jamfsoftware.jss.database.DataSource.executeQuery(DataSource.java:650)
    at com.jamfsoftware.jss.objects.computer.ComputerHelper.lookupApplications(ComputerHelper.java:6139)
    at com.jamfsoftware.jss.objects.computer.ComputerHelper.lookupDetailedComputer(ComputerHelper.java:2193)
    at com.jamfsoftware.jss.objects.computer.ComputerHelper.lookupDetailedComputer(ComputerHelper.java:1931)
    at com.jamfsoftware.jss.client.communication.actions.policy.CheckForPolicyAction.getComputer(CheckForPolicyAction.java:295)
    at com.jamfsoftware.jss.client.communication.actions.policy.CheckForPolicyAction.verifyContent(CheckForPolicyAction.java:288)
    at com.jamfsoftware.jss.client.communication.ClientCommunicationServlet.processActions(ClientCommunicationServlet.java:211)
    at com.jamfsoftware.jss.client.communication.ClientCommunicationServlet.doJAMFPost(ClientCommunicationServlet.java:89)
    at com.jamfsoftware.jss.client.communication.JAMFHttpServlet.doPost(JAMFHttpServlet.java:94)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at com.jamfsoftware.jss.client.communication.ClientCommunicationFilter.doFilter(ClientCommunicationFilter.java:61)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at com.jamfsoftware.jss.frontend.JSSAccessFilter.doFilter(JSSAccessFilter.java:59)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at com.jamfsoftware.jss.frontend.JSSLoadingFilter.doFilter(JSSLoadingFilter.java:230)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1132)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1539)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1495)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.mariadb.jdbc.internal.util.dao.QueryException: Table '.jamfsoftwareapplications' is marked as crashed and should be repaired
Query is : SELECT * FROM applications WHERE report_id=2968652 ORDER BY application_name
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.getResult(AbstractQueryProtocol.java:908)
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQueries(AbstractQueryProtocol.java:745)
    at org.mariadb.jdbc.MariaDbClientPreparedStatement.executeInternal(MariaDbClientPreparedStatement.java:201)
    ... 44 more
2018-03-05 19:09:28,877 [ERROR] [Tomcat-7   ] [ComputerHelper           ] - Error looking up computer_installed_certificates
java.sql.SQLException: Table '.jamfsoftwarecomputer_installed_certificates' is marked as crashed and should be repaired
Query is : SELECT * from computer_installed_certificates where computer_id = 735
    at org.mariadb.jdbc.internal.util.ExceptionMapper.get(ExceptionMapper.java:136)
    at org.mariadb.jdbc.internal.util.ExceptionMapper.throwException(ExceptionMapper.java:69)
    at org.mariadb.jdbc.MariaDbStatement.executeQueryEpilog(MariaDbStatement.java:250)
    at org.mariadb.jdbc.MariaDbClientPreparedStatement.executeInternal(MariaDbClientPreparedStatement.java:210)
    at org.mariadb.jdbc.MariaDbClientPreparedStatement.executeQuery(MariaDbClientPreparedStatement.java:166)
    at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52)
    at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java)
    at com.jamfsoftware.jss.database.ThreeByteUtf8CompatiblePreparedStatement.executeQuery(ThreeByteUtf8CompatiblePreparedStatement.java:55)
    at com.jamfsoftware.jss.database.DataSource.executeQuery(DataSource.java:650)
    at com.jamfsoftware.jss.objects.computer.ComputerHelper.lookupInstalledCertificates(ComputerHelper.java:2449)
    at com.jamfsoftware.jss.objects.computer.ComputerHelper.loadInstalledCertificates(ComputerHelper.java:2430)
    at com.jamfsoftware.jss.objects.computer.ComputerHelper.lookupDetailedComputer(ComputerHelper.java:2261)
    at com.jamfsoftware.jss.objects.computer.ComputerHelper.lookupDetailedComputer(ComputerHelper.java:1931)
    at com.jamfsoftware.jss.client.communication.actions.policy.CheckForPolicyAction.getComputer(CheckForPolicyAction.java:295)
    at com.jamfsoftware.jss.client.communication.actions.policy.CheckForPolicyAction.verifyContent(CheckForPolicyAction.java:288)
    at com.jamfsoftware.jss.client.communication.ClientCommunicationServlet.processActions(ClientCommunicationServlet.java:211)
    at com.jamfsoftware.jss.client.communication.ClientCommunicationServlet.doJAMFPost(ClientCommunicationServlet.java:89)
    at com.jamfsoftware.jss.client.communication.JAMFHttpServlet.doPost(JAMFHttpServlet.java:94)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at com.jamfsoftware.jss.client.communication.ClientCommunicationFilter.doFilter(ClientCommunicationFilter.java:61)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at com.jamfsoftware.jss.frontend.JSSAccessFilter.doFilter(JSSAccessFilter.java:59)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at com.jamfsoftware.jss.frontend.JSSLoadingFilter.doFilter(JSSLoadingFilter.java:230)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1132)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1539)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1495)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.mariadb.jdbc.internal.util.dao.QueryException: Table '.jamfsoftwarecomputer_installed_certificates' is marked as crashed and should be repaired
Query is : SELECT * from computer_installed_certificates where computer_id = 735
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.getResult(AbstractQueryProtocol.java:908)
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQueries(AbstractQueryProtocol.java:745)
    at org.mariadb.jdbc.MariaDbClientPreparedStatement.executeInternal(MariaDbClientPreparedStatement.java:201)
    ... 45 more
2018-03-05 19:09:28,877 [ERROR] [Tomcat-7   ] [LocationInformationHelper] - java.sql.BatchUpdateException: Duplicate entry '0' for key 'peripheral_id'
Query is: INSERT INTO location_history (location_id, computer_id, date_assigned_epoch) VALUES (?, ?, ?)
Query is:
INSERT INTO location_history (location_id, computer_id, date_assigned_epoch) VALUES (?, ?, ?)
java.sql.BatchUpdateException: Duplicate entry '0' for key 'peripheral_id'
Query is: INSERT INTO location_history (location_id, computer_id, date_assigned_epoch) VALUES (?, ?, ?)
Query is:
INSERT INTO location_history (location_id, computer_id, date_assigned_epoch) VALUES (?, ?, ?)
    at org.mariadb.jdbc.MariaDbServerPreparedStatement.executeInternal(MariaDbServerPreparedStatement.java:378)
    at org.mariadb.jdbc.MariaDbServerPreparedStatement.execute(MariaDbServerPreparedStatement.java:342)
    at org.mariadb.jdbc.MariaDbServerPreparedStatement.executeUpdate(MariaDbServerPreparedStatement.java:331)
    at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61)
    at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java)
    at com.jamfsoftware.jss.database.ThreeByteUtf8CompatiblePreparedStatement.executeUpdate(ThreeByteUtf8CompatiblePreparedStatement.java:70)
    at com.jamfsoftware.jss.database.DataSource.execute(DataSource.java:719)
    at com.jamfsoftware.jss.objects.inventory.LocationInformationHelper.enterLocation(LocationInformationHelper.java:115)
    at com.jamfsoftware.jss.objects.computer.ComputerHelper.updateMinimalInformation(ComputerHelper.java:6043)
    at com.jamfsoftware.jss.client.communication.actions.policy.CheckForPolicyAction.updateInfo(CheckForPolicyAction.java:349)
    at com.jamfsoftware.jss.client.communication.actions.policy.CheckForPolicyAction.processContent(CheckForPolicyAction.java:203)
    at com.jamfsoftware.jss.client.communication.ClientCommunicationServlet.processActions(ClientCommunicationServlet.java:225)
    at com.jamfsoftware.jss.client.communication.ClientCommunicationServlet.doJAMFPost(ClientCommunicationServlet.java:89)
    at com.jamfsoftware.jss.client.communication.JAMFHttpServlet.doPost(JAMFHttpServlet.java:94)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at com.jamfsoftware.jss.client.communication.ClientCommunicationFilter.doFilter(ClientCommunicationFilter.java:61)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at com.jamfsoftware.jss.frontend.JSSAccessFilter.doFilter(JSSAccessFilter.java:59)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at com.jamfsoftware.jss.frontend.JSSLoadingFilter.doFilter(JSSLoadingFilter.java:230)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1132)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1539)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1495)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '0' for key 'peripheral_id'
Query is: INSERT INTO location_history (location_id, computer_id, date_assigned_epoch) VALUES (?, ?, ?)
Query is:
INSERT INTO location_history (location_id, computer_id, date_assigned_epoch) VALUES (?, ?, ?)
    at org.mariadb.jdbc.internal.util.ExceptionMapper.get(ExceptionMapper.java:119)
    at org.mariadb.jdbc.internal.util.ExceptionMapper.throwException(ExceptionMapper.java:69)
    at org.mariadb.jdbc.MariaDbServerPreparedStatement.executeQueryEpilog(MariaDbServerPreparedStatement.java:318)
    at org.mariadb.jdbc.MariaDbServerPreparedStatement.executeInternal(MariaDbServerPreparedStatement.java:374)
    ... 44 more
Caused by: org.mariadb.jdbc.internal.util.dao.QueryException: Duplicate entry '0' for key 'peripheral_id'
Query is: INSERT INTO location_history (location_id, computer_id, date_assigned_epoch) VALUES (?, ?, ?)
Query is:
INSERT INTO location_history (location_id, computer_id, date_assigned_epoch) VALUES (?, ?, ?)
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.getResult(AbstractQueryProtocol.java:908)
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executePreparedQuery(AbstractQueryProtocol.java:349)
    at org.mariadb.jdbc.MariaDbServerPreparedStatement.executeInternal(MariaDbServerPreparedStatement.java:364)
    ... 44 more
2018-03-05 19:09:28,940 [ERROR] [Tomcat-7   ] [MDMHelper                ] - Error in insertNeeded - java.sql.BatchUpdateException: Duplicate entry '11373601' for key 'PRIMARY'
Query is: INSERT INTO mobile_device_management_commands (device_id, device_object_id, command, uuid , profile_id, profile_udid, date_sent_epoch, command_valid_after_epoch, command_attributes, device_name) VALUES (?,?,?,?,?,?,?,?,?,?)
java.sql.BatchUpdateException: Duplicate entry '11373601' for key 'PRIMARY'
Query is: INSERT INTO mobile_device_management_commands (device_id, device_object_id, command, uuid , profile_id, profile_udid, date_sent_epoch, command_valid_after_epoch, command_attributes, device_name) VALUES (?,?,?,?,?,?,?,?,?,?)
    at org.mariadb.jdbc.MariaDbServerPreparedStatement.executeBatch(MariaDbServerPreparedStatement.java:263)
    at com.zaxxer.hikari.pool.ProxyStatement.executeBatch(ProxyStatement.java:128)
    at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeBatch(HikariProxyPreparedStatement.java)
    at com.jamfsoftware.jss.database.ThreeByteUtf8CompatiblePreparedStatement.executeBatch(ThreeByteUtf8CompatiblePreparedStatement.java:314)
    at com.jamfsoftware.jss.database.DataSource.executeBatch(DataSource.java:750)
    at com.jamfsoftware.jss.database.DataSource.executeBatch(DataSource.java:738)
    at com.jamfsoftware.jss.objects.mobiledevicemanagement.MDMHelper.insertNeeded(MDMHelper.java:1621)
    at com.jamfsoftware.jss.objects.mobiledevicemanagement.MDMHelper.addToQueue(MDMHelper.java:192)
    at com.jamfsoftware.jss.objects.computer.ComputerHelper.recalculateConfigurationProfiles(ComputerHelper.java:5747)
    at com.jamfsoftware.jss.objects.computer.ComputerHelper.recalculate(ComputerHelper.java:5383)
    at com.jamfsoftware.jss.objects.computer.ComputerHelper.recalculateMemberships(ComputerHelper.java:513)
    at com.jamfsoftware.jss.objects.computer.ComputerHelper.updateMinimalInformation(ComputerHelper.java:6049)
    at com.jamfsoftware.jss.client.communication.actions.policy.CheckForPolicyAction.updateInfo(CheckForPolicyAction.java:349)
    at com.jamfsoftware.jss.client.communication.actions.policy.CheckForPolicyAction.processContent(CheckForPolicyAction.java:203)
    at com.jamfsoftware.jss.client.communication.ClientCommunicationServlet.processActions(ClientCommunicationServlet.java:225)
    at com.jamfsoftware.jss.client.communication.ClientCommunicationServlet.doJAMFPost(ClientCommunicationServlet.java:89)
    at com.jamfsoftware.jss.client.communication.JAMFHttpServlet.doPost(JAMFHttpServlet.java:94)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at com.jamfsoftware.jss.client.communication.ClientCommunicationFilter.doFilter(ClientCommunicationFilter.java:61)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at com.jamfsoftware.jss.frontend.JSSAccessFilter.doFilter(JSSAccessFilter.java:59)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at com.jamfsoftware.jss.frontend.JSSLoadingFilter.doFilter(JSSLoadingFilter.java:230)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1132)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1539)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1495)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '11373601' for key 'PRIMARY'
Query is: INSERT INTO mobile_device_management_commands (device_id, device_object_id, command, uuid , profile_id, profile_udid, date_sent_epoch, command_valid_after_epoch, command_attributes, device_name) VALUES (?,?,?,?,?,?,?,?,?,?)
    at org.mariadb.jdbc.internal.util.ExceptionMapper.get(ExceptionMapper.java:119)
    at org.mariadb.jdbc.internal.util.ExceptionMapper.throwException(ExceptionMapper.java:69)
    at org.mariadb.jdbc.MariaDbStatement.executeQueryEpilog(MariaDbStatement.java:250)
    at org.mariadb.jdbc.MariaDbServerPreparedStatement.executeBatch(MariaDbServerPreparedStatement.java:257)
    ... 47 more
Caused by: org.mariadb.jdbc.internal.util.dao.QueryException: Duplicate entry '11373601' for key 'PRIMARY'
Query is: INSERT INTO mobile_device_management_commands (device_id, device_object_id, command, uuid , profile_id, profile_udid, date_sent_epoch, command_valid_after_epoch, command_attributes, device_name) VALUES (?,?,?,?,?,?,?,?,?,?)
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.getResult(AbstractQueryProtocol.java:908)
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executePreparedQuery(AbstractQueryProtocol.java:349)
    at org.mariadb.jdbc.MariaDbServerPreparedStatement.executeBatch(MariaDbServerPreparedStatement.java:240)
    ... 47 more

So, anyone know the best way how to repair the MySQL database hosted on Win 2016 host?

Cheers,
Thijs.

2 ACCEPTED SOLUTIONS

m_donovan
Contributor III

Have you tried a repair and optimize?

"c:Program FilesMySQLMySQL Server 5.7inmysqlcheck.exe" -u root -p --auto-repair --optimize jamfsoftware

View solution in original post

alexjdale
Valued Contributor III

We had a table crash, and we were not able to repair it. Luckily it was just the application inventory, so we could truncate the table and it would repopulate the data.

My point being: prepare for a similar eventuality if you cannot repair it. You should probably look at restoring a backup.

View solution in original post

5 REPLIES 5

m_donovan
Contributor III

Have you tried a repair and optimize?

"c:Program FilesMySQLMySQL Server 5.7inmysqlcheck.exe" -u root -p --auto-repair --optimize jamfsoftware

alexjdale
Valued Contributor III

We had a table crash, and we were not able to repair it. Luckily it was just the application inventory, so we could truncate the table and it would repopulate the data.

My point being: prepare for a similar eventuality if you cannot repair it. You should probably look at restoring a backup.

ThijsX
Valued Contributor
Valued Contributor

@m.donovan Cool, we will try that. first stop the TomCat ofcourse.

@alexjdale Hmm hope so that it wont be the case, else no big issue our recents snapshot is like 10 hours before the total failure.

Cheers,

blackholemac
Valued Contributor III

Second @alexjdale

We do snapshots as well, but we also take a nightly database dump in addition to the snapshot for 2 reasons:

  1. Situations like this one...I like having the flexibility that if the goes bonkers, I say fine...drop database, create database, restore nightly backup.

  2. Snapshots are cool but not perfect...for instance if MySQL was doing a load of operations right at the time of the snapshot, restoring a snapshot will work but you may get a boogered operation restored. Restoring a dump restores resting data capture using native MySQL tools.

Don’t get me wrong we use both methods here but on the database itself, I prefer to restore from a dump if possible.

ThijsX
Valued Contributor
Valued Contributor

@all Thanks for the help, repair did repair al tables, except one. So we did a restore.

Cheers,
Thijs