[Phenomenon]
Starting multiple servers simultaneously in a distributed environment sometimes fails.
[Occurrence conditions]
It occurs when all of the following conditions are met:
・Two or more distributed configurations
・Start multiple servers at the same time
[Causes]
During the process of launching the intra-mart Accel Platform, communication occurs through servers in a distributed environment to select services.
Service selection process runs every time a server starts or stops in a distributed environment.
Depending on how process is progressing, service selection process may end up running multiple times on each server if you start multiple servers at the same time.
Simultaneous service selection process running multiple times will temporarily increase the communication load between the servers.
Server-to-server communication is done by creating threads on the back end. However, as the communication load increases, the number of threads on the back end may be insufficient and communication may not be possible.
If communication fails, the service will not start properly. As a result, the server will fail to start.
[Workaround]
You can avoid this by shifting the server start time.
[Supplementary Information]
In addition to the workaround, which is to shift the server start time, you might be able to avoid this by increasing the following settings:
・the maximum number of communication threads (max-threads) in your network settings (network-agent-config.xml)
・the maximum number of communication threads for arrival confirmation/retransmission (max-oob-threads) in your network settings (network-agent-config.xml)
Reference: https://document.intra-mart.jp/library/iap/public/configuration/im_configuration_reference/texts/im_core/network-agent-config/index.html
However, in an operation where multiple servers are started at the same time, the number described in the following document (twice the number of servers) may not be sufficient due to the configuration of the application, the number of servers, and the progress of process,
・ https://document.intra-mart.jp/library/iap/public/im_core/im_service_specification/texts/clustering/index.html#label-overview-max-thread-setting
In order to figure out the optimal number of threads, you need to increase the number of threads little by little as each event occurs, and then see what happens.
-- Target ----------------------------------------------------------------------
iAP/Accel Platform/All Updates
--------------------------------------------------------------------------------
FAQID:1281