[Building Sakai] AuthzPermissionException Thrown After Upgrading from 2.7.1 to 2.9.3

Steve Swinsburg steve.swinsburg at gmail.com
Tue May 6 13:44:18 PDT 2014


The issue is that Sakai needs a certain amount of data for roles and
permissions and things. It would be best to test on a full copy so you have
a true test, but another way would be to start 2.7.1 with auto ddl on, so
it gets populated to the minimum,  then stop tomcat and upgrade it.

Cheers
Steve

sent from my mobile device
On 07/05/2014 5:49 AM, "BJ Peter DeLaCruz" <bjpeter2008 at gmail.com> wrote:

> Eventually, we're going to upgrade our production database (which is
> several hundred gigabytes), so I'm testing the upgrade process with an
> empty database that has the same schema.
>
> So what I did was after I upgraded the empty database with our scripts, I
> set auto.ddl to false (because setting auto.ddl to true will throw an
> AuthzPermissionException). I started up Tomcat, and when everything was
> ready to go, I went to the site and saw the following screens (I saw the
> error message after I logged in). How can I get Sakai to be fully
> functioning as if I just started it up automatically (i.e. without manually
> upgrading the database)?
>
> Do I have to use a copy of the production database with all of the tables
> populated to get that result?
>
>
> On Mon, May 5, 2014 at 4:13 PM, Steve Swinsburg <steve.swinsburg at gmail.com
> > wrote:
>
>> If you have no data to upgrade,  startup sakai 2.9.3 on a clean database
>> and the tables etc will be created for you. No need to upgrade.
>>
>> Cheers
>> Steve
>>
>> sent from my mobile device
>> On 06/05/2014 8:56 AM, "BJ Peter DeLaCruz" <bjpeter2008 at gmail.com> wrote:
>>
>>> The dump file only includes the DDL. When I open the sakai database
>>> using DbVisualizer, I see no data in the tables.
>>>
>>> Because there are no data in the tables, I had to comment out many
>>> INSERT INTO statements in the upgrade scripts because the fields cannot be
>>> null. Perhaps the database should be upgraded when there's data in there? I
>>> think Sakai was looking for the admin user when it started up but couldn't
>>> find it?
>>>
>>> I am using the following scripts, and I applied them in the order listed
>>> below:
>>>
>>> 2.7.1 -> 2.8.0
>>>
>>> https://source.sakaiproject.org/svn/reference/branches/sakai-2.8.x/docs/conversion/sakai_2_8_0_mysql_conversion.sql
>>>
>>> 2.8.0 -> 2.9.0
>>>
>>> https://source.sakaiproject.org/svn/reference/branches/sakai-2.9.x/docs/conversion/sakai_2_9_0_mysql_conversion.sql
>>>
>>> 2.9.0 -> 2.9.1
>>>
>>> https://source.sakaiproject.org/svn/reference/branches/sakai-2.9.x/docs/conversion/sakai_2_9_0-2_9_1_mysql_conversion.sql
>>>
>>> 2.9.1 -> 2.9.2
>>>
>>> https://source.sakaiproject.org/svn/reference/trunk/docs/conversion/sakai_2_9_1-2_9_2_mysql_conversion.sql
>>>
>>> 2.9.2 -> 2.9.3
>>>
>>> http://code.metager.de/source/xref/sakai/2.9.3/reference/docs/conversion/sakai_2_9_2-2_9_3_mysql_conversion.sql
>>>
>>>
>>> On Mon, May 5, 2014 at 10:54 AM, Steve Swinsburg <
>>> steve.swinsburg at gmail.com> wrote:
>>>
>>>> And does the dump include the data or just the DDL?
>>>> Can you go to a table, sakai_site for example and see records?
>>>>
>>>> What about the code,  how did you get from 2.7.1 to 2.9.3?
>>>>
>>>> Cheers
>>>> Steve
>>>>
>>>> sent from my mobile device
>>>> On 06/05/2014 3:52 AM, "BJ Peter DeLaCruz" <bjpeter2008 at gmail.com>
>>>> wrote:
>>>>
>>>>> That is correct, Steve.
>>>>>
>>>>> I don't have a database created. I imported the dump, and it created a
>>>>> new one. I ran all upgrade scripts to bring it up to 2.9.3. I started up
>>>>> Sakai, and I received that error.
>>>>>
>>>>> Any ideas?
>>>>>
>>>>>
>>>>> On Sat, May 3, 2014 at 2:09 PM, Steve Swinsburg <
>>>>> steve.swinsburg at gmail.com> wrote:
>>>>>
>>>>>> Can you confirm the order of operations here? You should have
>>>>>> 1. Import dump into new db
>>>>>> 2. Run all upgrade scripts from 2.7.1 onwards in order to bring it up
>>>>>> to 2.9.3
>>>>>> 3. Start sakai.
>>>>>>
>>>>>> Cheers
>>>>>> Steve
>>>>>>
>>>>>> sent from my mobile device
>>>>>> On 03/05/2014 3:12 AM, "BJ Peter DeLaCruz" <bjpeter2008 at gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I have a MySQL database dump (table structures) for Sakai 2.7.1, and
>>>>>>> I am trying to upgrade the database to Sakai 2.9.3. The scripts upgraded
>>>>>>> the database fine, but when I start up Tomcat, I see the following errors
>>>>>>> in the log file. There is no data in the database.
>>>>>>>
>>>>>>> Is the admin user automatically created by Sakai when it starts up
>>>>>>> for the first time and the database is empty? How can I fix this error? I
>>>>>>> am upgrading the database on Windows 7, and I am running MySQL 5.6.16.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> BJ
>>>>>>>
>>>>>>> org.springframework.beans.factory.BeanCreationException: Error
>>>>>>> creating bean with name
>>>>>>> 'org.theospi.portfolio.security.DefaultRealmManager.portfolio' defined in
>>>>>>> file
>>>>>>> [C:\opt2\apache-tomcat-7.0.52\components\osp-common-component\WEB-INF\components.xml]:
>>>>>>> Invocation of init method failed; nested exception is
>>>>>>> java.lang.RuntimeException:
>>>>>>> org.sakaiproject.authz.api.AuthzPermissionException user=admin
>>>>>>> function=realm.add resource=/realm/!site.template.portfolio
>>>>>>>  at
>>>>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
>>>>>>>  at
>>>>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
>>>>>>>  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.util.RequestFilter.init(RequestFilter.java:811)
>>>>>>>  at
>>>>>>> org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279)
>>>>>>> at
>>>>>>> org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
>>>>>>>  at
>>>>>>> org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
>>>>>>> at
>>>>>>> org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4809)
>>>>>>>  at
>>>>>>> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5485)
>>>>>>> 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:632)
>>>>>>> at
>>>>>>> org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1073)
>>>>>>>  at
>>>>>>> org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)
>>>>>>> at
>>>>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
>>>>>>>  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:895)
>>>>>>> at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
>>>>>>>  at java.lang.Thread.run(Thread.java:662)
>>>>>>> Caused by: java.lang.RuntimeException:
>>>>>>> org.sakaiproject.authz.api.AuthzPermissionException user=admin
>>>>>>> function=realm.add resource=/realm/!site.template.portfolio
>>>>>>>  at
>>>>>>> org.theospi.portfolio.security.model.DefaultRealmManagerImpl.init(DefaultRealmManagerImpl.java:75)
>>>>>>> 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:597)
>>>>>>> at
>>>>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1414)
>>>>>>>  at
>>>>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1375)
>>>>>>>  at
>>>>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
>>>>>>>  ... 35 more
>>>>>>> Caused by: org.sakaiproject.authz.api.AuthzPermissionException
>>>>>>> user=admin function=realm.add resource=/realm/!site.template.portfolio
>>>>>>>  at
>>>>>>> org.sakaiproject.authz.impl.BaseAuthzGroupService.unlock(BaseAuthzGroupService.java:163)
>>>>>>> at
>>>>>>> org.sakaiproject.authz.impl.BaseAuthzGroupService.addAuthzGroup(BaseAuthzGroupService.java:712)
>>>>>>>  at
>>>>>>> org.theospi.portfolio.security.model.DefaultRealmManagerImpl.init(DefaultRealmManagerImpl.java:69)
>>>>>>> ... 42 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.util.RequestFilter.init(RequestFilter.java:811)
>>>>>>>  at
>>>>>>> org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279)
>>>>>>> at
>>>>>>> org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
>>>>>>>  at
>>>>>>> org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
>>>>>>> at
>>>>>>> org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4809)
>>>>>>>  at
>>>>>>> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5485)
>>>>>>> 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:632)
>>>>>>> at
>>>>>>> org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1073)
>>>>>>>  at
>>>>>>> org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)
>>>>>>> at
>>>>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
>>>>>>>  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:895)
>>>>>>> at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
>>>>>>>  at java.lang.Thread.run(Thread.java:662)
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> 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/20140507/b0913636/attachment.html 


More information about the sakai-dev mailing list