Server Restart + Publishing

This post is really two issues; mainly, because they may be related.

We tried stopping and starting Percussion this afternoon to find an error that prevents us from starting up again (below code).

We initially stopped the server because we found that pages were not publishing (see screenshots), either as an entire site or single-page publish. In the logs, a single-page publish came up as failed, but without a reason as to why. After multiple publishes today, pages still show a last published time of yesterday morning.

We really need access to Percussion soon to showcase a preview of the site and also, at some point, to be able to pull it up in its published state.

'Preciate any help with these two issues.

2012-10-18 11:28:07,420 ERROR [com.percussion.rx.delivery.impl.PSBaseDeliveryHandler] Problem during delivery   
org.springframework.transaction.TransactionSystemException: Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: JDBC rollback failed   
at org.springframework.orm.hibernate3.HibernateTransactionManager.doRollback(HibernateTransactionManager.java:677)   
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:800)   
at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:777)   
at org.springframework.transaction.interceptor.TransactionAspectSupport.completeTransactionAfterThrowing(TransactionAspectSupport.java:339)   
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)   
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)   
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)   
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)   
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)   
at $Proxy95.findContentTypesForIds(Unknown Source)   
at com.percussion.rx.delivery.impl.PSMetadataDeliveryHandler.doDelivery(Unknown Source)   
at com.percussion.rx.delivery.impl.PSDeliveryHandlerRunner.doDelivery(Unknown Source)   
at com.percussion.rx.delivery.impl.PSBaseDeliveryHandler$Item.commit(Unknown Source)   
at com.percussion.rx.delivery.impl.PSBaseDeliveryHandler.commitItems(Unknown Source)   
at com.percussion.rx.delivery.impl.PSBaseDeliveryHandler.commitResults(Unknown Source)   
at com.percussion.rx.delivery.impl.PSBaseDeliveryHandler.transactionCommit(Unknown Source)   
at com.percussion.rx.delivery.impl.PSBaseDeliveryHandler.doCommit(Unknown Source)   
at com.percussion.rx.delivery.impl.PSBaseDeliveryHandler.commit(Unknown Source)   
at com.percussion.rx.delivery.impl.PSLocalDeliveryManager.commit(Unknown Source)   
at com.percussion.rx.publisher.impl.PSPublishHandler.onJobControl(Unknown Source)   
at com.percussion.rx.publisher.impl.PSPublishHandler.onMessage(Unknown Source)   
at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:531)   
at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:466)   
at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:435)   
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:322)   
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:260)   
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:944)   
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:868)   
at java.lang.Thread.run(Unknown Source)   
Caused by: org.hibernate.TransactionException: JDBC rollback failed   
at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:170)   
at org.springframework.orm.hibernate3.HibernateTransactionManager.doRollback(HibernateTransactionManager.java:674)   
... 28 more   
Caused by: java.sql.SQLNonTransientConnectionException: No current connection.   
at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)   
at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)   
at org.apache.derby.client.am.Connection.rollback(Unknown Source)   
at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.jdbcRollback(BaseWrapperManagedConnection.java:681)   
at org.jboss.resource.adapter.jdbc.WrappedConnection.rollback(WrappedConnection.java:500)   
at org.hibernate.transaction.JDBCTransaction.rollbackAndResetAutoCommit(JDBCTransaction.java:183)   
at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:162)   
... 29 more   
Caused by: org.apache.derby.client.am.SqlException: No current connection.   
at org.apache.derby.client.am.Connection.checkForClosedConnection(Unknown Source)   
``` [![](https://d37wxxhohlp07s.cloudfront.net/s3_images/806143/Screen%20shot%202012-10-18%20at%2010.59.34%20AM_inline.png?1350574858)](https://d37wxxhohlp07s.cloudfront.net/s3_images/806143/Screen%20shot%202012-10-18%20at%2010.59.34%20AM.png?1350574858) [![](https://d37wxxhohlp07s.cloudfront.net/s3_images/806144/Screen%20shot%202012-10-18%20at%2010.59.42%20AM_inline.png?1350574867)](https://d37wxxhohlp07s.cloudfront.net/s3_images/806144/Screen%20shot%202012-10-18%20at%2010.59.42%20AM.png?1350574867)

Just want to add that the error we get when trying to access Percussion is a 503 error.

Also, here is the code just before it says it has been restarted:

2012-10-18 11:55:22,963 WARN [org.jboss.web.tomcat.service.JBossWeb] Failed to startConnectors   
LifecycleException: service.getName(): "jboss.web"; Protocol handler start failed: java.net.BindException: Address already in use:9992   
at org.apache.catalina.connector.Connector.start(Connector.java:1153)   
at org.jboss.web.tomcat.service.JBossWeb.startConnectors(JBossWeb.java:601)   
at org.jboss.web.tomcat.service.JBossWeb.handleNotification(JBossWeb.java:638)   
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)   
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)   
at java.lang.reflect.Method.invoke(Unknown Source)   
at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)   
at $Proxy30.handleNotification(Unknown Source)   
at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)   
at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)   
at org.jboss.system.server.ServerImpl.sendNotification(ServerImpl.java:916)   
at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:497)   
at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362)   
at org.jboss.Main.boot(Main.java:200)   
at org.jboss.Main$1.run(Main.java:508)   
at java.lang.Thread.run(Unknown Source)   
2012-10-18 11:55:22,963 INFO [org.jboss.system.server.Server] JBoss (MX MicroKernel) [4.2.3.GA (build: SVNTag=JBoss\_4\_2\_3\_GA date=200807181417)] Started in 16s:149ms   
``` [![](https://d37wxxhohlp07s.cloudfront.net/s3_images/806150/Screen%20shot%202012-10-18%20at%2011.56.27%20AM_inline.png?1350575682)](https://d37wxxhohlp07s.cloudfront.net/s3_images/806150/Screen%20shot%202012-10-18%20at%2011.56.27%20AM.png?1350575682)

How long did you leave before starting the service back up? It looks like the port is still in use, possibly indicating the service was not able to fully stop all associated processes before it was started back up again. Make sure you leave a couple minutes between stopping and starting to allow it to fully shut all pieces down.

Before starting up again, I’ll wait until we get a message back from the server saying the stopping has completed.

If we did start again too early, how can we reboot it? I’ve tried stopping again and waiting 10 minutes before booting up. But I still get the above errors.

Matt,

Are you on a Linux machine? If so, you can use the command “ps -ef | grep java” to display all the java processes running on that machine. Kill all of the processes running out of the Percussion directory using “kill -9” followed by the numerical ID of the process. This will end all instances of CM1 attempting to run, at which point you will be safe to start back up.

If you’re on Windows, you can use Task Manager to manually end all Java.exe processes running out of the Percussion directory. Alternatively, a tool such as Process Explorer would make it easy to identify CM1 Java processes: http://technet.microsoft.com/en-us/sy… .

Lastly, a full reboot of the machine would accomplish the same objective. Once you have CM1 back up and running, let us know if you encounter additional publishing issues.

Nathaniel

Nathaniel,

Seems like the grep and kill command got everything cleared up and we were able to restart Percussion. Thanks for the help!

Going to see if we can publish now.

Looks like we’re still getting publish failures, and I’m not exactly sure why (see attached).

Again, we tried publishing a single page, and that page says its last publish date is yesterday morning.

Matt,

I have created an internal support ticket for us to take a closer look at why your publishes are erroring on you. Please check your inbox for that.

Thanks!

Matt, did you receive my message through the ticket yesterday? I know we had an issue in the past with another support ticket where you never received a message notification from us, so I just wanted to make sure you got that this time.

I did, basically saying the ticket has been created. Thanks for checking up on that.

I had sent a message along with the ticket creation. It sounds like that notification didn’t specify that. At any rate, I have resent my message. Sorry for the mix-up!

To update other customers who might be having similar issues, the remaining publishing problems were found to be caused by low disk space on their production web-server. This was the relevant error in their server.log file:

ERROR [com.percussion.rx.delivery.impl.PSSFtpDeliveryHandler] Unable to create directory:

We got on the line with them and assisted with allocating more disk-space for their VM as well and growing their existing partition. After doing this, publishing resumed functioning as normal.