Commit Graph

501 Commits

Author SHA1 Message Date
b86d3f3dfd Holding error log's block buffer registration until all logs were written caused deadlock if block buffers were full. Now buffer registrations don't overlap. 2013-09-02 10:30:50 +03:00
ce0085a078 Clean up. 2013-09-01 00:37:49 +03:00
757a043386 Replaced oinlined protocol creation with call to mysql_protocol_init. Clean up. 2013-09-01 00:36:31 +03:00
9df2040a8a Removed unused variables, changed call to mysql_protocol_init to reflect new prototype. 2013-09-01 00:32:57 +03:00
88ffcaa3d4 Removed 'extern' keyword from function declaration in headers. Functions are 'extern' by default.
Changed mysql_protocol_init prototype and implementation to return MySQLProtocol pointer instead of boolean.
2013-09-01 00:30:46 +03:00
9bf0f58526 introduce mysql_protocol_init. 2013-08-31 23:54:35 +03:00
3dff91e80f In gw_create_backend_connection, replaced inlined protocol init with call to mysql_protocol_init (mysql_common.c). Replaced fprintfs with logging commands. 2013-08-31 23:51:54 +03:00
c23168ed71 gw_do_connect_to_backend returned zero in case where connect failed with errno EINPROGRESS. Should have returned 1 to indicate that connection will be established asynchronously.
In the same case, checking for error by using getsockopt should be done when select returns, not after connect (man 2 connect).
2013-08-31 23:45:40 +03:00
9d6b13c288 Replaced macros with enumereted type. 2013-08-31 12:04:02 +03:00
a445b6ff37 Fixes for NULL test for function returns such as malloc() - as reported by Coverity 2013-08-29 13:34:21 +02:00
03725cabe3 Fixed compile issue in dcb.h 2013-08-29 13:17:19 +02:00
94a8ad68d3 Checked for bug #178. Added error logs to suitabl places. 2013-08-29 09:50:16 +03:00
527df6c7f3 Merge, mostly. 2013-08-28 23:26:09 +03:00
48165bf5cd Removed unused protocol_mutex and references to it. 2013-08-28 23:25:27 +03:00
134c33776e Added consistency check fields, and switched macros to enumerated types. 2013-08-28 23:23:05 +03:00
50a3cfdf49 Commented out some dead code. 2013-08-28 23:17:18 +03:00
ae9fce8591 Added write and read lock to DCB to protect concurrent threads fro executing EPOLLIN and EPOLLOUT events on same descriptor, respectively. Added consistency checks and trace logging. 2013-08-28 23:09:37 +03:00
f2f119f692 Removed some dead code 2013-08-28 23:08:51 +03:00
9a8e271417 client->data is copied to session->data already in session_alloc to ensure that authentication information is set when background connection is started to establish in concurrent thread. 2013-08-28 23:06:09 +03:00
786468fc5d Added status checks, removed some dead code, changed macros to enumerated types, renamed variables to reflect better what they mean. 2013-08-28 22:59:53 +03:00
8c8475740a Switched to booleans defined in stdbool.h 2013-08-28 22:49:27 +03:00
34b26ad85f Changed enum-type boolean to whta is defined in stdbool.h, and in practise replaced TRUEs and FALSEs with true, and false, respectively. 2013-08-28 22:47:14 +03:00
ff109c6319 dcb->state set wheere missing or changed 2013-08-27 10:52:43 +02:00
d0d68a69ca Added DCB_STATE_XXX in EPOLLIN/EPOLLOUT handlers and in accept() 2013-08-27 10:08:03 +02:00
49036894f5 In gw_connect_to_backend, first create socket, and establish socket connection, then in the end, dcb is added to epoll set. 2013-08-24 00:18:46 +03:00
df5f2f29b2 Removed undefined function declaration. Added trace and error log. 2013-08-23 23:25:12 +03:00
e345b23bcf Merge 2013-08-23 22:47:16 +03:00
6f0ccd7b42 Added static simple_mutex_t epoll_wait_mutex, which is acquired and released in poll_waitevents. 2013-08-23 22:45:06 +03:00
0a182913a1 in gw_MySQLAccept moved authentication packet send before adding new dcb to epoll set. 2013-08-23 22:39:42 +03:00
0612dae890 Added error log printing. 2013-08-23 22:31:08 +03:00
17975a1252 Fixed indentation. 2013-08-23 22:29:31 +03:00
c9ff06e0f5 Increased maximum path length from 180 to 255, and replaced sprintf with snprintf to prevent buffer overflow. 2013-08-23 22:27:40 +03:00
52c30c3e58 Removed dcb->state set after func.close() 2013-08-23 14:17:00 +02:00
68a5a389ee Removed SS_DEBUG macros around necessary include directives. 2013-08-23 13:42:10 +03:00
481096ccef Added trace log to newSession and to closeSession. 2013-08-22 10:46:14 +03:00
0401290021 Added spinlock ses_lock to struct SESSION to ensure that for each session closeSession is called only once.
closeSession is called from mysql_backend.c:gw_read_backend_event, and from dcb.c:dcb_close.

This is part of Bug #163.
2013-08-22 10:42:18 +03:00
4138281183 setvbuf was called before testing whether file creation succeed. That caused server to fail if MAXSCALE_HOME was exceptionally long. 2013-08-22 00:32:49 +03:00
b18d89300d Bug 179 2013-08-22 00:26:24 +03:00
8dfd5de923 Fix merge 2013-08-22 00:01:44 +03:00
76f31b6b08 Merge. 2013-08-21 23:34:56 +03:00
3cd5d7162a ifndef $(MARIADB_SRC_PATH) is not effective so changed to format ifndef MARIADB_SRC_PATH. 2013-08-21 23:32:28 +03:00
73ffa5a648 dcb->data is allocated before poll_add_dcb in httpd_accept()
This will prevent dcb->data to be NULL with threads
2013-08-20 11:37:57 +02:00
21dabda848 Removed redundant log writings. 2013-08-20 10:49:35 +03:00
76de8f3758 log manager now spreads log writings 'down' so that LOGFILE_ERROR logs are duplicated in LOGFILE_MESSAGE, and in LOGFILE_TRACE, and LOGFILE_MESSAGE logs are duplicated in LOGFILE_TRACE. 2013-08-20 10:43:54 +03:00
2ad0b12d79 Check dcb->status and set new state with writeqlock on. 2013-08-19 19:41:47 +03:00
c5ed473ab7 Check return value of ioctl in dcb_read and act accordingly. 2013-08-19 19:40:51 +03:00
ea79b38e4f Check return value of dcb_read and if it failed, don't access head of linked list. 2013-08-19 19:39:47 +03:00
d6432b1750 Merge 2013-08-19 17:10:33 +03:00
45ea459e20 Check the return value of ioctl in dcb_read. 2013-08-19 17:09:33 +03:00
0021eddfee Bug 154 - Added warning if options are set for the read/write splitter and updated example config file. 2013-08-19 15:53:08 +02:00