VERIFIED SOLUTION i
X

Resolve error "An SQL data change is not permitted for a read-only connection, user or database" while starting up Spectrum Technology Platform

Issue

The following error is being written out to the Pitney Bowes Spectrum Technology wrapper.log:
ERROR [JobStoreTX] ClusterManager: Error managing cluster: Failure updating scheduler state when checking-in: An SQL data change is not permitted for a read-only connection, user or database.

This error can also occur when trying to add a  USA UAM database resource.
 

Cause

Here is the full error information being written to the Pitney Bowes Spectrum Technology Platform wrapper.log:  
INFO | jvm 1 | 2013/10/23 10:37:07 | ERROR [JobStoreTX] ClusterManager: Error managing cluster: Failure updating scheduler state when checking-in: An SQL data change is not permitted for a read-only connection, user or database.
INFO | jvm 1 | 2013/10/23 10:37:07 | org.quartz.JobPersistenceException: Failure updating scheduler state when checking-in: An SQL data change is not permitted for a read-only connection, user or database. [See nested exception: java.sql.SQLException: An SQL data change is not permitted for a read-only connection, user or database.]
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.quartz.impl.jdbcjobstore.JobStoreSupport.clusterCheckIn(JobStoreSupport.java:3406)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.quartz.impl.jdbcjobstore.JobStoreSupport.doCheckin(JobStoreSupport.java:3263)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.quartz.impl.jdbcjobstore.JobStoreSupport$ClusterManager.manage(JobStoreSupport.java:3869)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.quartz.impl.jdbcjobstore.JobStoreSupport$ClusterManager.initialize(JobStoreSupport.java:3854)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.quartz.impl.jdbcjobstore.JobStoreSupport.schedulerStarted(JobStoreSupport.java:678)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.quartz.core.QuartzScheduler.start(QuartzScheduler.java:526) INFO | jvm 1 | 2013/10/23 10:37:07 | at org.quartz.impl.StdScheduler.start(StdScheduler.java:143)
INFO | jvm 1 | 2013/10/23 10:37:07 | at com.pb.spectrum.platform.server.runtime.core.scheduling.quartz.impl.SchedulerManagerImpl.init(SchedulerManagerImpl.java:230)
INFO | jvm 1 | 2013/10/23 10:37:07 | at com.pb.spectrum.platform.server.runtime.core.scheduling.quartz.impl.SchedulerManagerImpl.start(SchedulerManagerImpl.java:55)
INFO | jvm 1 | 2013/10/23 10:37:07 | at com.pb.spectrum.platform.server.runtime.core.scheduling.SchedulerLifeCycleManager.start(SchedulerLifeCycleManager.java:14)
INFO | jvm 1 | 2013/10/23 10:37:07 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO | jvm 1 | 2013/10/23 10:37:07 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
INFO | jvm 1 | 2013/10/23 10:37:07 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
INFO | jvm 1 | 2013/10/23 10:37:07 | at java.lang.reflect.Method.invoke(Method.java:597)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1581)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1522)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:284)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractBeanFactory.getTypeForFactoryBean(AbstractBeanFactory.java:1356) INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:710)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractBeanFactory.getType(AbstractBeanFactory.java:578)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.jmx.export.MBeanExporter.autodetect(MBeanExporter.java:877)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.jmx.export.MBeanExporter.autodetectBeans(MBeanExporter.java:842)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.jmx.export.MBeanExporter.registerBeans(MBeanExporter.java:521)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.jmx.export.MBeanExporter.afterPropertiesSet(MBeanExporter.java:413)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
INFO | jvm 1 | 2013/10/23 10:37:07 | at com.pb.spectrum.platform.server.container.startup.Server.createApplicationContext(Server.java:180)
INFO | jvm 1 | 2013/10/23 10:37:07 | at com.pb.spectrum.platform.server.container.startup.Server.createApplicationContext(Server.java:189)
INFO | jvm 1 | 2013/10/23 10:37:07 | at com.pb.spectrum.platform.server.container.startup.Server.createApplicationContext(Server.java:189)
INFO | jvm 1 | 2013/10/23 10:37:07 | at com.pb.spectrum.platform.server.container.startup.Server.createApplicationContext(Server.java:189)
INFO | jvm 1 | 2013/10/23 10:37:07 | at com.pb.spectrum.platform.server.container.startup.Server.createApplicationContext(Server.java:189)
INFO | jvm 1 | 2013/10/23 10:37:07 | at com.pb.spectrum.platform.server.container.startup.Server.createApplicationContext(Server.java:189)
INFO | jvm 1 | 2013/10/23 10:37:07 | at com.pb.spectrum.platform.server.container.startup.Server.configureSpringAppContext(Server.java:165)
INFO | jvm 1 | 2013/10/23 10:37:07 | at com.pb.spectrum.platform.server.container.startup.Server.start(Server.java:115)
INFO | jvm 1 | 2013/10/23 10:37:07 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO | jvm 1 | 2013/10/23 10:37:07 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
INFO | jvm 1 | 2013/10/23 10:37:07 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
INFO | jvm 1 | 2013/10/23 10:37:07 | at java.lang.reflect.Method.invoke(Method.java:597)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1581)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1522)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
INFO | jvm 1 | 2013/10/23 10:37:07 | at com.pb.spectrum.platform.server.container.startup.Main.main(Main.java:39)
INFO | jvm 1 | 2013/10/23 10:37:07 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO | jvm 1 | 2013/10/23 10:37:07 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
INFO | jvm 1 | 2013/10/23 10:37:07 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
INFO | jvm 1 | 2013/10/23 10:37:07 | at java.lang.reflect.Method.invoke(Method.java:597)
INFO | jvm 1 | 2013/10/23 10:37:07 | at com.g1.dcg.boot.Main.main(Main.java:77) INFO | jvm 1 | 2013/10/23 10:37:07 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO | jvm 1 | 2013/10/23 10:37:07 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
INFO | jvm 1 | 2013/10/23 10:37:07 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
INFO | jvm 1 | 2013/10/23 10:37:07 | at java.lang.reflect.Method.invoke(Method.java:597)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:287)
INFO | jvm 1 | 2013/10/23 10:37:07 | at java.lang.Thread.run(Thread.java:662)
INFO | jvm 1 | 2013/10/23 10:37:07 | Caused by: java.sql.SQLException: An SQL data change is not permitted for a read-only connection, user or database. INFO | jvm 1 | 2013/10/23 10:37:07 | at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.apache.derby.client.am.PreparedStatement.executeUpdate(Unknown Source)
INFO | jvm 1 | 2013/10/23 10:37:07 | at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.updateSchedulerState(StdJDBCDelegate.java:2929)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.quartz.impl.jdbcjobstore.JobStoreSupport.clusterCheckIn(JobStoreSupport.java:3400)
INFO | jvm 1 | 2013/10/23 10:37:07 | ... 77 more INFO | jvm 1 | 2013/10/23 10:37:07 | Caused by: org.apache.derby.client.am.SqlException: An SQL data change is not permitted for a read-only connection, user or database.
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.apache.derby.client.am.Statement.completeExecute(Unknown Source)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.apache.derby.client.net.NetStatementReply.parseEXCSQLSTTreply(Unknown Source)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.apache.derby.client.net.NetStatementReply.readExecute(Unknown Source)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.apache.derby.client.net.StatementReply.readExecute(Unknown Source)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.apache.derby.client.net.NetPreparedStatement.readExecute_(Unknown Source)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.apache.derby.client.am.PreparedStatement.readExecute(Unknown Source)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.apache.derby.client.am.PreparedStatement.flowExecute(Unknown Source)
INFO | jvm 1 | 2013/10/23 10:37:07 | at org.apache.derby.client.am.PreparedStatement.executeUpdateX(Unknown Source)
INFO | jvm 1 | 2013/10/23 10:37:07 | ... 81 more INFO | jvm 1 | 2013/10/23 10:37:07 | INFO [SchedulerManager] Started
INFO | jvm 1 | 2013/10/23 10:37:07 | INFO [Server] Pitney Bowes Spectrum(TM) Technology Platform (Version 8.0 SP1 209) Started [pbsadmin@vm-bac7-7186 logs]$

Resolution

UPDATED: April 21, 2017


Even though the "SQL data change is not permitted for a read-only connection, user or database" error message is being shown in the Pitney Bowes Spectrum Technology Platform wrapper.log, it is important to note that the Spectrum service was successfully started as seen with this following line in the log file:
INFO   | jvm 1    | 2013/06/11 10:39:08 | INFO  [Server] Pitney Bowes Spectrum(TM) Technology Platform (Version 8.0 SP1 209) Started

What this error message is showing, is that others were trying to access the Spectrum service was not fully started, or users were trying to modify jobs that were previously opened under another user.  Those users may notice when they go to open the job in Enterprise Designer that they encountered a message showing the job was already open under 'admin' or some other user and cannot be modified or saved.
 

 

Environment Details

Product Feature: Spectrum Server

Operating System: Linux



 

Downloads

  • No Downloads