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.
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
Thank you for your help Fernando,
The problem was the need to increase the max_objects_per_thread.
Mike