rticommunity / rticonnextdds-connector

RTI Connector for Connext DDS is a lightweight technology that enables DDS data to be accessed with Javascript (Node.js), Python, and Lua.
Other
56 stars 33 forks source link

how to set the max_objects_per_thread in nodejs connector? (Depends on CORE-8126) #59

Closed shixukai closed 6 years ago

shixukai commented 6 years ago

Or how to set max_objects_per_thread someway in xml config.

here is the log

[CREATE Participant]REDAWorkerFactory_createObjectPerWorker:!create objectPerWorker: worker factory's max. storage count reached (you may need to increase resource_limits.max_objects_per_thread value) [CREATE Participant]REDAWorkerFactory_createObjectPerWorker:!create objectPerWorker: worker factory's max. storage count reached (you may need to increase resource_limits.max_objects_per_thread value)

But I can't find a way the increase the max_objects_per_thread. I'd be very grateful if someone can help me.

gianpiero commented 6 years ago

Hello,

Usually you can change QoS in the XML file. Unfortunately there is a bug in the DDS library (CORE-8126) that connector uses that prevent an application to set max_objects_per_thread using XML.

Somebody else run into this error and come up with a workaround. You can see the full conversation here: https://community.rti.com/forum-topic/solved-how-change-maxobjectsperthread-rticonnextddsconnector

Best, Gianpiero

shixukai commented 6 years ago

Thanks for your help! But after I build the addon from the gist rep and run it success, the problem is still here ! And I can add only 8 participants.

[CREATE Participant]REDAWorkerFactory_createObjectPerWorker:!create objectPerWorker: worker factory's max. storage count reached (you may need to increase resource_limits.max_objects_per_thread value)
[CREATE Participant]REDAWorkerFactory_createObjectPerWorker:!create objectPerWorker: worker factory's max. storage count reached (you may need to increase resource_limits.max_objects_per_thread value)
[CREATE Participant]PRESPsService_new:!create worker-specific object
[CREATE Participant]DDS_DomainParticipantService_initialize:!create publish/subscribe service (participant_index collision?)
[CREATE Participant]DDS_DomainParticipant_createI:!initialize publish/subscribe service
[CREATE Participant]DDS_DomainParticipantDatabase_prefinalize:!database shutdown timeout
[CREATE Participant]RTIEventActiveDatabase_delete:!precondition
[CREATE Participant]DDS_DomainParticipantDatabase_finalize:!delete database
[CREATE Participant]RTIOsapiSemaphore_delete:!delete mutex
[CREATE Participant]DDS_DomainParticipantFactory_create_participant_disabledI:!create participant

I check the max_objects_per_thread is changed success:

2__npm_run_start_server_dev__ssh_

Is there any other reasons may cause the problem? I try it on Ubuntu 16.04. By the way, I use node.js connector.

gianpiero commented 6 years ago

Hello,

mmh this is weird! I suspect that is not an issue related to connector. Can you try to load the same XML using the C api? Do you get the same error?

Best, Gianpiero

gianpiero commented 6 years ago

Hello,

I am closing this thread because a solution to a similar issue is posted above and I could not reproduce the new one