Fix wrong debug message; add maxadmin info for actual max size of persistent pool.
This commit is contained in:
@ -2056,7 +2056,7 @@ dcb_maybe_add_persistent(DCB *dcb)
|
|||||||
{
|
{
|
||||||
LOGIF(LD, (skygw_log_write(
|
LOGIF(LD, (skygw_log_write(
|
||||||
LOGFILE_DEBUG,
|
LOGFILE_DEBUG,
|
||||||
"%lu [dcb_connect] Not adding DCB to persistent pool, user %s, "
|
"%lu [dcb_maybe_add_persistent] Not adding DCB to persistent pool, user %s, "
|
||||||
"max for pool %d, error handle called %s, hung flag %s, pool count %d.\n",
|
"max for pool %d, error handle called %s, hung flag %s, pool count %d.\n",
|
||||||
pthread_self(),
|
pthread_self(),
|
||||||
user ? user : "",
|
user ? user : "",
|
||||||
|
@ -85,6 +85,7 @@ SERVER *server;
|
|||||||
server->master_id = -1;
|
server->master_id = -1;
|
||||||
server->depth = -1;
|
server->depth = -1;
|
||||||
server->persistent = NULL;
|
server->persistent = NULL;
|
||||||
|
server->persistmax = 0;
|
||||||
spinlock_init(&server->persistlock);
|
spinlock_init(&server->persistlock);
|
||||||
|
|
||||||
spinlock_acquire(&server_spin);
|
spinlock_acquire(&server_spin);
|
||||||
@ -149,10 +150,12 @@ DCB *
|
|||||||
server_get_persistent(SERVER *server, char *user, const char *protocol)
|
server_get_persistent(SERVER *server, char *user, const char *protocol)
|
||||||
{
|
{
|
||||||
DCB *dcb, *previous = NULL;
|
DCB *dcb, *previous = NULL;
|
||||||
|
int poolsize;
|
||||||
|
|
||||||
if (server->persistent && dcb_persistent_clean_count(server->persistent, false) && server->persistent)
|
if (server->persistent && (poolsize = dcb_persistent_clean_count(server->persistent, false)) && server->persistent)
|
||||||
{
|
{
|
||||||
spinlock_acquire(&server->persistlock);
|
spinlock_acquire(&server->persistlock);
|
||||||
|
server->persistmax = MAX(server->persistmax, poolsize);
|
||||||
dcb = server->persistent;
|
dcb = server->persistent;
|
||||||
while (dcb) {
|
while (dcb) {
|
||||||
if (dcb->user
|
if (dcb->user
|
||||||
@ -277,6 +280,7 @@ printServer(SERVER *server)
|
|||||||
printf("\tTotal connections: %d\n", server->stats.n_connections);
|
printf("\tTotal connections: %d\n", server->stats.n_connections);
|
||||||
printf("\tCurrent connections: %d\n", server->stats.n_current);
|
printf("\tCurrent connections: %d\n", server->stats.n_current);
|
||||||
printf("\tPersistent connections: %d\n", server->stats.n_persistent);
|
printf("\tPersistent connections: %d\n", server->stats.n_persistent);
|
||||||
|
printf("\tPersistent actual max: %d\n", server->persistmax);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -368,7 +372,9 @@ char *stat;
|
|||||||
server->stats.n_persistent);
|
server->stats.n_persistent);
|
||||||
dcb_printf(dcb, "\tPersistent measured pool size: %d\n",
|
dcb_printf(dcb, "\tPersistent measured pool size: %d\n",
|
||||||
dcb_persistent_clean_count(server->persistent, false));
|
dcb_persistent_clean_count(server->persistent, false));
|
||||||
dcb_printf(dcb, "\tPersistent pool max size: %d\n",
|
dcb_printf(dcb, "\tPersistent max size achieved: %d\n",
|
||||||
|
server->persistmax);
|
||||||
|
dcb_printf(dcb, "\tPersistent pool size limit: %d\n",
|
||||||
server->persistpoolmax);
|
server->persistpoolmax);
|
||||||
dcb_printf(dcb, "\tPersistent max time (secs): %d\n",
|
dcb_printf(dcb, "\tPersistent max time (secs): %d\n",
|
||||||
server->persistmaxtime);
|
server->persistmaxtime);
|
||||||
@ -530,7 +536,9 @@ SERVER_PARAM *param;
|
|||||||
server->stats.n_persistent);
|
server->stats.n_persistent);
|
||||||
dcb_printf(dcb, "\tPersistent measured pool size: %d\n",
|
dcb_printf(dcb, "\tPersistent measured pool size: %d\n",
|
||||||
dcb_persistent_clean_count(server->persistent, false));
|
dcb_persistent_clean_count(server->persistent, false));
|
||||||
dcb_printf(dcb, "\tPersistent pool max size: %d\n",
|
dcb_printf(dcb, "\tPersistent actual size max: %d\n",
|
||||||
|
server->persistmax);
|
||||||
|
dcb_printf(dcb, "\tPersistent pool size limit: %d\n",
|
||||||
server->persistpoolmax);
|
server->persistpoolmax);
|
||||||
dcb_printf(dcb, "\tPersistent max time (secs): %d\n",
|
dcb_printf(dcb, "\tPersistent max time (secs): %d\n",
|
||||||
server->persistmaxtime);
|
server->persistmaxtime);
|
||||||
|
@ -104,6 +104,7 @@ typedef struct server {
|
|||||||
SPINLOCK persistlock; /**< Lock for adjusting the persistent connections list */
|
SPINLOCK persistlock; /**< Lock for adjusting the persistent connections list */
|
||||||
long persistpoolmax; /**< Maximum size of persistent connections pool */
|
long persistpoolmax; /**< Maximum size of persistent connections pool */
|
||||||
long persistmaxtime; /**< Maximum number of seconds connection can live */
|
long persistmaxtime; /**< Maximum number of seconds connection can live */
|
||||||
|
long persistmax; /**< Maximum pool size actually achieved since startup */
|
||||||
#if defined(SS_DEBUG)
|
#if defined(SS_DEBUG)
|
||||||
skygw_chk_t server_chk_tail;
|
skygw_chk_t server_chk_tail;
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user