ID=DIRECTORY SERVICE (warning) Failed to invoke [receiveChan

Posted by jwissmann on 17-Apr-2009 05:02

We need to create / delete JMS queues during runtime of a Sonic7.6 container. Regardless whether I create queues in the sonic management console or by the JMX Mbean, I get the same behavior, that I need to restart the broker / container to get the queue, althought there are no exceptions.

Suspicious is the warn-message in the console:

ID=DIRECTORY SERVICE (warning) Failed to invoke [receiveChangedElements] on Domain1.DomainManager:ID=AGENT

The same worked with Sonic6.1 without problems.

What can we do about it? What is the reason for this message?

Thanks for any hint that helps.

How to reproduce this?

1. I installed Sonic7.6 on ubuntu linux with Typical options (no cluster, ...). That worked without problem.

2. I start the container with ./startcontainer.sh and the management console with ./startmc.sh.

3. I create a new queue with the management console.

   The queue appears in the Configure-tab, but not in the Manage-tab.

   At the same time, the console of the container prints

ID=DIRECTORY SERVICE (warning) Failed to invoke [receiveChangedElements] on Domain1.DomainManager:ID=AGENT

  each time, a configuration changes (delete queue, add queue, ...).

4. the queue is available for messaging and visible in the Manage-tab after a restart of the container.

startcontainer.sh output:

CompilerOracle: exclude progress/message/broker/AgentQueueDispatcher$DispatchThread.threadMain
[09/04/17 11:10:46] (info) Open container boot file "/home/Sonic7.6/MQ7.6/container.xml"
[09/04/17 11:10:46] (info) Open Directory Service boot file "/home/Sonic7.6/MQ7.6/ds.xml"
[09/04/17 11:10:46] (info) Fetching the resources of container "Domain1.DomainManager"
[09/04/17 11:10:46] (info) Cache opened in directory "/home/Sonic7.6/MQ7.6/Domain1.DomainManager.cache"
[09/04/17 11:10:47] (info) CompilerOracle: exclude progress/message/broker/AgentQueueDispatcher$DispatchThread.threadMain

[09/04/17 11:10:47] (info) The container working directory is "/home/Sonic7.6/MQ7.6"
CompilerOracle: exclude progress/message/broker/AgentQueueDispatcher$DispatchThread.threadMain
[09/04/17 11:10:49] (config)

    Sonic Management
    Release 7.6.0 Build Number 351
    Copyright (c) 1999-2008 Progress Software Corporation.
    All rights reserved.

    Local host: roman-desktop (Linux - 2.6.24-23-generic)

    Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
    Sun Microsystems Inc.
    Java HotSpot(TM) Server VM (build 11.0-b16, mixed mode)

    Configured Arguments : -Xms32m -Xmx256m
    Configured Properties: <none>

[09/04/17 11:10:49] (info) "Domain1.DomainManager" starting...
[09/04/17 11:10:59] (warning) Management connect failure: java.net.ConnectException: Connection refused: tcp://roman-desktop:2506
[09/04/17 11:10:59] (info) ...connect failed, retrying...
[09/04/17 11:10:59] (info) Loaded ID=AGENT
[09/04/17 11:11:00] (info) Loaded ID=DIRECTORY SERVICE
[09/04/17 11:11:02] (info) Loaded ID=AGENT MANAGER
[09/04/17 11:11:03] (info) Loaded ID=MgmtBroker
[09/04/17 11:11:03] ID=MgmtBroker (config)

    SonicMQ Continuous Availability Edition
    Release 7.6 Build Number 357 Protocol P30
    Copyright (c) 1999-2008 Progress Software Corporation.
    All Rights Reserved.

    Broker "MgmtBroker". Routing Node "MgmtBroker".
    There is no limit on the number of concurrent connections.
    Security is disabled. Interbroker is disabled.
    Dynamic Routing is enabled. HTTP Direct is enabled.

[09/04/17 11:11:04] ID=MgmtBroker (info) Registering node "sonic.http" of "$RNN.sonic$http.$HTTP.undefinedroutingurl.9999" for routing node reverse lookup
[09/04/17 11:11:05] ID=MgmtBroker (info) Starting recovery...
[09/04/17 11:11:05] ID=MgmtBroker (info) Recovery complete.
[09/04/17 11:11:05] ID=MgmtBroker (info) Restoring queues ...
[09/04/17 11:11:05] ID=MgmtBroker (info) Starting queue "SonicMQ.deadMessage" - Local Non-clustered Shared 1536 16384
[09/04/17 11:11:05] ID=MgmtBroker (info) Starting queue "SonicMQ.routingQueue" - Local Non-clustered Shared 1536 1024
[09/04/17 11:11:06] ID=MgmtBroker (info) TCP_ACCEPTOR: accepting connections on tcp://roman-desktop:2506
[09/04/17 11:11:06] (info) ...startup complete
[09/04/17 11:11:06] ID=MgmtBroker (info) SonicMQ Broker started
[09/04/17 11:11:06] (info) Management connection (re)established (Socket[addr=roman-desktop/127.0.1.1,port=2506,localport=40402])
[09/04/17 11:12:57] ID=DIRECTORY SERVICE (warning) Failed to invoke [receiveChangedElements] on Domain1.DomainManager:ID=AGENT

All Replies

Posted by Admin on 17-Apr-2009 10:17

Look up Solution ID S10376 in the Sonic knowledge base. It details the code for creating cluster queues programmatically. I've used it in 7.6 successfully without having to restart/reload any broker.

Raffi

Posted by jwissmann on 21-Apr-2009 10:38

The answer was correct, but not the problem here.

After a few more tests, we found our problem:

The problem exists only if Sonic 7.6 is run under jdk1.6. If we use jdk1.5_16 it works correctly!

So make sure you start sonic with jdk1.5 (configuration in file MQ7.6/bin/setenv)

Thanks for answering!

This thread is closed