You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@archiva.apache.org by "Olivier Lamy (JIRA)" <ji...@codehaus.org> on 2012/09/26 15:56:36 UTC

[jira] (MRM-1052) Archiva problem with SQL schemas

     [ https://jira.codehaus.org/browse/MRM-1052?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Olivier Lamy closed MRM-1052.
-----------------------------

       Resolution: Cannot Reproduce
    Fix Version/s:     (was: Backlog)
         Assignee: Olivier Lamy
    
> Archiva problem with SQL schemas
> --------------------------------
>
>                 Key: MRM-1052
>                 URL: https://jira.codehaus.org/browse/MRM-1052
>             Project: Archiva
>          Issue Type: Bug
>    Affects Versions: 1.1.3
>         Environment: Suse SLES 10 x86
>            Reporter: Henri Gomez
>            Assignee: Olivier Lamy
>
> After a system restart, the Archiva 1.1.3 system didn't works anymore on our Linux box. It consumes up to 100% CPU without any 'visible' system activity.
> We decided to switch from the previous derby DB to Mysql.
> I set MySQL like this in context.xml 
> ...
>   <Resource name="jdbc/users"
>             auth="Container"
>             type="javax.sql.DataSource"
>             username="archiva"
>             password="somepwd"
>             driverClassName="com.mysql.jdbc.Driver"
>             url="jdbc:mysql://localhost:3306/archiva-users?autoReconnect=true"/>
>   <Resource name="jdbc/archiva"
>             auth="Container"
>             type="javax.sql.DataSource"
>             username="archiva"
>             password="somepwd"
>             driverClassName="com.mysql.jdbc.Driver"
>             url="jdbc:mysql://localhost:3306/archiva?autoReconnect=true"/>
> ...
> Created the archiva database on the local mysql DB, created archiva user and grant it access to archiva DB.
> Archiva 1.1.3 created the table at startup time and seems to start.
> I created the admin user, but after trying to create another user, archiva is stuck with SQL schema :
> ATTENTION: Caught OgnlException while setting property 'principal' on type 'com.opensymphony.webwork.dispatcher.ServletActionRedirectResult'.
> ognl.NoSuchPropertyException: com.opensymphony.webwork.dispatcher.ServletActionRedirectResult.principal
>         at ognl.ObjectPropertyAccessor.setProperty(ObjectPropertyAccessor.java:132)
>         at com.opensymphony.xwork.util.OgnlValueStack$ObjectAccessor.setProperty(OgnlValueStack.java:67)
>         at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:1656)
>         at ognl.ASTProperty.setValueBody(ASTProperty.java:101)
>         at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177)
>         at ognl.SimpleNode.setValue(SimpleNode.java:246)
>         at ognl.Ognl.setValue(Ognl.java:476)
>         at com.opensymphony.xwork.util.OgnlUtil.setValue(OgnlUtil.java:188)
>         at com.opensymphony.xwork.util.OgnlUtil.internalSetProperty(OgnlUtil.java:362)
>         at com.opensymphony.xwork.util.OgnlUtil.setProperties(OgnlUtil.java:78)
>         at com.opensymphony.xwork.util.OgnlUtil.setProperties(OgnlUtil.java:51)
>         at com.opensymphony.xwork.ObjectFactory.buildResult(ObjectFactory.java:186)
>         at com.opensymphony.xwork.DefaultActionInvocation.createResult(DefaultActionInvocation.java:173)
>         at com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:310)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:208)
>         at org.codehaus.plexus.redback.xwork.interceptor.SecureActionInterceptor.intercept(SecureActionInterceptor.java:159)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at org.codehaus.plexus.redback.xwork.interceptor.PolicyEnforcementInterceptor.intercept(PolicyEnforcementInterceptor.java:149)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at org.codehaus.plexus.redback.xwork.interceptor.AutoLoginInterceptor.intercept(AutoLoginInterceptor.java:156)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at org.codehaus.plexus.redback.xwork.interceptor.ForceAdminUserInterceptor.intercept(ForceAdminUserInterceptor.java:76)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at org.codehaus.plexus.redback.xwork.interceptor.EnvironmentCheckInterceptor.intercept(EnvironmentCheckInterceptor.java:122)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:175)
>         at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
> org.codehaus.plexus.redback.rbac.RbacObjectNotFoundException: Unable to find RBAC Object 'userone' of type org.codehaus.plexus.redback.rbac.jdo.JdoUserAssignment using fetch-group 'null'
>         at org.codehaus.plexus.redback.rbac.jdo.JdoTool.getObjectById(JdoTool.java:316)
>         at org.codehaus.plexus.redback.rbac.jdo.JdoRbacManager.getUserAssignment(JdoRbacManager.java:568)
>         at org.codehaus.plexus.redback.rbac.AbstractRBACManager.getAssignedRoles(AbstractRBACManager.java:533)
>         at org.codehaus.plexus.redback.rbac.cached.CachedRbacManager.getAssignedRoles(CachedRbacManager.java:251)
>         at org.codehaus.plexus.redback.xwork.action.admin.AssignmentsAction.show(AssignmentsAction.java:189)
>         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 com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:358)
>         at com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:218)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:192)
>         at org.codehaus.plexus.redback.xwork.interceptor.SecureActionInterceptor.intercept(SecureActionInterceptor.java:159)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at org.codehaus.plexus.redback.xwork.interceptor.PolicyEnforcementInterceptor.intercept(PolicyEnforcementInterceptor.java:149)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at org.codehaus.plexus.redback.xwork.interceptor.AutoLoginInterceptor.intercept(AutoLoginInterceptor.java:156)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at org.codehaus.plexus.redback.xwork.interceptor.ForceAdminUserInterceptor.intercept(ForceAdminUserInterceptor.java:76)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at org.codehaus.plexus.redback.xwork.interceptor.EnvironmentCheckInterceptor.intercept(EnvironmentCheckInterceptor.java:122)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:175)
>         at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:115)
>         at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:174)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at com.opensymphony.webwork.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:169)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at com.opensymphony.xwork.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:151)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
> Caused by: javax.jdo.JDOObjectNotFoundException: No such database row
> FailedObject:userone
>         at org.jpox.store.rdbms.request.FetchRequest.execute(FetchRequest.java:194)
>         at org.jpox.store.rdbms.table.ClassTable.fetch(ClassTable.java:2552)
>         at org.jpox.store.StoreManager.fetch(StoreManager.java:959)
>         at org.jpox.state.StateManagerImpl.loadFieldsInFetchPlan(StateManagerImpl.java:1820)
>         at org.jpox.state.StateManagerImpl.validate(StateManagerImpl.java:4499)
>         at org.jpox.AbstractPersistenceManager.getObjectById(AbstractPersistenceManager.java:2726)
>         at org.jpox.AbstractPersistenceManager.getObjectById(AbstractPersistenceManager.java:2600)
>         at org.jpox.AbstractPersistenceManager.getObjectById(AbstractPersistenceManager.java:2580)
>         at org.codehaus.plexus.redback.rbac.jdo.JdoTool.getObjectById(JdoTool.java:306)
>         ... 73 more
> org.codehaus.plexus.redback.rbac.RbacObjectNotFoundException: Unable to find RBAC Object 'userone' of type org.codehaus.plexus.redback.rbac.jdo.JdoUserAssignment using fetch-group 'null'
>         at org.codehaus.plexus.redback.rbac.jdo.JdoTool.getObjectById(JdoTool.java:316)
>         at org.codehaus.plexus.redback.rbac.jdo.JdoRbacManager.getUserAssignment(JdoRbacManager.java:568)
>         at org.codehaus.plexus.redback.rbac.AbstractRBACManager.getAssignedRoles(AbstractRBACManager.java:533)
>         at org.codehaus.plexus.redback.rbac.cached.CachedRbacManager.getAssignedRoles(CachedRbacManager.java:251)
>         at org.codehaus.plexus.redback.xwork.action.admin.AssignmentsAction.show(AssignmentsAction.java:189)
>         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 com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:358)
>         at com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:218)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:192)
>         at org.codehaus.plexus.redback.xwork.interceptor.SecureActionInterceptor.intercept(SecureActionInterceptor.java:159)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at org.codehaus.plexus.redback.xwork.interceptor.PolicyEnforcementInterceptor.intercept(PolicyEnforcementInterceptor.java:149)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at org.codehaus.plexus.redback.xwork.interceptor.AutoLoginInterceptor.intercept(AutoLoginInterceptor.java:156)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at org.codehaus.plexus.redback.xwork.interceptor.ForceAdminUserInterceptor.intercept(ForceAdminUserInterceptor.java:76)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at org.codehaus.plexus.redback.xwork.interceptor.EnvironmentCheckInterceptor.intercept(EnvironmentCheckInterceptor.java:122)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:175)
>         at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:115)
>         at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:174)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
>         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
> Caused by: javax.jdo.JDOObjectNotFoundException: No such database row
> FailedObject:userone
>         at org.jpox.store.rdbms.request.FetchRequest.execute(FetchRequest.java:194)
>         at org.jpox.store.rdbms.table.ClassTable.fetch(ClassTable.java:2552)
>         at org.jpox.store.StoreManager.fetch(StoreManager.java:959)
>         at org.jpox.state.StateManagerImpl.loadFieldsInFetchPlan(StateManagerImpl.java:1820)
>         at org.jpox.state.StateManagerImpl.validate(StateManagerImpl.java:4499)
>         at org.jpox.AbstractPersistenceManager.getObjectById(AbstractPersistenceManager.java:2726)
>         at org.jpox.AbstractPersistenceManager.getObjectById(AbstractPersistenceManager.java:2600)
>         at org.jpox.AbstractPersistenceManager.getObjectById(AbstractPersistenceManager.java:2580)
>         at org.codehaus.plexus.redback.rbac.jdo.JdoTool.getObjectById(JdoTool.java:306)
>         ... 73 more
> I had to restart the tomcat hosting archiva.
> After restart I see in Archiva log :
> 2008-12-22 11:54:08,034 [main] ERROR JPOX.RDBMS  - An exception was thrown while adding/validating class(es) : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-users.`SECURITY_USERASSIGNMENT_ROLENAMES` ADD CONSTRAINT `SECURITY_USERASSIGNME' at line 1
> com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-users.`SECURITY_USERASSIGNMENT_ROLENAMES` ADD CONSTRAINT `SECURITY_USERASSIGNME' at line 1
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>         at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
>         at com.mysql.jdbc.Util.getInstance(Util.java:381)
>         at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030)
>         at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
>         at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491)
>         at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
>         at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936)
>         at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060)
>         at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2536)
>         at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2465)
>         at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:734)
>         at org.apache.tomcat.dbcp.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)
>         at org.jpox.store.rdbms.table.AbstractTable.executeDdlStatement(AbstractTable.java:614)
>         at org.jpox.store.rdbms.table.TableImpl.validateForeignKeys(TableImpl.java:463)
>         at org.jpox.store.rdbms.table.TableImpl.validateConstraints(TableImpl.java:388)
>         at org.jpox.store.rdbms.RDBMSManager$ClassAdder.performTablesValidation(RDBMSManager.java:3123)
>         at org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesAndValidate(RDBMSManager.java:3326)
>         at org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManager.java:2567)
>         at org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RDBMSManager.java:2419)
>         at org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.java:824)
>         at org.jpox.store.rdbms.RDBMSManager.addClass(RDBMSManager.java:838)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira