Cannot create more than 4 Domain Participants

3 posts / 0 new
Last post
Offline
Last seen: 13 years 7 months ago
Joined: 01/10/2011
Posts: 2
Cannot create more than 4 Domain Participants

Hello,

 

I am using the call create_participant_with_profile to create domain participants but after creating 4, I get an error when attempting to create a 5th.  Is there a configuration value in NDDS_QOS_PROFILES that controls max domain participants? 

 

I can change the code around and it is always the 5th participant creation that fails.

 

thanks!

 

Mike

 

1/12/2011

 

To Add a little more detail....

 

I tried solutions in this order:

 

1.       Created an environment variable  NDDS_DISCOVERY_PEERS  with the value 8@localhost.  I also tried the same thing replacing localhost with the actual name of my machine, but this didn’t help.

2.       I tried adding 8@loaclhost to the discovery peers section in NDDS_QOS_PROFILES.xml ( not sure if this format is valid or not) but again I got the RETCODE_ERR when creating the 5th Domain Participant.

fercs77's picture
Offline
Last seen: 2 months 3 weeks ago
Joined: 01/15/2011
Posts: 30

Hi Mike,

 

Do you get any error messages when the participant creation fails with RETCODE_ERROR? What RTI DDS version and language are you using?

 

If you get something like this:

 

[D0056|CREATE Participant|D0056|ENABLE]COMMENDBeWriterService_new:!create worker-specific object

[D0056|CREATE Participant|D0056|ENABLE]PRESPsService_enable:!create bew (best effort writer)

[D0056|CREATE Participant|D0056|ENABLE]DDS_DomainParticipantService_enable:!enable publish/subscribe service

[D0056|CREATE Participant|D0056|ENABLE]DDS_DomainParticipant_enableI:!enable service

[D0056|CREATE Participant]DDS_DomainParticipantFactory_create_participant:ERROR: Failed to auto-enable entity

 

You will have to increase max_objects_per_thread under DDS_DomainParticipantFactoryQos.resource_limits.max_objects_per_thread. 

 

If you do not get any error messages, can you try to increase the DDS verbosity level to warnings?

 

In C++, you can do that with the following code:

 

    NDDSConfigLogger::get_instance()->

        set_verbosity(NDDS_CONFIG_LOG_VERBOSITY_WARNING);

 

Also, can you post the QoS profile changes that you made?

 

- Fernando

Offline
Last seen: 13 years 7 months ago
Joined: 01/10/2011
Posts: 2

Thank you for your help Fernando,

 

The problem was the need to increase the max_objects_per_thread.

 

Mike