[Deploying Sakai] URGENT: Need some advice on sites created without roles

Seth Theriault slt at columbia.edu
Mon Apr 2 07:25:24 PDT 2012


Hello,

I need some urgent advice on correcting a problematic local 
situation: sites created without roles.

We are running the equivalent of Sakai 2.8.1 on Oracle 11. We 
have some automated Quartz jobs that create course sites based on 
official SIS information. When a course is "released" as 
official, we gather that info and create a site.

Over the weekend, SIS released 5000 new courses. About 1/3 
through the Quartz job, these errors started appearing:

2012-03-31 12:26:34,908 WARN  [QuartzScheduler_Worker-4] [org.sakaiproject.db.impl.BasicSqlService]: transact: rolling back: azg:/site/LOCAL_SITE_ID
2012-03-31 12:26:34,908 WARN  [QuartzScheduler_Worker-4] [org.sakaiproject.db.impl.BasicSqlService]: transact: failure: net.sf.ehcache.CacheException: org.sakaiproject.db.BaseDbFlatStorage.SAKAI_REALM_PROPERTYCache: Could not remove disk store entry for key SAKAI_REALM_PROPERTY:REALM_KEY:9561. Error was org.sakaiproject.util.BaseResourcePropertiesEdit
2012-03-31 12:26:34,908 WARN  [QuartzScheduler_Worker-4] [org.sakaiproject.site.impl.BaseSiteService]: .addSite(): error copying realmnet.sf.ehcache.CacheException: org.sakaiproject.db.BaseDbFlatStorage.SAKAI_REALM_PROPERTYCache: Could not remove disk store entry for key SAKAI_REALM_PROPERTY:REALM_KEY:9561. Error was org.sakaiproject.util.BaseResourcePropertiesEdit
         at net.sf.ehcache.store.DiskStore.remove(DiskStore.java:477)
         at net.sf.ehcache.Cache.remove(Cache.java:1463)
         at net.sf.ehcache.Cache.remove(Cache.java:1390)
         at net.sf.ehcache.Cache.remove(Cache.java:1348)
         at org.sakaiproject.memory.impl.MemCache.remove(MemCache.java:591)
         at org.sakaiproject.util.BaseDbFlatStorage.writeProperties(BaseDbFlatStorage.java:1224)
         at org.sakaiproject.util.BaseDbFlatStorage.writeProperties(BaseDbFlatStorage.java:1203)
         at org.sakaiproject.util.BaseDbFlatStorage.writeProperties(BaseDbFlatStorage.java:1196)
         at org.sakaiproject.util.BaseDbFlatStorage.commitResource(BaseDbFlatStorage.java:851)
         at org.sakaiproject.authz.impl.DbAuthzGroupService$DbStorage.saveTx(DbAuthzGroupService.java:1112)
         at org.sakaiproject.authz.impl.DbAuthzGroupService$DbStorage$9.run(DbAuthzGroupService.java:1083)
         at org.sakaiproject.db.impl.BasicSqlService.transact(BasicSqlService.java:334)
         at org.sakaiproject.authz.impl.DbAuthzGroupService$DbStorage.save(DbAuthzGroupService.java:1079)
         at org.sakaiproject.authz.impl.BaseAuthzGroupService.completeSave(BaseAuthzGroupService.java:605)
         at org.sakaiproject.authz.impl.BaseAuthzGroupService.addAuthzGroup(BaseAuthzGroupService.java:743)
         at org.sakaiproject.site.impl.BaseSiteService.addSite(BaseSiteService.java:1155)
         at org.sakaiproject.site.cover.SiteService.addSite(SiteService.java:229)
         at edu.columbia.cuit.courseworks.sakaifeeds.ColumbiaLoadCourseSites.processSites(ColumbiaLoadCourseSites.java:160)
         at edu.columbia.cuit.courseworks.sakaifeeds.ColumbiaLoadCourseSites.loadCourseSites(ColumbiaLoadCourseSites.java:96)
         at edu.columbia.cuit.courseworks.sakaifeeds.ColumbiaLoadCourseSites.execute(ColumbiaLoadCourseSites.java:49)
         at org.sakaiproject.component.app.scheduler.jobs.SpringJobBeanWrapper.execute(SpringJobBeanWrapper.java:70)
         at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
         at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:534)

In the end, the sites were created but without any roles, which 
makes our automated registrations fail as well. So, I have two 
questions:

1) What is the best way to add the roles (copied from another realm) to these sites?
2) Does anyone have any advice for preventing this sort of thing 
from popping up?

For #1, I was thinking about using webservices and copyRole() to 
do it in small batches. This is essentially how the roles were 
supposed to be added anyway.

Seth



More information about the production mailing list