log_manager.cc

Added new argument '-s' which takes additional argument composed of list of logfile identifiers. Logfiles listed with '-s' will be written on main memory instead of disk. In practice, the log file in question will be written in /dev/shm but corresponding symlink is added to log directory. In the case of name conflicts with log files and links, a differentiating sequence number is included in hte name of the file. This, however, is done only when existing file is not writable or is of different type (symlink <> file). 
	Added new logfile LOGFILE_DEBUG whose contents will be largerly what was included up to date in trace log. 

	Disabled feature which spreads writes to log files to others because of bug (#338) in the way block buffers are managed.

	Changed log manager parameters to match with the current implementation. List of arguments:
                "-h - help\n"
                "-a <debug prefix>   ............(\"skygw_debug\")\n"
                "-b <debug suffix>   ............(\".log\")\n"
                "-c <trace prefix>   ............(\"skygw_trace\")\n"
                "-d <trace suffix>   ............(\".log\")\n"
                "-e <message prefix> ............(\"skygw_msg\")\n"
                "-f <message suffix> ............(\".log\")\n"
                "-g <error prefix>   ............(\"skygw_err\")\n"
                "-i <error suffix>   ............(\".log\")\n"
                "-j <log path>       ............(\"/tmp\")\n"
                "-s <shmem log file ids> ........(no default)\n";

dcb.c
	dcb_add_to_zombieslist, add dcb to the front of zombies list instead of inserting to the end of it.

gateway.c
	Renamed shutdown_gateway to shutdown_server (Bug #131)
	Call skygw_logmanager_init so that trace and debug logs are written to shared memory.

poll.c 
dcb.h
	Removed some dead code and references to unneeded mutexes.

debugcmd.c
	Added enable/disable log command for debug log.

skygw_utils.cc
	skygw_file_init now takes optional symlink name as a second argument. Symlink is created to point to the file being created.
This commit is contained in:
vraatikka
2013-11-08 12:56:39 +02:00
parent 594f1c294f
commit 9ba7a0d955
15 changed files with 973 additions and 442 deletions

View File

@ -253,7 +253,7 @@ static int gw_read_backend_event(DCB *dcb) {
backend_protocol->state = MYSQL_IDLE;
skygw_log_write_flush(
LOGFILE_TRACE,
LOGFILE_DEBUG,
"%lu [gw_read_backend_event] "
"gw_receive_backend_auth succeed. "
"dcb %p fd %d, user %s.",
@ -265,7 +265,7 @@ static int gw_read_backend_event(DCB *dcb) {
default:
ss_dassert(receive_rc == 0);
skygw_log_write_flush(
LOGFILE_TRACE,
LOGFILE_DEBUG,
"%lu [gw_read_backend_event] "
"gw_receive_backend_auth read "
"successfully "
@ -436,7 +436,7 @@ static int gw_write_backend_event(DCB *dcb) {
"Writing to backend failed due invalid Maxscale "
"state.");
skygw_log_write(
LOGFILE_TRACE,
LOGFILE_DEBUG,
"%lu [gw_write_backend_event] Write to backend "
"dcb %p fd %d "
"failed due invalid state %s.",
@ -454,7 +454,7 @@ static int gw_write_backend_event(DCB *dcb) {
rc = 0;
} else {
skygw_log_write(
LOGFILE_TRACE,
LOGFILE_DEBUG,
"%lu [gw_write_backend_event] Dcb %p in state %s "
"but there's nothing to write either.",
pthread_self(),
@ -474,7 +474,7 @@ static int gw_write_backend_event(DCB *dcb) {
rc = 1;
return_rc:
skygw_log_write(
LOGFILE_TRACE,
LOGFILE_DEBUG,
"%lu [gw_write_backend_event] "
"wrote to dcb %p fd %d, return %d",
pthread_self(),
@ -508,7 +508,7 @@ gw_MySQLWrite_backend(DCB *dcb, GWBUF *queue)
gwbuf_consume(queue, GWBUF_LENGTH(queue));
skygw_log_write(
LOGFILE_TRACE,
LOGFILE_DEBUG,
"%lu [gw_MySQLWrite_backend] Write to backend failed. "
"Backend dcb %p fd %d is %s.",
pthread_self(),
@ -602,7 +602,7 @@ static int gw_error_backend_event(DCB *dcb) {
* rsession should never be NULL here.
*/
skygw_log_write_flush(
LOGFILE_TRACE,
LOGFILE_DEBUG,
"%lu [gw_error_backend_event] "
"Call closeSession for backend "
"session.",
@ -641,7 +641,7 @@ static int gw_create_backend_connection(
if (protocol == NULL) {
skygw_log_write(
LOGFILE_TRACE,
LOGFILE_DEBUG,
"%lu [gw_create_backend_connection] Failed to create "
"protocol object for backend connection.",
pthread_self());
@ -664,7 +664,7 @@ static int gw_create_backend_connection(
protocol->fd = fd;
protocol->state = MYSQL_CONNECTED;
skygw_log_write(
LOGFILE_TRACE,
LOGFILE_DEBUG,
"%lu [gw_create_backend_connection] Established "
"connection to %s:%i, protocol fd %d client "
"fd %d.",
@ -680,7 +680,7 @@ static int gw_create_backend_connection(
protocol->state = MYSQL_PENDING_CONNECT;
protocol->fd = fd;
skygw_log_write(
LOGFILE_TRACE,
LOGFILE_DEBUG,
"%lu [gw_create_backend_connection] Connection "
"pending to %s:%i, protocol fd %d client fd %d.",
pthread_self(),
@ -694,7 +694,7 @@ static int gw_create_backend_connection(
ss_dassert(fd == -1);
ss_dassert(protocol->state == MYSQL_ALLOC);
skygw_log_write(
LOGFILE_TRACE,
LOGFILE_DEBUG,
"%lu [gw_create_backend_connection] Connection "
"failed to %s:%i, protocol fd %d client fd %d.",
pthread_self(),