Troubleshooting
MySQL Clustering
Troubleshooting Below are a few errors and problems, along with the solutions, that we faced during the development and setup of the project. They are segregated phase-wise. MySQL Replication 1. Problem When the slave is started, Slave_IO_Running shows No and the Last_IO_Errno shows 2003. Solution Error No. 2003 indicates that the connection is not established. Check if the slave system is able to communicate with the master system using ping. If yes, make sure the firewall on the master’s side is either disabled or configured to allow connections on port 3306 (MySQL port). Then try restarting the MySQL servers and if required the systems also; synchronize the master properties on the slave and start the slave again. If no, check the network connection and restart the slave. 2. Problem When the slave is started, Slave_IO_Running shows Yes and changes to No after a few transactions with the Last_IO_Errno as 2013. Solution Error No. 2013 indicates that the slave has lost connection to the master. Check if the slave system is able to communicate with the master system using ping. If no, make sure the firewall on the slave’s side is either disabled or configured to allow connection to the master. Then try restarting the MySQL servers and if required the systems also; synchronize the master properties on the slave and start the slave again. 3. Problem When the slave is started, Slave_IO_Running shows No and the Last_IO_Errno shows 1045. Solution Error No. 1045 indicates that the user trying to connect to the master is not
Troubleshooting
MySQL Clustering
properly authenticated. Check if the user has been given sufficient privileges at the master server. 4. Problem When the slave is started, Slave_SQL_Running shows Yes and after a few operations it shows No. Solution This problem occurs because there is an error in an SQL statement that reached the slave cannot be executed in the slave. This mainly occurs when an SQL statement is understood by the master but not by the client. For e.g., when a slave is connected asynchronously to a master which is a part of the cluster, creating a table using the NDB engine can be understood by the master but not the slave. Business Logic 1. Problem When the TelEx web reference is added to an application, the build fails indicating errors that XMLGregoraianCalendar is not compatible with Date. Solution This error is primarily an incompatible issue between Hibernate and Web Services XML. Hibernate prefers using Date object for the date data-type of MySQL and on the other hand Web Services use XMLGregoraianCalendar to denote an instance of date. This problem can be solved manually by – Opening Teldetails.java in the client application and changing “javax.xml.datatype.XMLGregorainCalendar” to “java.util.Date” and replacing every instance of XMLGregorainCalendar with Date. Then delete Teldetails.class from the client application and build the project. GUI 1. Problem When TelEx_VisualWebJSF is run; the application does not start and gives an error stating “HTTP Status 503”. Solution Visual Web JSF applications behave erratically at times. Error 503 indicates that the resource the JSF is searching for is not available. This is either because a bean
Troubleshooting
MySQL Clustering
is not available or is not created at the app server level. This may even occur if a bean has not been properly destroyed after its creation. One possible solution is to restart the GlassFish app server. 2. Problem When TelEx_VisualWebJSF or TelEx_ASP.net is run; the application starts but gives an error stating “HTTP Status 404” Solution HTTP status 404 indicates that the web page is not available. Check the URL mapping in the files and run the application again. 3. Problem When TelEx_ASP.net is run; a message appears indicating that a window has been blocked when performing an Update operation. Solution JDBC Update and Hibernate Update use the prompt available in JavaScript to take the new input. A few of the web browsers block this prompt. The users are generally notified through a message. Change the browsers settings to allow prompts using scripted windows. 4. Problem When TelEx_ASP.net is run; a violation of primary key does not give an error. Solution This is still an unsolved bug. Basically when the same data is entered twice consecutively, the web service is not called twice but only once. However when a primary key violation occurs in a way such that the data entered is not consecutive, an error will be displayed.