Previously, the length of the array cpg_exec_service/cpg_exec_engine in OpenAIS and corosync differed. Consequently, OpenAIS failed if corosync ran on the same network. This update modifies the length of this array in OpenAIS. Now, OpenAIS and corosync successfully run on the same network.
Previously, the receive buffers could overflow under heavy traffic. Consequently, packets could be lost and retransmit list error messages appeared in the log files. Now, incoming messages are processed more frequently, and the retransmit list error messages no longer appear.
Previously, the OpenAIS service could, under certain circumstances, encounter a deadlock when starting or stopping the process. This update modifies the underlying source code to prevent such a deadlock. Deadlock situations no longer happen during a rapid start or stop process.
Previously, OpenAIS could, under certain circumstances, terminate unexpectedly when OpenAIS was used in a network losing packets and a large number of configuration changes occurred. This update modifies the underlying source code, and OpenAIS no longer terminates under these circumstances.
Previously, OpenAIS could, under certain circumstances, use an incorrect sort message queue when the "memb_join" message was sent during recovery. Consequently, OpenAIS could join all nodes. Now, OpenAIS uses the correct sort message queue if memb_join message is sent during recovery.
Previously, openais_response_send could, under certain circumstances, change the value of req->ics_channel_handle. Consequently, OpenAIS terminated unexpectedly when using the subscribe function of the eventing (EVT) service. This update saves the handle outside the message. OpenAIS no longer terminates if an application is using the subscribe function of the EVT service.
Previously, cman could, under certain circumstances, terminate unexpectedly on all cluster nodes and nodes were not fenced if the system clock was changed on a cluster node. Consequently, the cluster was not shut down gracefully and had to be rebooted manually. Now, the underlying code has been modified to handle significant time changes. The cman service no longer terminates and the cluster no longer fails.
Previously, the groupd daemon often exited with the "groupd: cpg_leave error retrying" error message, causing OpenAIS to become unresponsive when stopping the cman service on a cluster node shutdown. Consequently, the cluster node was not shut down correctly. Now, the underlying code has been modified to stop cman correctly. Cluster nodes can be shut down as expected.
Previously, totemip_parse used the getaddrinfo function without an associated freeaddrinfo call. Consequently, a small amount of memory leaked when calling OpenAIS. This update adds a call to freeaddrinfo. OpenAIS no longer leaks memory in totemip module.