소스 검색

defect 1172
checkpoint service asserts under load during configuration changes


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@962 fd59a12c-fef9-0310-b244-a6a79926bd2f

Steven Dake 20 년 전
부모
커밋
b8589392f1
1개의 변경된 파일7개의 추가작업 그리고 6개의 파일을 삭제
  1. 7 6
      exec/ckpt.c

+ 7 - 6
exec/ckpt.c

@@ -862,6 +862,7 @@ static int ckpt_recovery_process (void)
 	struct saCkptCheckpointSection *ckptCheckpointSection;
 	SaSizeT origSectionSize;  
 	SaSizeT newSectionSize;
+	int res;
 
 	if (recovery_abort) { /*Abort was called.*/
 		goto recovery_exit_clean;
@@ -953,8 +954,8 @@ static int ckpt_recovery_process (void)
 					 * Check to see if we can queue the new message and if you can
 					 * then mcast the message else break and create callback.
 					 */
-					if (totempg_groups_send_ok_joined (openais_group_handle, iovecs, 2)) {
-						assert (totempg_groups_mcast_joined (openais_group_handle, iovecs, 2, TOTEMPG_AGREED) == 0);
+					res = totempg_groups_mcast_joined (openais_group_handle, iovecs, 2, TOTEMPG_AGREED);
+					if (res == 0) {
 						log_printf (LOG_LEVEL_DEBUG, "CKPT: Multicasted Sync State Message.\n");
 					}			
 					else {
@@ -1029,11 +1030,11 @@ static int ckpt_recovery_process (void)
 					 * Check to see if we can queue the new message and if you can
 					 * then mcast the message else break and create callback.
 					 */
-					if (totempg_groups_send_ok_joined (openais_group_handle, iovecs, 2)) {
-						assert (totempg_groups_mcast_joined (openais_group_handle, iovecs, 3, TOTEMPG_AGREED) == 0);
+
+					res = totempg_groups_mcast_joined (openais_group_handle, iovecs, 3, TOTEMPG_AGREED);
+					if (res == 0) {
 						log_printf (LOG_LEVEL_DEBUG, "CKPT: Multicasted Sync Section Message.\n");
-					}			
-					else {
+					} else {
 						log_printf (LOG_LEVEL_DEBUG, "CKPT: Sync Section Message Outbound Queue full need to Wait for Callback.\n");
 						return (1);
 					}