[Building Sakai] Problems starting an upgraded 2.8 to 2.9.x instance

Maurer, Christopher Wayne chmaurer at iupui.edu
Tue Apr 23 09:07:16 PDT 2013


I'm a little biased, but I don't think that this is the solution that we should have adopted, especially with no discussion.  I like (obviously) what we did in https://jira.sakaiproject.org/browse/SAK-23415 because it has better configurability for a cluster.  Let's consider both issues and come up with a real solution here.

Chris

From: Neal Caidin <nealcaidin at sakaifoundation.org<mailto:nealcaidin at sakaifoundation.org>>
Date: Tuesday, April 23, 2013 12:02 PM
To: Matthew Jones <matthew at longsight.com<mailto:matthew at longsight.com>>
Cc: "Kusnetz, Jeremy" <JKusnetz at apus.edu<mailto:JKusnetz at apus.edu>>, sakai-dev <sakai-dev at collab.sakaiproject.org<mailto:sakai-dev at collab.sakaiproject.org>>
Subject: Re: [Building Sakai] Problems starting an upgraded 2.8 to 2.9.x instance

This sounds like it belongs in the release notes?

https://jira.sakaiproject.org/browse/SAK-13776

Thanks,
Neal

On Apr 23, 2013, at 11:07 AM, Matthew Jones <matthew at longsight.com<mailto:matthew at longsight.com>> wrote:

Yea, you'd need to branch jobscheduler 2.9.x, merge this patch from trunk and build it custom. The *easiest* way to do that is if your school is in msub already, but you have to be a Sakai Foundation/Apereo member or supported by a Sakai Commercial Affiliate for that to happen. (Not sure if you are or not) It's probably possible to do this locally or through github as well


On Tue, Apr 23, 2013 at 11:02 AM, Kusnetz, Jeremy <JKusnetz at apus.edu<mailto:JKusnetz at apus.edu>> wrote:
That’s the problem, thanks.  This was an rSmart CLE where I guess that was added.

I think the purpose was to designate one node in the cluster to run Quartz jobs, so it could run on a predictable node and I guess not clobber each other running the same job?

Is there a way to do that in the community version?

I guess we can look into https://jira.sakaiproject.org/browse/SAK-13776

From:sakai-dev-bounces at collab.sakaiproject.org<mailto:sakai-dev-bounces at collab.sakaiproject.org> [mailto:sakai-dev-bounces at collab.sakaiproject.org<mailto:sakai-dev-bounces at collab.sakaiproject.org>] On Behalf Of David Adams
Sent: Tuesday, April 23, 2013 10:55 AM
To: Kusnetz, Jeremy
Cc: sakai-dev
Subject: Re: [Building Sakai] Problems starting an upgraded 2.8 to 2.9.x instance

Looks like the problem is this bit:
NotWritablePropertyException: Invalid property 'startScheduler' of bean class [org.sakaiproject.component.app.scheduler.SchedulerManagerImpl]: Bean property 'startScheduler' is not writable or has an invalid setter method.

Looks like the file to check out is /SAKAI/apus/tomcat_servers/servers/apache-tomcat-7.0.35-community-2.9.x-200/components/scheduler-component/WEB-INF/components.xml

I don't see the property startScheduler in that file in our 2.8 or 2.9 code, so perhaps that was something your team added to 2.8? There'd have to be a setStartScheduler method in the SchedulerManagerImpl class for that to work.

David Adams
Director, Systems Integration and Support
Virginia Tech Learning Technologies

On Tue, Apr 23, 2013 at 9:47 AM, Kusnetz, Jeremy <JKusnetz at apus.edu<mailto:JKusnetz at apus.edu>> wrote:
We have had success bringing up multiple converted 2.8 to 2.9 instances, but one of our is giving us the following errors.

I went ahead blew away all of our QRTZ tables and imported with a working 2.9 instance that didn’t have any jobs defined.  That hasn’t helped get past this error.

2013-04-23 10:43:45,079  INFO localhost-startStop-1 org.sakaiproject.user.impl.PrecachingDbUserService - User precache not scheduled for startup run
2013-04-23 10:43:45,079  INFO localhost-startStop-1 org.sakaiproject.user.impl.PrecachingDbUserService - User precache not scheduled for daily run
2013-04-23 10:43:45,080  INFO localhost-startStop-1 org.sakaiproject.accountvalidator.logic.impl.ValidationLogicImpl - init()
2013-04-23 10:43:45,287 ERROR localhost-startStop-1 org.sakaiproject.util.NoisierDefaultListableBeanFactory - Failed to preinstantiate the singleton named org.sakaiproject.api.app.scheduler.JobBeanWrapper.validateJob. Destroying all Spring beans.
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.sakaiproject.api.app.scheduler.JobBeanWrapper.validateJob' defined in file [/SAKAI/apus/tomcat_servers/servers/apache-tomcat-7.0.35-community-2.9.x-200/components/accountvalidator-pack/WEB-INF/components.xml]: Cannot resolve reference to bean 'org.sakaiproject.api.app.scheduler.SchedulerManager' while setting bean property 'schedulerManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.sakaiproject.api.app.scheduler.SchedulerManager' defined in file [/SAKAI/apus/tomcat_servers/servers/apache-tomcat-7.0.35-community-2.9.x-200/components/scheduler-component/WEB-INF/components.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'startScheduler' of bean class [org.sakaiproject.component.app.scheduler.SchedulerManagerImpl]: Bean property 'startScheduler' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
                at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275)
                at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
                at java.security.AccessController.doPrivileged(Native Method)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
                at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
                at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
                at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
                at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
                at org.sakaiproject.util.NoisierDefaultListableBeanFactory.getBean(NoisierDefaultListableBeanFactory.java:112)
                at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
                at org.sakaiproject.util.NoisierDefaultListableBeanFactory.preInstantiateSingletons(NoisierDefaultListableBeanFactory.java:73)
                at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
                at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
                at org.sakaiproject.component.impl.SpringCompMgr.init(SpringCompMgr.java:160)
                at org.sakaiproject.component.cover.ComponentManager.getInstance(ComponentManager.java:98)
                at org.sakaiproject.component.cover.ComponentManager.get(ComponentManager.java:107)
                at org.sakaiproject.component.cover.ServerConfigurationService.getInstance(ServerConfigurationService.java:52)
                at org.sakaiproject.component.cover.ServerConfigurationService.getSakaiHomePath(ServerConfigurationService.java:173)
                at org.sakaiproject.util.ToolListener.contextInitialized(ToolListener.java:66)
                at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4797)
                at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5291)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
                at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
                at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
                at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
                at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:977)
                at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1655)
                at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
                at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
                at java.util.concurrent.FutureTask.run(FutureTask.java:138)
                at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
                at java.lang.Thread.run(Thread.java:662)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.sakaiproject.api.app.scheduler.SchedulerManager' defined in file [/SAKAI/apus/tomcat_servers/servers/apache-tomcat-7.0.35-community-2.9.x-200/components/scheduler-component/WEB-INF/components.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'startScheduler' of bean class [org.sakaiproject.component.app.scheduler.SchedulerManagerImpl]: Bean property 'startScheduler' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1279)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
                at java.security.AccessController.doPrivileged(Native Method)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
                at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
                at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
                at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
                at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
                at org.sakaiproject.util.NoisierDefaultListableBeanFactory.getBean(NoisierDefaultListableBeanFactory.java:112)
                at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
                at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
                ... 36 more
Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'startScheduler' of bean class [org.sakaiproject.component.app.scheduler.SchedulerManagerImpl]: Bean property 'startScheduler' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
                at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:801)
                at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:651)
                at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:78)
                at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:59)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1276)
                ... 48 more
java.lang.Exception: traceback
                at org.sakaiproject.util.NoisierDefaultListableBeanFactory.destroySingletons(NoisierDefaultListableBeanFactory.java:94)
                at org.sakaiproject.util.NoisierDefaultListableBeanFactory.preInstantiateSingletons(NoisierDefaultListableBeanFactory.java:83)
                at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
                at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
                at org.sakaiproject.component.impl.SpringCompMgr.init(SpringCompMgr.java:160)
                at org.sakaiproject.component.cover.ComponentManager.getInstance(ComponentManager.java:98)
                at org.sakaiproject.component.cover.ComponentManager.get(ComponentManager.java:107)
                at org.sakaiproject.component.cover.ServerConfigurationService.getInstance(ServerConfigurationService.java:52)
                at org.sakaiproject.component.cover.ServerConfigurationService.getSakaiHomePath(ServerConfigurationService.java:173)
                at org.sakaiproject.util.ToolListener.contextInitialized(ToolListener.java:66)
                at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4797)
                at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5291)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
                at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
                at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
                at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
                at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:977)
                at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1655)
                at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
                at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
                at java.util.concurrent.FutureTask.run(FutureTask.java:138)
                at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
                at java.lang.Thread.run(Thread.java:662)

This message is private and confidential. If you have received it in error, please notify the sender and remove it from your system.

_______________________________________________
sakai-dev mailing list
sakai-dev at collab.sakaiproject.org<mailto:sakai-dev at collab.sakaiproject.org>
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org<mailto:sakai-dev-unsubscribe at collab.sakaiproject.org> with a subject of "unsubscribe"


This message is private and confidential. If you have received it in error, please notify the sender and remove it from your system.

_______________________________________________
sakai-dev mailing list
sakai-dev at collab.sakaiproject.org<mailto:sakai-dev at collab.sakaiproject.org>
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org<mailto:sakai-dev-unsubscribe at collab.sakaiproject.org> with a subject of "unsubscribe"

_______________________________________________
sakai-dev mailing list
sakai-dev at collab.sakaiproject.org<mailto:sakai-dev at collab.sakaiproject.org>
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org<mailto:sakai-dev-unsubscribe at collab.sakaiproject.org> with a subject of "unsubscribe"

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20130423/85d77bf8/attachment.html 


More information about the sakai-dev mailing list