test_smart_shutdown_bug_v1.patch

application/octet-stream

Filename: test_smart_shutdown_bug_v1.patch
Type: application/octet-stream
Part: 0
Message: Re: pending patch: Re: HS/SR and smart shutdown

Patch

Same data as JSON: GET /api/v1/attachments/:id/patch the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes. API reference →
Format: context
Series: patch v1
File+
src/backend/replication/walsender.c 5 0
src/backend/utils/misc/guc.c 10 0
src/include/replication/walsender.h 1 0
*** a/src/backend/replication/walsender.c
--- b/src/backend/replication/walsender.c
***************
*** 66,71 **** bool		am_walsender = false;		/* Am I a walsender process ? */
--- 66,72 ----
  /* User-settable parameters for walsender */
  int			max_wal_senders = 0;	/* the maximum number of concurrent walsenders */
  int			WalSndDelay = 200;	/* max sleep time between some actions */
+ int			WalSndSleep = 200;
  
  #define NAPTIME_PER_CYCLE 100000L	/* max sleep time between cycles (100ms) */
  
***************
*** 208,213 **** WalSndHandshake(void)
--- 209,218 ----
  						char		sysid[32];
  						char		tli[11];
  
+ 						elog(LOG, "start sleeping");
+ 						pg_usleep(WalSndSleep * 1000L);
+ 						elog(LOG, "stop sleeping");
+ 
  						/*
  						 * Reply with a result set with one row, two columns.
  						 * First col is system ID, and second if timeline ID
*** a/src/backend/utils/misc/guc.c
--- b/src/backend/utils/misc/guc.c
***************
*** 1729,1734 **** static struct config_int ConfigureNamesInt[] =
--- 1729,1744 ----
  	},
  
  	{
+ 		{"wal_sender_sleep", PGC_SIGHUP, DEVELOPER_OPTIONS,
+ 			gettext_noop(""),
+ 			NULL,
+ 			GUC_UNIT_MS | GUC_NOT_IN_SAMPLE
+ 		},
+ 		&WalSndSleep,
+ 		200, 1, 600000, NULL, NULL
+ 	},
+ 
+ 	{
  		{"commit_delay", PGC_USERSET, WAL_SETTINGS,
  			gettext_noop("Sets the delay in microseconds between transaction commit and "
  						 "flushing WAL to disk."),
*** a/src/include/replication/walsender.h
--- b/src/include/replication/walsender.h
***************
*** 39,44 **** extern bool am_walsender;
--- 39,45 ----
  
  /* user-settable parameters */
  extern int	WalSndDelay;
+ extern int	WalSndSleep;
  
  extern int	WalSenderMain(void);
  extern void WalSndSignals(void);