Fix wrong debug message; add maxadmin info for actual max size of persistent pool.

This commit is contained in:
counterpoint 2015-07-08 16:03:50 +01:00
parent ba417ef633
commit ce879b65c2
3 changed files with 13 additions and 4 deletions

View File

@ -2056,7 +2056,7 @@ dcb_maybe_add_persistent(DCB *dcb)
{
LOGIF(LD, (skygw_log_write(
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",
pthread_self(),
user ? user : "",

View File

@ -85,6 +85,7 @@ SERVER *server;
server->master_id = -1;
server->depth = -1;
server->persistent = NULL;
server->persistmax = 0;
spinlock_init(&server->persistlock);
spinlock_acquire(&server_spin);
@ -149,10 +150,12 @@ DCB *
server_get_persistent(SERVER *server, char *user, const char *protocol)
{
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);
server->persistmax = MAX(server->persistmax, poolsize);
dcb = server->persistent;
while (dcb) {
if (dcb->user
@ -277,6 +280,7 @@ printServer(SERVER *server)
printf("\tTotal connections: %d\n", server->stats.n_connections);
printf("\tCurrent connections: %d\n", server->stats.n_current);
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);
dcb_printf(dcb, "\tPersistent measured pool size: %d\n",
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);
dcb_printf(dcb, "\tPersistent max time (secs): %d\n",
server->persistmaxtime);
@ -530,7 +536,9 @@ SERVER_PARAM *param;
server->stats.n_persistent);
dcb_printf(dcb, "\tPersistent measured pool size: %d\n",
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);
dcb_printf(dcb, "\tPersistent max time (secs): %d\n",
server->persistmaxtime);

View File

@ -104,6 +104,7 @@ typedef struct server {
SPINLOCK persistlock; /**< Lock for adjusting the persistent connections list */
long persistpoolmax; /**< Maximum size of persistent connections pool */
long persistmaxtime; /**< Maximum number of seconds connection can live */
long persistmax; /**< Maximum pool size actually achieved since startup */
#if defined(SS_DEBUG)
skygw_chk_t server_chk_tail;
#endif