Commit graph

35 commits

Author SHA1 Message Date
unknown
c8c29f2dc4 fix warnings
server-tools/instance-manager/buffer.cc:
  perform initialization of static consts in .cc file to respect VC6
server-tools/instance-manager/buffer.h:
  fix compiler warning
server-tools/instance-manager/commands.cc:
  fix compiler warning
server-tools/instance-manager/user_map.cc:
  fix compiler warning
2005-09-20 03:14:07 +04:00
unknown
26b6b1b2a2 Cleanup the instance manager code.
BitKeeper/deleted/.del-factory.h~c1679505d3a6dd53:
  Delete: server-tools/instance-manager/factory.h
BitKeeper/deleted/.del-factory.cc~6836cccd4cd35b4d:
  Delete: server-tools/instance-manager/factory.cc
server-tools/instance-manager/Makefile.am:
  - remove Commands_factory: it'll be needed when we add support
  for NNTP/HTTP connections, currently it only adds unnecessary
  complexity.
server-tools/instance-manager/commands.cc:
  - fix coding style: no else after return; fix comments, make
  one place a bit faster.
server-tools/instance-manager/guardian.cc:
  - fix coding style and comments.
  - we must register the current thread in the thread registry
    before entering pthread_cond_timedwait, because at shutdown
    the thread registry will try to kick out of wait all blocked 
    threads. Unregistered threads are not awakened by the registry. 
    This fixes the failinig assert in Thread_registry::~Thread_registry
    at shutdown, when shutdown is requested and there is an
    instance monitored by Guardian.
server-tools/instance-manager/guardian.h:
  - fix coding style: enums must start with enum_
server-tools/instance-manager/instance.h:
  - move comment to the variable it comments
server-tools/instance-manager/instance_map.cc:
  - cleanup
server-tools/instance-manager/instance_options.cc:
  - cleanup; no else after return (fix coding style).
server-tools/instance-manager/manager.cc:
  - fix alignment; make some code easier to read.
server-tools/instance-manager/mysql_connection.cc:
  - remove Commands_factory
server-tools/instance-manager/options.cc:
  - fix a possible crash when the instance manager is started with
  --no-defaults --defaults-file=~/.my.cnf: if we return
  without cloning saved_argv by calling load_defaults, Options::cleanup
  will crash on attempt to free_defaults(saved_argv);
server-tools/instance-manager/parse.cc:
  - get rid of Commands_factory
server-tools/instance-manager/parse.h:
  - get rid of Commands_factory
server-tools/instance-manager/parse_output.cc:
  - in parse_output_and_get_value return error also if the specified
    pattern was not found, or the command failed to execute.
server-tools/instance-manager/portability.h:
  - fix coding style (// comments are allowed only at ends of lines)
server-tools/instance-manager/thread_registry.cc:
  - implement Thread_registry::cond_timedwait
server-tools/instance-manager/thread_registry.h:
  - implement Thread_registry::cond_timedwait; remove
    unused out parameter from Thread_registry::cond_wait.
server-tools/instance-manager/user_map.cc:
  - safety: newline can take 2 bytes.
2005-08-29 23:29:35 +04:00
unknown
85834c3b03 IM port fixes: fix crash on startup, add more error checking, get rid of unnecessary code.
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
2005-08-05 14:35:30 +04:00
unknown
9a2ea3700b Merge rburnett@bk-internal.mysql.com:/home/bk/mysql-5.0
into  fedora.(none):/home/reggie/bk/im_patch


server-tools/instance-manager/manager.cc:
  Auto merged
server-tools/instance-manager/mysqlmanager.cc:
  Auto merged
server-tools/instance-manager/options.h:
  Auto merged
server-tools/instance-manager/commands.cc:
  final merge of IM port code for Windows
server-tools/instance-manager/instance_map.cc:
  final merge of IM port code for Windows
server-tools/instance-manager/options.cc:
  final merge of IM port code for Windows
2005-08-04 09:33:44 -05:00
unknown
55b4cb009e alot of formatting changes that came out of JimW's review
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
2005-08-03 16:20:27 -05:00
unknown
a38f5cd5cd Post-review fixes for WL#2713 "Change IM behaviour so, that it only reads and alters one config file only."
server-tools/instance-manager/commands.cc:
  get rid of single_defaults_file_option and use Options::config_file instead
server-tools/instance-manager/commands.h:
  get rid of single_defaults_file_option and use Options::config_file instead
server-tools/instance-manager/instance_map.cc:
  get rid of single_defaults_file_option and use Options::config_file instead
server-tools/instance-manager/instance_map.h:
  get rid of single_defaults_file_option and use Options::config_file instead
server-tools/instance-manager/manager.cc:
  get rid of single_defaults_file_option and use Options::config_file instead
server-tools/instance-manager/options.cc:
  Disable --defaults-extra-file and --no-defaults options for the IM as they have no sence. 
  Don't use print_defaults as it prints out wrong "first option" information for IM. Use only
  Options::config_file to process options
server-tools/instance-manager/options.h:
  get rid of single_defaults_file_option and use Options::config_file instead
2005-07-21 22:40:53 +04:00
unknown
34fa3be594 WL #2713 Change IM behaviour so, that it only reads and alters one config file only.
Implemented on brian's request.


server-tools/instance-manager/Makefile.am:
  define default config file
server-tools/instance-manager/commands.cc:
  Use specified or default file to edit with SET commands instead of hardcoded file
server-tools/instance-manager/commands.h:
  add member to SET commands
server-tools/instance-manager/instance_map.cc:
  rename first_option -> single_defaults_option, made logging a bit more verbose
server-tools/instance-manager/instance_map.h:
  rename first_option -> single_defaults_file + made it public
server-tools/instance-manager/manager.cc:
  rename first_option -> single_defaults_file
server-tools/instance-manager/mysqlmanager.cc:
  goto generic error label instead of simple return
server-tools/instance-manager/options.cc:
  skip --defaults-extra file and give a message if it was specified, made IM
  to read one config file only
server-tools/instance-manager/options.h:
  added new members to the option structure
2005-07-21 14:21:23 +04:00
unknown
875b0e6322 initial import of Windows port of IM.
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''
2005-07-20 10:55:40 -05:00
unknown
7f5d221393 rename: store_to_string -> store_to_protocol_packet 2005-06-15 01:06:25 +04:00
unknown
561ea7c0fb Fix for Bug #11200 show instance options returns garbage instead of log options
server-tools/instance-manager/commands.cc:
  Send an empty string in the option_value column, if no option value is given
2005-06-14 17:13:42 +04:00
unknown
4a43eccac6 post-review fixes
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
2005-06-07 15:47:02 +04:00
unknown
26f03563f7 fix IM to display version string in "show instance status" (Bug #10229)
server-tools/instance-manager/buffer.h:
  fix for the valgring error
server-tools/instance-manager/commands.cc:
  sent the version string
server-tools/instance-manager/instance_options.cc:
  compute and store the version string
server-tools/instance-manager/instance_options.h:
  add a version string option, and added caching of the mysqld_path length
server-tools/instance-manager/options.cc:
  fix valgrind error
server-tools/instance-manager/parse_output.cc:
  Add an option to parse_output_and_get_value in order to be
  able to get the rest of the string after the found word in
  the output of popen() (E.g. a version string).
server-tools/instance-manager/parse_output.h:
  prototype changed
2005-06-01 04:40:22 +04:00
unknown
e05de07e0d Merge mysql.com:/home/jimw/my/mysql-5.0-build
into mysql.com:/home/jimw/my/mysql-5.0-clean


mysys/default.c:
  Auto merged
server-tools/instance-manager/commands.cc:
  Auto merged
2005-05-18 17:13:31 -07:00
unknown
48ce8aebd5 New file default_modify.c. Fixed a typo on mysqld.cc
Changed name of function my_correct_default_file to
modify_defaults_file. Improved function and fixed some
bugs in it.


include/my_sys.h:
  Changed function name.
include/mysql_com.h:
  New function, modify_defaults_file()
libmysql/Makefile.shared:
  New file, default_modify.lo
libmysql/libmysql.def:
  New function, modify_defaults_file() and fixed version number.
libmysqld/libmysqld.def:
  New function, modify_defaults_file()
mysys/Makefile.am:
  New file, default_modify.c
mysys/default.c:
  Removed function from default.c. New, corresponding one is in default_modify.c,
  name is modify_defaults_file.
server-tools/instance-manager/commands.cc:
  Changed function name.
sql/mysqld.cc:
  Fixed typo.
2005-05-18 20:10:17 +03:00
unknown
6ca52fcc95 fix comments
server-tools/instance-manager/commands.cc:
  fix column name
2005-05-18 15:28:38 +04:00
unknown
d8c83c5f98 commands.cc, parse.h, parse.cc, instance_options.cc:
Prefix enum symbols LOG_* with IM_, not to clash with system headers


server-tools/instance-manager/instance_options.cc:
  Prefix enum symbols LOG_* with IM_, not to clash with system headers
server-tools/instance-manager/parse.cc:
  Prefix enum symbols LOG_* with IM_, not to clash with system headers
server-tools/instance-manager/parse.h:
  Prefix enum symbols LOG_* with IM_, not to clash with system headers
server-tools/instance-manager/commands.cc:
  Prefix enum symbols LOG_* with IM_, not to clash with system headers
2005-05-18 12:34:38 +02:00
unknown
6b4dbcb4db post-review fixes
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
2005-05-16 01:54:02 +04:00
unknown
1ad379af8d merge 2005-04-21 01:27:03 +04:00
unknown
1e03f61002 Fix for bug #9808
server-tools/instance-manager/commands.cc:
  check pointer for null before using it
2005-04-11 17:14:40 +04:00
unknown
76164b89d1 WL#2246 "IM: Add ability to change instance options, add server logs handling" ported to the
current version of the IM


server-tools/instance-manager/commands.cc:
  Log and set options commands added
server-tools/instance-manager/commands.h:
  Log and set options commands added
server-tools/instance-manager/factory.cc:
  Log and set options factory entries added
server-tools/instance-manager/factory.h:
  prototypes added
server-tools/instance-manager/instance_options.cc:
  fill_log_options() added
server-tools/instance-manager/instance_options.h:
  log processing options and funcctions added
server-tools/instance-manager/messages.cc:
  new error messages added (log and option processing-related)
server-tools/instance-manager/mysql_connection.cc:
  minor fixes
server-tools/instance-manager/mysql_manager_error.h:
  new error codes added
server-tools/instance-manager/parse.cc:
  parser fixed to recognize new commands. function to parse command-line options added
server-tools/instance-manager/parse.h:
  header fixed in line with .cc changes
server-tools/instance-manager/parse_output.cc:
  cleanup
server-tools/instance-manager/parse_output.h:
  header guards added
server-tools/instance-manager/protocol.cc:
  Protocol support extended to provide messages in ok packet
server-tools/instance-manager/protocol.h:
  protocol support extended: ok packet could contain messages
2005-04-09 14:28:39 +04:00
unknown
ddfdd6aa3b Fix for AIX compilation failure: sacred knowledge of my_global.h nature (it should be
included before any other include) was hidden from me.


server-tools/instance-manager/commands.cc:
  Fix for AIX compilation failure & cleanup
server-tools/instance-manager/commands.h:
  Fix for AIX compilation failure & cleanup
server-tools/instance-manager/factory.cc:
  Fix for AIX compilation failure & cleanup
server-tools/instance-manager/guardian.cc:
  Fix for AIX compilation failure & cleanup
server-tools/instance-manager/guardian.h:
  Fix for AIX compilation failure & cleanup
server-tools/instance-manager/instance.cc:
  Fix for AIX compilation failure & cleanup
server-tools/instance-manager/instance.h:
  Fix for AIX compilation failure & cleanup
server-tools/instance-manager/instance_map.cc:
  Fix for AIX compilation failure & cleanup
server-tools/instance-manager/instance_map.h:
  Fix for AIX compilation failure & cleanup
server-tools/instance-manager/instance_options.cc:
  Fix for AIX compilation failure & cleanup
server-tools/instance-manager/log.cc:
  Fix for AIX compilation failure & cleanup
server-tools/instance-manager/manager.cc:
  Fix for AIX compilation failure & cleanup
server-tools/instance-manager/messages.cc:
  Fix for AIX compilation failure & cleanup
server-tools/instance-manager/messages.h:
  Fix for AIX compilation failure & cleanup
server-tools/instance-manager/mysql_connection.cc:
  Fix for AIX compilation failure & cleanup
server-tools/instance-manager/mysqlmanager.cc:
  Fix for AIX compilation failure & cleanup
server-tools/instance-manager/options.cc:
  Fix for AIX compilation failure & cleanup
server-tools/instance-manager/parse.cc:
  Fix for AIX compilation failure & cleanup
server-tools/instance-manager/parse_output.cc:
  Fix for AIX compilation failure & cleanup
server-tools/instance-manager/protocol.cc:
  Fix for AIX compilation failure & cleanup
server-tools/instance-manager/protocol.h:
  Fix for AIX compilation failure & cleanup
server-tools/instance-manager/thread_registry.cc:
  Fix for AIX compilation failure & cleanup
server-tools/instance-manager/user_map.h:
  Fix for AIX compilation failure & cleanup
2005-03-22 02:04:14 +03:00
unknown
dc9059e008 post-review fixes + cleanup + some minor fixes
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
2005-02-27 18:41:34 +03:00
unknown
deba12cd34 some more cleanups and fixes
server-tools/instance-manager/commands.cc:
  typo fixed
server-tools/instance-manager/instance.cc:
  moved options.complete_initialization to the instance::complete_initialization
server-tools/instance-manager/instance.h:
  moved options.complete_initialization to the Instance::complete_initialization
server-tools/instance-manager/instance_map.cc:
  moved options.complete_initialization to the Instance::complete_initialization, added code to create
  default instance if none is given iin config. file
server-tools/instance-manager/instance_map.h:
  complete_initialization now returns an error in case of a problem
server-tools/instance-manager/instance_options.cc:
  some error handling added
server-tools/instance-manager/instance_options.h:
  error handling added
server-tools/instance-manager/manager.cc:
  error handling added
server-tools/instance-manager/mysqlmanager.cc:
  stop mysqlmanager if options were not loaded correctly
server-tools/instance-manager/options.cc:
  return-value added
server-tools/instance-manager/options.h:
  return-value added to the OPtions::load()
server-tools/instance-manager/parse_output.cc:
  no need to examine mysqld --help -v termination status
2005-02-15 04:38:33 +03:00
unknown
5bd607785a various fixes
server-tools/instance-manager/buffer.cc:
  use my_realloc instead of realloc
server-tools/instance-manager/buffer.h:
  use my_malloc instead of malloc
server-tools/instance-manager/commands.cc:
  No need to send a buffer if there were some error while writing to it
server-tools/instance-manager/instance_options.cc:
  cleanup
server-tools/instance-manager/manager.cc:
  check sigwait return value
server-tools/instance-manager/parse_output.cc:
  fixed a bug, found with valgrind
2005-02-13 15:13:33 +03:00
unknown
dce2554f91 Post-review fixes + some bugs fixed + several minor features
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
2005-02-11 14:21:59 +03:00
unknown
92a52cccf6 more fixes for IM to substitude mysqld_safe in startup scripts
BitKeeper/deleted/.del-thread_repository.cc~bba09f64f8cb4037:
  Delete: server-tools/instance-manager/thread_repository.cc
BitKeeper/deleted/.del-thread_repository.h~e6a3b9cab7a6612a:
  Delete: server-tools/instance-manager/thread_repository.h
server-tools/instance-manager/commands.cc:
  All instances are guarded by default now, so we need to perform check on whether the instance is nonguarded,
  rather then guarded when adding it to the list of guarded instnces.
server-tools/instance-manager/guardian.cc:
  Guardian rewritten to start instances by default, and shut them down, when exiting. Behaviour of the guardian
  in case of the instance crash has changed. Now it tries to restart an instance constantly in the first 2 
  seconds after the crash was noticed, and then it tries restart an instance once in the MONITORING_INTERVAL.
  If it failed to restart instance for "restart_retry" (compiled-in value) times, guardian stops trying to
  restart it.
server-tools/instance-manager/guardian.h:
  Several new functions and variables declared.
server-tools/instance-manager/instance.cc:
  now start doesn't call stop(), but rather tries to remove the pidfile itself
server-tools/instance-manager/instance.h:
  cleanup
server-tools/instance-manager/instance_map.cc:
  no more "admin" options
server-tools/instance-manager/instance_map.h:
  User and password purged from instance_map options, as IM shouldn't know them
server-tools/instance-manager/instance_options.cc:
  new option added -- shutdown_delay, guarded option now called nonguaded and has the opposite meaning
server-tools/instance-manager/instance_options.h:
  appropriate changes, reflecting options addition/removal
server-tools/instance-manager/manager.cc:
  shutdown process is complicated a bit -- at first signal thread should stop guardian, and only then the IM
  itself
server-tools/instance-manager/messages.cc:
  update error message
server-tools/instance-manager/options.cc:
  admin user/password purged from mysqlmanager options
2005-01-31 23:54:08 +03:00
unknown
fb3d6c39a0 IM mostly fixed according to Brian's directions. Will need to do some additional option handling and cleanups
server-tools/instance-manager/Makefile.am:
  New file added
server-tools/instance-manager/client_func.c:
  typo fixed
server-tools/instance-manager/commands.cc:
  there are no admin-user snd admin-password fields anymore, so no need to show their values
server-tools/instance-manager/guardian.cc:
  Syncronization added -- now guardian wakes up whenever SIGCLD has been catched
server-tools/instance-manager/guardian.h:
  Condition variable declared
server-tools/instance-manager/instance.cc:
  Persistent connection to the instance removed. Now we use SIGTERM instead of com_shutdown for STOP. We also
  manage SIGCHLD ourselves now (therefore no double fork).
server-tools/instance-manager/instance.h:
  Pointer to the instance_map added, MySQL connection structures removed
server-tools/instance-manager/instance_map.cc:
  More syncronization added (to make proper STOP)
server-tools/instance-manager/instance_map.h:
  added condition variable and mutex for connection threads to wait for SIGCHLD
server-tools/instance-manager/instance_options.cc:
  defaults-handling methods have been added.
server-tools/instance-manager/instance_options.h:
  New functions and constants declared
server-tools/instance-manager/listener.cc:
  No changes here (bk bug?)
server-tools/instance-manager/manager.cc:
  SIGCHLD handling added
2005-01-25 13:54:56 +03:00
unknown
b859c1921e cleanup 2004-12-29 00:13:32 +03:00
unknown
596876f920 fix autobuild failures
server-tools/instance-manager/buffer.cc:
  fix typo
server-tools/instance-manager/commands.cc:
  get rid of compiler warnings
server-tools/instance-manager/guardian.cc:
  fix compiler warning
server-tools/instance-manager/instance.cc:
  fix warnings
server-tools/instance-manager/instance_map.cc:
  fix return value
server-tools/instance-manager/instance_map.h:
  fix problem, caused autobuild failure. Looks like a gcc problem - 
  "friend class <name>" doesn't work if specified before enclosed class
  <name> (this is not present in newer gcc versions)
2004-12-12 20:59:15 +03:00
unknown
b5536bb962 Some minor IM fixes
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
2004-11-15 14:53:30 +03:00
unknown
7a3a757fd5 post-review fixes
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)
2004-11-02 10:11:03 +03:00
unknown
d97e8686f1 more review fixes
server-tools/instance-manager/command.cc:
  member rename
server-tools/instance-manager/commands.cc:
  rename
server-tools/instance-manager/commands.h:
  member rename
server-tools/instance-manager/guardian.cc:
  guardian fixed to use Instance_map::Iterator intead of Imap
server-tools/instance-manager/instance_map.cc:
  removed get_instance method from Instance_map as it is needed only by
  Iterator which is made a friend class
server-tools/instance-manager/instance_map.h:
  use Instance_map::Iterator instead if Imap_iterator (no need to add more
  names to the global namespace)
2004-10-27 10:21:48 +04:00
unknown
234ca309b9 Various post-review fixes
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
2004-10-26 23:22:12 +04:00
unknown
a3d9a1eb06 minor post review fixes
server-tools/instance-manager/buffer.cc:
  function renames
server-tools/instance-manager/buffer.h:
  function renames
server-tools/instance-manager/command.cc:
  unecessary headers removed
server-tools/instance-manager/command.h:
  cleanup
server-tools/instance-manager/commands.cc:
  cleanup
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_options.cc:
  cleanup
server-tools/instance-manager/instance_options.h:
  cleanup
server-tools/instance-manager/listener.cc:
  cleanup
server-tools/instance-manager/manager.cc:
  cleanup
server-tools/instance-manager/protocol.cc:
  cleanup
2004-10-25 14:23:31 +04:00
unknown
a5435ea78a Intermediate commit - just to make new files visible to bk in the new
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
2004-10-23 11:32:52 +04:00