Chris Browne cbbrowne at lists.slony.info
Fri Feb 2 14:21:38 PST 2007
Update of /home/cvsd/slony1/slony1-engine/src/slon
In directory main:/tmp/cvs-serv30541

Modified Files:
	remote_worker.c 
Log Message:
Bug #1623 - slon crashes if action list is Very Large because the
huge, verbose action list blows up vsnprintf().

Changed debugging log levels for the "action list compression"-related
logging statements so that by default the gory detail is listed only
at levels 4/5.  Thus, you have to want to shoot yourself in the foot
in order to do so...


Index: remote_worker.c
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/src/slon/remote_worker.c,v
retrieving revision 1.131
retrieving revision 1.132
diff -C2 -d -r1.131 -r1.132
*** remote_worker.c	12 Dec 2006 20:13:01 -0000	1.131
--- remote_worker.c	2 Feb 2007 22:21:36 -0000	1.132
***************
*** 4346,4352 ****
  								 ssy_maxxid);
  			actionlist_len = strlen(ssy_action_list);
! 			slon_log(SLON_DEBUG2, " ssy_action_list value: %s length: %d\n",
! 					 ssy_action_list, actionlist_len);
! 
  			if (actionlist_len == 0)
  			{
--- 4346,4353 ----
  								 ssy_maxxid);
  			actionlist_len = strlen(ssy_action_list);
! 			slon_log(SLON_DEBUG4, " ssy_action_list value: %s\n",
! 					 ssy_action_list);
! 			slon_log(SLON_DEBUG2, " ssy_action_list length: %d\n",
! 					 actionlist_len);
  			if (actionlist_len == 0)
  			{
***************
*** 5855,5859 ****
  	slon_mkquery(action_subquery, " ");
  
! 	slon_log(SLON_DEBUG3, "compress_actionseq(list,subquery) Action list: %s\n", ssy_actionlist);
  	while (state != DONE)
  	{
--- 5856,5860 ----
  	slon_mkquery(action_subquery, " ");
  
! 	slon_log(SLON_DEBUG4, "compress_actionseq(list,subquery) Action list: %s\n", ssy_actionlist);
  	while (state != DONE)
  	{
***************
*** 5989,5993 ****
  				{
  					/* Finished another number... Fold it into the ranges... */
! 					slon_log(SLON_DEBUG4, "Finished number: %d\n", curr_number);
  
  					/*
--- 5990,5994 ----
  				{
  					/* Finished another number... Fold it into the ranges... */
! 					slon_log(SLON_DEBUG5, "Finished number: %d\n", curr_number);
  
  					/*
***************
*** 6040,6044 ****
  						if (curr_max == curr_min)
  						{
! 							slon_log(SLON_DEBUG4, "simple entry - %d\n", curr_max);
  							slon_appendquery(action_subquery,
  										" log_actionseq <> '%d' ", curr_max);
--- 6041,6045 ----
  						if (curr_max == curr_min)
  						{
! 							slon_log(SLON_DEBUG5, "simple entry - %d\n", curr_max);
  							slon_appendquery(action_subquery,
  										" log_actionseq <> '%d' ", curr_max);
***************
*** 6046,6050 ****
  						else
  						{
! 							slon_log(SLON_DEBUG4, "between entry - %d %d\n",
  									 curr_min, curr_max);
  							slon_appendquery(action_subquery,
--- 6047,6051 ----
  						else
  						{
! 							slon_log(SLON_DEBUG5, "between entry - %d %d\n",
  									 curr_min, curr_max);
  							slon_appendquery(action_subquery,
***************
*** 6075,6079 ****
  		if (curr_max == curr_min)
  		{
! 			slon_log(SLON_DEBUG4, "simple entry - %d\n", curr_max);
  			slon_appendquery(action_subquery,
  							 " log_actionseq <> '%d' ", curr_max);
--- 6076,6080 ----
  		if (curr_max == curr_min)
  		{
! 			slon_log(SLON_DEBUG5, "simple entry - %d\n", curr_max);
  			slon_appendquery(action_subquery,
  							 " log_actionseq <> '%d' ", curr_max);
***************
*** 6081,6085 ****
  		else
  		{
! 			slon_log(SLON_DEBUG4, "between entry - %d %d\n",
  					 curr_min, curr_max);
  			slon_appendquery(action_subquery,
--- 6082,6086 ----
  		else
  		{
! 			slon_log(SLON_DEBUG5, "between entry - %d %d\n",
  					 curr_min, curr_max);
  			slon_appendquery(action_subquery,
***************
*** 6090,6093 ****
  
  	}
! 	slon_log(SLON_DEBUG3, " compressed actionseq subquery... %s\n", dstring_data(action_subquery));
  }
--- 6091,6094 ----
  
  	}
! 	slon_log(SLON_DEBUG4, " compressed actionseq subquery... %s\n", dstring_data(action_subquery));
  }




More information about the Slony1-commit mailing list