server-tools/instance-manager/listener.cc:
every new connection should have sufficient thread stack to
handle all IM commands
server-tools/instance-manager/manager.cc:
change stack size of listener and guardian threads
server-tools/instance-manager/priv.cc:
Add a new function, which is a wrapper around pthread_create to increase the stack size
server-tools/instance-manager/priv.h:
declare new function
server-tools/instance-manager/listener.cc:
reinitialize timer used in select(), as on linux it is modified
to reflect amout of time not slept (e.g. set ot zero)
Intel compiler.
client/mysqltest.c:
Fixed a warning from using reference to a memory area,
which is outside an object. This is just a minor
clean-up, not a bug fix.
server-tools/instance-manager/buffer.cc:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/buffer.h:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/command.cc:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/command.h:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/guardian.cc:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/guardian.h:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/instance.cc:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/instance.h:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/instance_map.cc:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/instance_map.h:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/instance_options.cc:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/instance_options.h:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/listener.cc:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/listener.h:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/mysql_connection.cc:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/mysql_connection.h:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/options.cc:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/options.h:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/parse_output.cc:
Removed unused goto.
server-tools/instance-manager/thread_registry.cc:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/thread_registry.h:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/user_map.cc:
Fixed pragma warning for those compilers that do
not support it.
server-tools/instance-manager/user_map.h:
Fixed pragma warning for those compilers that do
not support it.
sql/field.cc:
Fixed a warning about overflow.
sql/item.h:
Fixed implicit function declaration warning.
sql/item_sum.cc:
Fixed implicit function declaration warning.
server-tools/instance-manager/IMService.cpp:
* setting username and password to NULL so that the
IM runs at LocalSystem (this should be changed soon)
* implemented stop service by raising a sigterm
* implemented start service by loading options and calling manager()
server-tools/instance-manager/IMService.h:
changed the sig for Run()
server-tools/instance-manager/WindowsService.cpp:
default debugging to false
changed the sig of RuN()
server-tools/instance-manager/WindowsService.h:
change the sig of run()
server-tools/instance-manager/instance.cc:
* remove the inclusion of process.h
* concat all args into a single buffer to pass to CreateProcess
server-tools/instance-manager/instance_options.cc:
quoting the binary to handle paths with quotes
server-tools/instance-manager/listener.cc:
use a timeval for select so that our select will only run
for 100 msec before we check to see if we are shutting down
server-tools/instance-manager/mysqlmanager.cc:
if we are given the stand alone option, then run the manager as
standalone
server-tools/instance-manager/options.cc:
Added stand alone command line arg
server-tools/instance-manager/options.h:
Added stand alone command line arg
Rename "port.h" to "portability.h" to avoid conflict with system header file name,
and include the file in "Makefile.am".
server-tools/instance-manager/Makefile.am:
Ensure that the (recently added) header "portability.h" (renamed from "port.h") gets included in the source packages.
server-tools/instance-manager/guardian.cc:
Rename "port.h" to "portability.h" to avoid conflict with system header file name.
server-tools/instance-manager/instance.cc:
Rename "port.h" to "portability.h" to avoid conflict with system header file name.
server-tools/instance-manager/instance_options.h:
Rename "port.h" to "portability.h" to avoid conflict with system header file name.
server-tools/instance-manager/listener.cc:
Rename "port.h" to "portability.h" to avoid conflict with system header file name.
server-tools/instance-manager/log.cc:
Rename "port.h" to "portability.h" to avoid conflict with system header file name.
server-tools/instance-manager/mysqlmanager.vcproj:
Rename "port.h" to "portability.h" to avoid conflict with system header file name.
server-tools/instance-manager/options.cc:
Rename "port.h" to "portability.h" to avoid conflict with system header file name.
server-tools/instance-manager/parse_output.cc:
Rename "port.h" to "portability.h" to avoid conflict with system header file name.
server-tools/instance-manager/portability.h:
Adapt the protective CPP symbol to the changed file name.
server-tools/instance-manager/priv.cc:
Rename "port.h" to "portability.h" to avoid conflict with system header file name.
server-tools/instance-manager/priv.h:
Rename "port.h" to "portability.h" to avoid conflict with system header file name.
server-tools/instance-manager/commands.cc:
fix memory leak
server-tools/instance-manager/guardian.cc:
don't check pthread_mutex_lock/unlock return value, as it never returns error if properly
used (no self deadlocks) and initialized
server-tools/instance-manager/guardian.h:
prototype fixed
server-tools/instance-manager/instance_map.cc:
don't check pthread_mutex_lock/unlock status, as it never returns error if
properly used (no self deadlocks) and initialized
server-tools/instance-manager/instance_map.h:
prototype fixed
server-tools/instance-manager/listener.cc:
initialize highest-numbered descriptor to 0 for select before setting it with max(n, sockets[i]),
ifdef unix-specific code
server-tools/instance-manager/manager.cc:
remove commented stuff
server-tools/instance-manager/options.cc:
fix crash in load_defaults, which happened on all Unix systems due to
const char *Options::config_file= NULL. Check return value for GetModuleFileName.
Get rid of obscure default_config_file[FN_REFLEN]= "/etc/my.cnf"; which was never used
server-tools/instance-manager/IMService.cpp:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/WindowsService.cpp:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/WindowsService.h:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/commands.cc:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/instance.cc:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/instance_map.cc:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/listener.cc:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/manager.cc:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/options.cc:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/user_map.cc:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/commands.cc:
type cleanups for compiling on Windows
now using Options::config_file for the location of the single
my.cnf file we are using
server-tools/instance-manager/guardian.cc:
pthread_mutex_lock and unlock do not return a value on Windows
so we return 0 in all cases
server-tools/instance-manager/instance.cc:
big changes here.
Had to implement Windows versions of launch_and_wait and kill()
server-tools/instance-manager/instance.h:
added some function defs
server-tools/instance-manager/instance_map.cc:
pthread_mutex_lock and unlock do not return a value on Windows
Also, now using only the file named as Options::config_file
server-tools/instance-manager/instance_options.h:
added reference to port.h
server-tools/instance-manager/listener.cc:
reworked and simplified the socket handling code.
Added windows versions of the code that sets the sockets to be
non-blocking and non-inheritable
server-tools/instance-manager/listener.h:
change Options to always be a struct. Really surprised GCC was
letting this go. Options was declared to be struct in some places
and class in other places.
server-tools/instance-manager/log.cc:
added reference to port.h
server-tools/instance-manager/manager.cc:
moved all the signal code inside some #ifndef __WIN__ blocks
server-tools/instance-manager/manager.h:
change Options to always be a struct. Really surprised GCC was
letting this go. Options was declared to be struct in some places
and class in other places.
server-tools/instance-manager/mysqlmanager.cc:
added in the Windows service code.
server-tools/instance-manager/options.cc:
Added in the windows options for running as a service and the code
for loading settings only from a single file
server-tools/instance-manager/options.h:
added definitions for the new Windows service vars and routines
server-tools/instance-manager/parse_output.cc:
added reference to port.h
server-tools/instance-manager/priv.cc:
added reference to port.h
server-tools/instance-manager/priv.h:
linuxthreads should not be visible on Windows
server-tools/instance-manager/thread_registry.cc:
more __WIN__ blocking
server-tools/instance-manager/user_map.cc:
fixed passwd file code to handle files with \r\n line endings
server-tools/instance-manager/IMService.cpp:
New BitKeeper file ``server-tools/instance-manager/IMService.cpp''
server-tools/instance-manager/IMService.h:
New BitKeeper file ``server-tools/instance-manager/IMService.h''
server-tools/instance-manager/WindowsService.cpp:
New BitKeeper file ``server-tools/instance-manager/WindowsService.cpp''
server-tools/instance-manager/WindowsService.h:
New BitKeeper file ``server-tools/instance-manager/WindowsService.h''
server-tools/instance-manager/mysqlmanager.vcproj:
New BitKeeper file ``server-tools/instance-manager/mysqlmanager.vcproj''
server-tools/instance-manager/port.h:
New BitKeeper file ``server-tools/instance-manager/port.h''
server-tools/instance-manager/commands.cc:
remove commented out code
server-tools/instance-manager/instance.cc:
use flag instead of int variable
server-tools/instance-manager/instance.h:
no more default values
server-tools/instance-manager/instance_map.cc:
use flag to be more verbose
server-tools/instance-manager/instance_options.cc:
don't read options when looking for an option, use strmake instead of strchr
server-tools/instance-manager/instance_options.h:
fix comment, use flag instead of int value
server-tools/instance-manager/listener.cc:
don't like c++ comments
server-tools/instance-manager/log.cc:
safety: strmake adds trailing zero to the string
server-tools/instance-manager/parse_output.cc:
use strmake instead of strncpy, renamed varianles to make code more readable
server-tools/instance-manager/parse_output.h:
get rid of default value
include/my_sys.h:
added prototype for the defaults correction function
libmysql/Makefile.shared:
my_chsize added to libmysql to let my_correct_defaults_file be used from libmysql
mysys/default.c:
New defaults function added we use it to correct defaults file. Currently the function doesn't lock defaults
file. This is because of the linking and backwards-compatibility issues. This needs to be fixed later.
mysys/my_chsize.c:
comment added
server-tools/instance-manager/buffer.cc:
cleanup
server-tools/instance-manager/commands.cc:
refactoring: removed do_command method from most of the classes
server-tools/instance-manager/commands.h:
cleanup
server-tools/instance-manager/guardian.cc:
cleanup
server-tools/instance-manager/instance.cc:
cleanup
server-tools/instance-manager/instance_map.cc:
cleanup
server-tools/instance-manager/instance_options.cc:
cleanup
server-tools/instance-manager/instance_options.h:
cleanup
server-tools/instance-manager/listener.cc:
cleanup
server-tools/instance-manager/log.cc:
cleanup
server-tools/instance-manager/manager.cc:
cleanup
server-tools/instance-manager/messages.cc:
new errors added
server-tools/instance-manager/mysql_connection.cc:
cleanup
server-tools/instance-manager/mysql_manager_error.h:
new error codes added
server-tools/instance-manager/mysqlmanager.cc:
clenup
server-tools/instance-manager/options.cc:
cleanup
server-tools/instance-manager/parse.cc:
removed unused function
server-tools/instance-manager/parse.h:
removed prototype
server-tools/instance-manager/protocol.cc:
cleanup
server-tools/instance-manager/protocol.h:
added enum to be used in protocol.cc instead of the constants
server-tools/instance-manager/buffer.cc:
coding style fixes
server-tools/instance-manager/buffer.h:
wrong constructor initialisation fixed
server-tools/instance-manager/commands.cc:
cleanup
server-tools/instance-manager/guardian.cc:
cleanup + added lock/unlock routines
server-tools/instance-manager/guardian.h:
GUARD_NODE moved to the header
server-tools/instance-manager/instance.cc:
Fix for the linuxthreads/POSIX signal handling problem (see comments in the code)
server-tools/instance-manager/instance.h:
condition variable renamed and commented
server-tools/instance-manager/instance_map.cc:
We need to refresh guardian during flush_instances
server-tools/instance-manager/instance_map.h:
removed obsolete function declaration
server-tools/instance-manager/instance_options.cc:
added caching of computed values
server-tools/instance-manager/instance_options.h:
added vars to cache some option values
server-tools/instance-manager/listener.cc:
check whether we are running on the linux threads
server-tools/instance-manager/manager.cc:
lock guardian before init()
server-tools/instance-manager/parse_output.cc:
cleanup
server-tools/instance-manager/priv.cc:
added global variables to detect whether we are running on the LinuxThreads
server-tools/instance-manager/priv.h:
added global variables to detect whether we are running on the LinuxThreads
BitKeeper/deleted/.del-client_func.c~3476a8a85cbd3c29:
Delete: server-tools/instance-manager/client_func.c
server-tools/instance-manager/Makefile.am:
clien_func removed
server-tools/instance-manager/buffer.cc:
several methods added
server-tools/instance-manager/buffer.h:
Some error-handling fixes.
server-tools/instance-manager/commands.cc:
check for Buffer errors
server-tools/instance-manager/guardian.cc:
Guardian rewiriten. Not it works in a finite state machine-way.
server-tools/instance-manager/guardian.h:
Appropriate (to .cc) changes in the header + some comment added
server-tools/instance-manager/instance.cc:
added proxy thread to monitor instance. Two kinds of stop() now -- stop() and kill_instance which
only sends a signal
server-tools/instance-manager/instance.h:
appropriate changes
server-tools/instance-manager/instance_map.cc:
cleanup
server-tools/instance-manager/instance_map.h:
cleanup
server-tools/instance-manager/instance_options.cc:
Caching of the pid-file-name is added. some comments added
server-tools/instance-manager/instance_options.h:
cleanup
server-tools/instance-manager/listener.cc:
listener my_thread_init added (though it doesn't use any mysys functions). Just in case
server-tools/instance-manager/manager.cc:
SIGCHLD handler removed. now instance monitoring is implemented through proxy threads. This is to work nicely
with LinuxThreads
server-tools/instance-manager/options.cc:
added option to create a password file entry (this was implemented by Sergei Vojtovich)
server-tools/instance-manager/parse.cc:
inline function get_word moved to the header
server-tools/instance-manager/parse.h:
get_word moved here to use form parse_output
server-tools/instance-manager/parse_output.cc:
get_word() clone removed. now looking through the output linewise
server-tools/instance-manager/protocol.cc:
Buffer error chech added
server-tools/instance-manager/user_map.cc:
typo fixed
server-tools/instance-manager/Makefile.am:
increased default_monitoring interval
server-tools/instance-manager/guardian.cc:
some fixes for proper shutdown
server-tools/instance-manager/guardian.h:
removed init() prototype, as it was never used
server-tools/instance-manager/instance.cc:
cleanup() function removed
server-tools/instance-manager/instance.h:
cleanup() prototype removed
server-tools/instance-manager/instance_map.cc:
Instance_map::cleanup() removed, as instances have nothing to clean up
server-tools/instance-manager/instance_map.h:
Instance_map::cleanup() prototype removed
server-tools/instance-manager/instance_options.cc:
added print_argv() function for debug purposes
server-tools/instance-manager/instance_options.h:
declared print_argv()
server-tools/instance-manager/listener.cc:
some fixed in listener for proper shutdown
server-tools/instance-manager/log.cc:
cleanup
server-tools/instance-manager/log.h:
cleanup
server-tools/instance-manager/manager.cc:
some comments added
server-tools/instance-manager/mysqlmanager.cc:
we need to free memory in the very end
server-tools/instance-manager/options.cc:
fixed default options handling (as they were not working properly), added new method to cleanup Options
server-tools/instance-manager/options.h:
cleanup() declared
server-tools/instance-manager/thread_registry.cc:
cleanup
server-tools/instance-manager/user_map.cc:
missing password file is not a critical error anymore, as IM should be able to work as mysqld_safe only
server-tools/instance-manager/Makefile.am:
Makefile.am cleanup
server-tools/instance-manager/commands.cc:
cleanup
server-tools/instance-manager/instance_map.cc:
fix the problem caused thread deadlock (as load ends up in the find()
call which now also locks an instance map mutex)
server-tools/instance-manager/listener.cc:
portability fix
server-tools/instance-manager/manager.cc:
Ignore SIGPIPE
server-tools/instance-manager/mysqlmanager.cc:
cleanup
server-tools/instance-manager/options.cc:
options renamed
server-tools/instance-manager/Makefile.am:
Removed entry for deleted file
server-tools/instance-manager/buffer.cc:
cleanup
server-tools/instance-manager/commands.cc:
cleanup, added missing error handling
server-tools/instance-manager/instance.cc:
added waitpid in instance_start, added few checks
server-tools/instance-manager/instance_map.cc:
error handling for hash_init added
server-tools/instance-manager/instance_map.h:
Extended constructor
server-tools/instance-manager/instance_options.cc:
made add_option less bulky
server-tools/instance-manager/instance_options.h:
-
server-tools/instance-manager/listener.cc:
added missing close, fixed typo
server-tools/instance-manager/manager.cc:
moved some Instance_map initialization to costructor
server-tools/instance-manager/protocol.cc:
error handling added
server-tools/instance-manager/protocol.h:
store_to_string fixed to return a value
server-tools/instance-manager/user_map.cc:
error handling for hash_init added
server-tools/instance-manager/user_map.h:
added init() for User map (becouse of the hash_init check)
server-tools/instance-manager/buffer.cc:
simplified buffer interface
server-tools/instance-manager/buffer.h:
simplified buffer interface
server-tools/instance-manager/command.cc:
Command class now uses instance_map directly
server-tools/instance-manager/command.h:
Made Command to use instance_map directly (not through the factory,
which is not needed here in fact)
server-tools/instance-manager/commands.cc:
Moved mysql client/server protocol-specific functions to the commands
server-tools/instance-manager/commands.h:
Added a comment for Syntax_error command, fixed classes to use instance
map instead of the factory
server-tools/instance-manager/factory.cc:
Fixed factory to give appropriate class to the commands
server-tools/instance-manager/guardian.cc:
Fixed guardian to delay start of new instances monitoring.
Moved guardian initialization to the class from Instance map.
server-tools/instance-manager/guardian.h:
interface fixed
server-tools/instance-manager/instance.cc:
added some loging
server-tools/instance-manager/instance_map.cc:
All non-instance map specific functions moved from the class. Added
iterator for instance_map
server-tools/instance-manager/instance_map.h:
All non-instance map related functions moved from the class. Added
iterator for instance_map.
server-tools/instance-manager/listener.cc:
Added FD_CLOEXEC flag to sockets, as we don't want instances to inherit
them after exec.
server-tools/instance-manager/manager.cc:
use guardian method moved from the instance map
server-tools/instance-manager/mysql_connection.cc:
cleanup
server-tools/instance-manager/protocol.cc:
fix according to the changes in the Buffer class
tree
server-tools/instance-manager/Makefile.am:
Fixed IM linking to avoid using both mysys and libmysql as the define the
same symbols and therefore conflict
server-tools/instance-manager/listener.cc:
Added ability to listen network ports
server-tools/instance-manager/listener.h:
Various additions to the Listener_thread_args
server-tools/instance-manager/log.cc:
merge
server-tools/instance-manager/log.h:
merge
server-tools/instance-manager/manager.cc:
Fixes and additions to enable guardian functionality
server-tools/instance-manager/manager.h:
Changed manager() signature
server-tools/instance-manager/mysqlmanager.cc:
Various fixes
server-tools/instance-manager/options.cc:
Added handling of default values for new options in the Options struct. (such
as default_user, default_password, monitoring_interval e.t.c)
server-tools/instance-manager/options.h:
Added new options to the Options struct
sql/net_serv.cc:
Added MYSQL_INSTANCE_MANAGER defines to enable alarm handling in the IM
server-tools/instance-manager/buffer.cc:
Simple implementation of variable-length buffer
server-tools/instance-manager/command.cc:
Abstract command. All commands are derived from Command class
server-tools/instance-manager/commands.h:
Interfaces for all commands we have
server-tools/instance-manager/factory.cc:
Commands factory. This class hides command instantiation. The idea is to
handle various protocols this way. (different commands for different
protocols
server-tools/instance-manager/guardian.cc:
Guardian thread implementation (monitor and restart instances in case of a
failure
server-tools/instance-manager/guardian.h:
Guardian_thread and Guardian_thread_args class interface. The
Guardian_thread is responsible for monitoring and restarting instances
server-tools/instance-manager/instance.cc:
Instance class contains methods and data to manage a single instance
server-tools/instance-manager/instance.h:
This file contains class an instance class interface. The class is
responsible for starting/stopping an instance
server-tools/instance-manager/instance_map.cc:
The instance repository. This class is also responsible for initialization
of Instance class objects.
server-tools/instance-manager/instance_options.cc:
The Instance_options class contains all methods to get and handle options
of an instance
server-tools/instance-manager/mysql_connection.cc:
The class responsible for handling MySQL client/server protocol connections
server-tools/instance-manager/mysql_manager_error.h:
The list of Instance Manger-specific errors
server-tools/instance-manager/parse.cc:
Simple query parser
server-tools/instance-manager/parse.h:
Parser interface
server-tools/instance-manager/protocol.cc:
Here implemented functions used to handle mysql client/server protocol
server-tools/instance-manager/protocol.h:
Interface for MySQL client/server protocol
server-tools/instance-manager/thread_registry.cc:
Thread registry stores information about every thread. It's main function is
to provide graceful shutdown for all threads.
server-tools/instance-manager/user_map.h:
User map contains hash with user names and passwords
safe shutdown and signal deliverence to all threads in
the manager process
server-tools/instance-manager/Makefile.am:
added listener.{h,cc} (listener thread)
and thread_repository.{h,cc} -
class to handle threads && signals
server-tools/instance-manager/log.h:
minor fixes
server-tools/instance-manager/manager.cc:
unnecessary error checking was removed
added implementation for signal thread
server-tools/instance-manager/manager.h:
header guards're added
server-tools/instance-manager/mysqlmanager.cc:
unnecessary error checking was removed
server-tools/instance-manager/options.cc:
minor fixes
server-tools/instance-manager/options.h:
removed wrong declaration