directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Carlo Accorsi (JIRA)" <j...@apache.org>
Subject [jira] [Created] (DIRSERVER-1915) Graceful Shutdown Extended Request does not appear to work.
Date Mon, 11 Nov 2013 13:41:17 GMT
Carlo Accorsi created DIRSERVER-1915:
----------------------------------------

             Summary: Graceful Shutdown Extended Request does not appear to work. 
                 Key: DIRSERVER-1915
                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1915
             Project: Directory ApacheDS
          Issue Type: Bug
          Components: core
    Affects Versions: 2.0.0-M16
         Environment: Win / Java 32
            Reporter: Carlo Accorsi



After executing the code below, it's expected that server will shutdown gracefully, stopping
all the threads. 

                LdapConnection  ldapConnection = … //admin connection
                GracefulShutdownRequest req = new GracefulShutdownRequestImpl();
                req.setDelay(0);
                req.setTimeOffline(0);
                
                ExtendedResponse res = ldapConnection.extended(req);
                ResultCodeEnum resultCode = res.getLdapResult().getResultCode();
                switch (resultCode)
                {
                                case SUCCESS :
                                                LOG.info("Server shutting down"); 
                                                break;
                                default :
                                                LOG.error ("Server shutdown failed : {} ",
resultCode.toString());
                }


When the shutdown request is sent, the code continues past
 org.apache.mina.filter.executor.UnorderedThreadPoolExecutor:476
ran=true;  

The content of task object is this:

[(0x00000001: nio socket, server, null => /127.0.0.1:10389)] MESSAGE_RECEIVED: MessageType
: EXTENDED_REQUEST Message ID : 2
    Extended request
        Request name : '1.3.6.1.4.1.18060.0.1.3'
org.apache.directory.api.ldap.extras.extended.GracefulShutdownRequestImpl@2a5eb8cf

After the shutdown code has executed and Result Code SUCCESS is returned, the following threads
are still running. 

org.apache.directory.server.UberjarMain at localhost:61153	
	Daemon Thread [apacheds] (Running)	
	Daemon Thread [changePwdReplayCache.data] (Running)	
	Daemon Thread [kdcReplayCache.data] (Running)	
	Daemon Thread [ou=system.data] (Running)	
	Daemon Thread [groupCache.data] (Running)	
	Daemon Thread [Thread-1] (Running)	
	Daemon Thread [Thread-2] (Running)	
	Thread [NioSocketAcceptor-2] (Running)	
	Thread [pool-3-thread-1] (Running)	
	Thread [DestroyJavaVM] (Running)	
	Thread [pool-2-thread-1] (Running)	
	Thread [pool-7-thread-1] (Running)

If the shutdown code is called a second time, this exception occurs. 

org.apache.directory.ldap.client.api.exception.InvalidConnectionException: Cannot connect
on the server: Connection refused: no further information
	at org.apache.directory.ldap.client.api.LdapNetworkConnection.connect(LdapNetworkConnection.java:560)
	at org.apache.directory.ldap.client.api.LdapNetworkConnection.bindAsync(LdapNetworkConnection.java:1156)
	at org.apache.directory.ldap.client.api.LdapNetworkConnection.bind(LdapNetworkConnection.java:1076)
	at test.Shutdown.createConnection(Shutdown.java:93)
	at test.Shutdown.shutdown(Shutdown.java:32)
	at test.Shutdown.main(Shutdown.java:23)
Caused by: java.net.ConnectException: Connection refused: no further information
	at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
	at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:599)
	at org.apache.mina.transport.socket.nio.NioSocketConnector.finishConnect(NioSocketConnector.java:221)
	at org.apache.mina.transport.socket.nio.NioSocketConnector.finishConnect(NioSocketConnector.java:46)
	at org.apache.mina.core.polling.AbstractPollingIoConnector.processConnections(AbstractPollingIoConnector.java:442)
	at org.apache.mina.core.polling.AbstractPollingIoConnector.access$700(AbstractPollingIoConnector.java:64)
	at org.apache.mina.core.polling.AbstractPollingIoConnector$Connector.run(AbstractPollingIoConnector.java:510)
	at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)






--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message