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

Neal Caidin nealcaidin at sakaifoundation.org
Tue Apr 23 09:19:54 PDT 2013


Probably what should go in release notes is some description of the existing known problem(s) and pointers to the 2 or more jiras that are being discussed.  

Cheers,
Neal

On Apr 23, 2013, at 12:07 PM, "Maurer, Christopher Wayne" <chmaurer at iupui.edu> wrote:

> 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>
> Date: Tuesday, April 23, 2013 12:02 PM
> To: Matthew Jones <matthew at longsight.com>
> Cc: "Kusnetz, Jeremy" <JKusnetz at apus.edu>, sakai-dev <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> 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> 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] 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> 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
>>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>> 
>>> TO UNSUBSCRIBE: send email to 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
>>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>> 
>>> TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of "unsubscribe"
>> 
>> _______________________________________________
>> sakai-dev mailing list
>> 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 with a subject of "unsubscribe"
> 

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


More information about the sakai-dev mailing list