You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Andreas Siegel (JIRA)" <ji...@apache.org> on 2015/11/11 08:33:11 UTC

[jira] [Commented] (DIRSERVER-1954) Second startup of an embedded server fails (after an ungraceful shutdown of the first startup)

    [ https://issues.apache.org/jira/browse/DIRSERVER-1954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15000067#comment-15000067 ] 

Andreas Siegel commented on DIRSERVER-1954:
-------------------------------------------

Since it might help some of you:

I recently discovered that the problem described here, seems to be related to how *Windows* is killing processes: Obviously, they are immediately killed without executing shutdown or termination hooks.

Thus, *it is not an issue on Unix*. In particular, I tested it on a Mac running OS X El Capitan and was not able to reproduce the issue: Shutdown hooks are executed and Apache DS doesn't throw the error on second startup.

> Second startup of an embedded server fails (after an ungraceful shutdown of the first startup)
> ----------------------------------------------------------------------------------------------
>
>                 Key: DIRSERVER-1954
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1954
>             Project: Directory ApacheDS
>          Issue Type: Bug
>    Affects Versions: 2.0.0-M14
>            Reporter: Bouke Nijhuis
>             Fix For: 2.0.0-M16
>
>         Attachments: EmbeddedADSVerTrunk.java, EmbeddedADSVerTrunkV2.java, after_first_run.png, after_second_run.png, console.png, example.zip
>
>
> I have created an embedded server based on the code from:
> http://svn.apache.org/repos/asf/directory/sandbox/kayyagari/embedded-sample-trunk/src/main/java/org/apache/directory/seserver/EmbeddedADSVerTrunk.java
> I slimmed it down (removed code for creating partitions/indices) so it only starts a DirectoryService and LdapServer. I will attach the source code of the class.
> The first run goes as expected. Everything runs smooth:
> log4j:WARN No appenders could be found for logger (org.apache.directory.server.core.api.CacheService).
> log4j:WARN Please initialize the log4j system properly.
> log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
> The server is running.
> Then I stop the process by using the square red button in the console window of Eclipse. I will add a screenshot. I think this will kill the JVM, but I am not sure.
> The second run always fails with the following error:
> log4j:WARN No appenders could be found for logger (org.apache.directory.server.core.api.CacheService).
> log4j:WARN Please initialize the log4j system properly.
> log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
> schema partition already exists, skipping schema extraction
> org.apache.directory.api.ldap.model.exception.LdapEntryAlreadyExistsException: ERR_250_ENTRY_ALREADY_EXISTS ou=system already exists!
> 	at org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.add(AbstractBTreePartition.java:615)
> 	at org.apache.directory.server.core.DefaultDirectoryService.initializeSystemPartition(DefaultDirectoryService.java:1770)
> 	at org.apache.directory.server.core.DefaultDirectoryService.initialize(DefaultDirectoryService.java:1827)
> 	at org.apache.directory.server.core.DefaultDirectoryService.startup(DefaultDirectoryService.java:1253)
> 	at server.EmbeddedADSVerTrunk.initDirectoryService(EmbeddedADSVerTrunk.java:164)
> 	at server.EmbeddedADSVerTrunk.<init>(EmbeddedADSVerTrunk.java:178)
> 	at server.EmbeddedADSVerTrunk.main(EmbeddedADSVerTrunk.java:215)
> The third run will be smooth again.So will the fourth, fifth, etc.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)