Commit graph

11 commits

Author SHA1 Message Date
unknown
97f26ff5f6 new variant of passwd() by S. Vojtovich
server-tools/instance-manager/Makefile.am:
  link get_password() to the IM
server-tools/instance-manager/options.cc:
  make passwd() function to read password in mysqladmin way
2005-02-18 15:23:55 +03:00
unknown
e2d78b85bf made IM to work with --defaults-file smoothly
BitKeeper/deleted/.del-my.cnf~9322f78f12eb2f3c:
  Delete: support-files/my.cnf
include/my_sys.h:
  fixed prototype to reflect changes in default.c
mysys/default.c:
  use my_search_option_files instead of process_default_option_files. This is used from the IM.
server-tools/instance-manager/instance.cc:
  added parameter to complete_initialization(). this ine marks whether we are creating the only instance
  (for instance, when no config file given)
server-tools/instance-manager/instance.h:
  prototype changed
server-tools/instance-manager/instance_map.cc:
  Now call my_search_option_files to work smootly with --defaults-file
server-tools/instance-manager/instance_map.h:
  added first_option member. This is set of mysqlmanager was started with --defaults-file or with
  --extra-defaults-file to be passed to the my_search_option_files
server-tools/instance-manager/instance_options.cc:
  if we have only one instance, name the pidfile `hostname`.pid for compatibility reasons.
server-tools/instance-manager/instance_options.h:
  header fixed according to .cc
server-tools/instance-manager/manager.cc:
  prototype fixed
server-tools/instance-manager/options.cc:
  save --defaults-file of --defaults-extra-file to pass it to my_search_option_files
server-tools/instance-manager/options.h:
  added an optin to save --default-file options
support-files/Makefile.am:
  revert changes
2005-02-18 14:58:30 +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
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
95e650e50a --user option added to mysqlmanager
server-tools/instance-manager/mysql_connection.cc:
  removed unsed method
server-tools/instance-manager/mysqlmanager.cc:
  add --user option handling
server-tools/instance-manager/options.cc:
  --user option added
server-tools/instance-manager/options.h:
  user option added + some cleanup
2005-02-05 14:04:49 +03:00
unknown
ab432d6c05 Various fixes (cleanups, valgrind, makefiles, ...)
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
2005-02-03 20:48:58 +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
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
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
unknown
df6047f047 First implementation for signal handling and multi-threading:
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
2003-08-19 19:55:20 +04:00
unknown
e561c3ee60 First implementation of instance-manager carcass:
logging, options, angel process.


configure.in:
  added support for instance-manager directory
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2003-08-16 21:44:24 +04:00