[ 
https://issues.apache.org/jira/browse/DIRSERVER-1633?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pierre-Arnaud Marcelot resolved DIRSERVER-1633.
-----------------------------------------------

    Resolution: Fixed

Fixed at revision 1145082.

http://svn.apache.org/viewvc?rev=1145082&view=rev

After some interesting chat sessions with Kiran and Alex, it turns out the 
issue was the fact that:
- The cn=schemaModifications,ou=schema entry was stored on disk in a file name 
ou=schemaModifications.ldif. Notice the different naming between cn and ou.
- On a second restart a second cn=schemaModifications.ldif was probably found 
on disk, explaining the "Already existing entry" exception.
- There was also an issue with the schema loader which is expecting any cn=xxx 
entry under ou=schema to be a starting point for a schema holder (with ATs, 
OCs, and other schema elements underneath).

As a temporary fix, since there's a discussion going on the ML about this, I 
renamed the entry 'ou=schemaModifications,ou=schema', conforming to the file 
name on disk.

All tests are passing and the server can be restart without any issue now.

> Startup failure after first startup
> -----------------------------------
>
>                 Key: DIRSERVER-1633
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1633
>             Project: Directory ApacheDS
>          Issue Type: Bug
>          Components: core
>            Reporter: Alex Karasulu
>            Assignee: Alex Karasulu
>            Priority: Blocker
>             Fix For: 2.0.0-M2
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> The http-integration module allows wars to be put into the 
> /var/lib/apacheds-${version}/webapps folder to be deployed into the 
> integrated Jetty server which provides access directly to the 
> DirectoryService without apps having to go through the network.
> Adding a war to this causes the following stack trace which prevents the 
> server from starting up. Seems to be a bug recently introduced.
> [16:24:07] ERROR [org.apache.directory.server.core.schema.SchemaPartition] - 
> ERR_90 Failed to initialize wrapped partition.
> org.apache.directory.shared.ldap.model.exception.LdapOtherException: 
> ERR_250_ENTRY_ALREADY_EXISTS cn=schemaModifications,ou=schema already exists!
>       at 
> org.apache.directory.server.core.partition.AbstractPartition.initialize(AbstractPartition.java:77)
>       at 
> org.apache.directory.server.core.schema.SchemaPartition.doInit(SchemaPartition.java:221)
>       at 
> org.apache.directory.server.core.partition.AbstractPartition.initialize(AbstractPartition.java:72)
>       at 
> org.apache.directory.server.core.DefaultDirectoryService.initialize(DefaultDirectoryService.java:1502)
>       at 
> org.apache.directory.server.core.DefaultDirectoryService.startup(DefaultDirectoryService.java:979)
>       at 
> org.apache.directory.server.ApacheDsService.initDirectoryService(ApacheDsService.java:279)
>       at 
> org.apache.directory.server.ApacheDsService.start(ApacheDsService.java:163)
>       at 
> org.apache.directory.server.ApacheDsTanukiWrapper.start(ApacheDsTanukiWrapper.java:71)
>       at 
> org.tanukisoftware.wrapper.WrapperManager$12.run(WrapperManager.java:2788)
> Caused by: 
> org.apache.directory.shared.ldap.model.exception.LdapEntryAlreadyExistsException:
>  ERR_250_ENTRY_ALREADY_EXISTS cn=schemaModifications,ou=schema already exists!
>       at 
> org.apache.directory.server.xdbm.AbstractStore.add(AbstractStore.java:800)
>       at 
> org.apache.directory.server.core.partition.ldif.LdifPartition.loadEntries(LdifPartition.java:475)
>       at 
> org.apache.directory.server.core.partition.ldif.LdifPartition.loadEntries(LdifPartition.java:493)
>       at 
> org.apache.directory.server.core.partition.ldif.LdifPartition.doInit(LdifPartition.java:168)
>       at 
> org.apache.directory.server.core.partition.AbstractPartition.initialize(AbstractPartition.java:72)
>       ... 8 more
> [16:24:07] ERROR [org.apache.directory.server.ApacheDsTanukiWrapper] - Failed 
> to start the service.
> org.apache.directory.shared.ldap.model.exception.LdapOtherException: 
> org.apache.directory.shared.ldap.model.exception.LdapOtherException: 
> ERR_250_ENTRY_ALREADY_EXISTS cn=schemaModifications,ou=schema already exists!
>       at 
> org.apache.directory.server.core.partition.AbstractPartition.initialize(AbstractPartition.java:77)
>       at 
> org.apache.directory.server.core.DefaultDirectoryService.initialize(DefaultDirectoryService.java:1502)
>       at 
> org.apache.directory.server.core.DefaultDirectoryService.startup(DefaultDirectoryService.java:979)
>       at 
> org.apache.directory.server.ApacheDsService.initDirectoryService(ApacheDsService.java:279)
>       at 
> org.apache.directory.server.ApacheDsService.start(ApacheDsService.java:163)
>       at 
> org.apache.directory.server.ApacheDsTanukiWrapper.start(ApacheDsTanukiWrapper.java:71)
>       at 
> org.tanukisoftware.wrapper.WrapperManager$12.run(WrapperManager.java:2788)
> Caused by: java.lang.RuntimeException: 
> org.apache.directory.shared.ldap.model.exception.LdapOtherException: 
> ERR_250_ENTRY_ALREADY_EXISTS cn=schemaModifications,ou=schema already exists!
>       at 
> org.apache.directory.server.core.schema.SchemaPartition.doInit(SchemaPartition.java:235)
>       at 
> org.apache.directory.server.core.partition.AbstractPartition.initialize(AbstractPartition.java:72)
>       ... 6 more
> Caused by: 
> org.apache.directory.shared.ldap.model.exception.LdapOtherException: 
> ERR_250_ENTRY_ALREADY_EXISTS cn=schemaModifications,ou=schema already exists!
>       at 
> org.apache.directory.server.core.partition.AbstractPartition.initialize(AbstractPartition.java:77)
>       at 
> org.apache.directory.server.core.schema.SchemaPartition.doInit(SchemaPartition.java:221)
>       ... 7 more
> Caused by: 
> org.apache.directory.shared.ldap.model.exception.LdapEntryAlreadyExistsException:
>  ERR_250_ENTRY_ALREADY_EXISTS cn=schemaModifications,ou=schema already exists!
>       at 
> org.apache.directory.server.xdbm.AbstractStore.add(AbstractStore.java:800)
>       at 
> org.apache.directory.server.core.partition.ldif.LdifPartition.loadEntries(LdifPartition.java:475)
>       at 
> org.apache.directory.server.core.partition.ldif.LdifPartition.loadEntries(LdifPartition.java:493)
>       at 
> org.apache.directory.server.core.partition.ldif.LdifPartition.doInit(LdifPartition.java:168)
>       at 
> org.apache.directory.server.core.partition.AbstractPartition.initialize(AbstractPartition.java:72)
>       ... 8 more

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to