backup system throws exception because pending read request has not been
processed
-----------------------------------------------------------------------------------
Key: SEQUOIA-1033
URL: https://forge.continuent.org/jira/browse/SEQUOIA-1033
Project: Sequoia
Type: Bug
Components: Backup System
Versions: Sequoia 2.10.9
Environment: RHEL4/Ubuntu 7.04 with MySQL 5.0.38
Reporter: Robert Hodges
Fix For: sequoia 2.10.10
Backup process throws an exception if there is a pending request
(DatabaseBackend.getPendingReequests()). The process to disable before taking a
backup does not wait for pending read requests in active transactions or
persistentConnections in
DatabaseBackend.waitForAllTransactionsAndPersistentConnectionsToComplete().
The correct fix may be to wait for all pending requests in
waitForAllTransactionsAndPersistentConnectionsToComplete() as well.
Here is a typical stack trace.
2008-02-07 08:50:04,110 WARN sequoia.controller.connection Some connections are
still active, destroying them.
2008-02-07 08:50:04,238 INFO controller.virtualdatabase.primUser Backend
tsdbrhat1_db is now disabled
2008-02-07 08:50:04,238 INFO controller.virtualdatabase.primUser Backend
tsdbrhat1_db disabled on controller
Member(address=tsdbrhat1/10.237.152.24:6523, uid=primUser)
2008-02-07 08:50:04,246 INFO controller.RequestManager.primUser Resuming
activity for primUser
2008-02-07 08:50:04,255 INFO controller.RequestManager.primUser All activity is
now resumed for primUser
2008-02-07 08:50:04,255 INFO controller.RequestManager.primUser Backend
tsdbrhat1_db is now disabled
2008-02-07 08:50:04,255 INFO controller.RequestManager.primUser Starting backup
of backend tsdbrhat1_db
2008-02-07 08:50:04,255 WARN controller.RequestManager.primUser Pending:SELECT
* FROM user WHERE uid = 'RugoEArt...
2008-02-07 08:50:04,255 WARN controller.RequestManager.primUser Pending
Requests:1
2008-02-07 08:50:04,255 WARN controller.RequestManager.primUser Read
enabled:false
2008-02-07 08:50:04,255 WARN controller.RequestManager.primUser Write
enabled:false
2008-02-07 08:50:04,256 ERROR controller.RequestManager.primUser Backup command
failed
org.continuent.sequoia.common.exceptions.BackupException: Backend is not ready
for backup: 1 remaining pending requests
at
org.continuent.sequoia.common.exceptions.SequoiaException.fillInStackTrace(SequoiaException.java:103)
at java.lang.Throwable.<init>(Throwable.java:196)
at java.lang.Exception.<init>(Exception.java:41)
at
org.continuent.sequoia.common.exceptions.SequoiaException.<init>(SequoiaException.java:57)
at
org.continuent.sequoia.common.exceptions.BackupException.<init>(BackupException.java:50)
at
org.continuent.sequoia.controller.requestmanager.RequestManager.backupBackend(RequestManager.java:2887)
at
org.continuent.sequoia.controller.virtualdatabase.VirtualDatabase.backupBackend(VirtualDatabase.java:2366)
at
org.continuent.sequoia.controller.virtualdatabase.management.VirtualDatabase.backupBackend(VirtualDatabase.java:403)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
com.sun.jmx.mbeanserver.StandardMetaDataImpl.invoke(StandardMetaDataImpl.java:414)
at javax.management.StandardMBean.invoke(StandardMBean.java:323)
at
com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:213)
at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784)
at
org.continuent.sequoia.controller.jmx.ChainedMBeanServer.invoke(ChainedMBeanServer.java:318)
at
org.continuent.sequoia.controller.jmx.AuthenticatingMBeanServer.invoke(AuthenticatingMBeanServer.java:127)
at
javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1410)
at
javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:81)
at
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1247)
at java.security.AccessController.doPrivileged(Native Method)
at
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1350)
at
javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:784)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
at java.lang.Thread.run(Thread.java:595)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://forge.continuent.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia