Tags: tbchrist/jetpants
Tags
Release Jetpants 0.8.2 * Add methods for probing table schema, and linking tables to pools * Bundled online_schema_change plugin, a wrapper around Percona's pt-online-schema-change tool that allows clean management of ALTER TABLE, especially on shards * Bundled capacity_plan plugin, which can track and generate reports on data set growth rate, hardware accounting, and more * Bundled upgrade_helper plugin, which adds Jetpants commands for managing a major MySQL upgrade and interacting with a few more tools from Percona Toolkit * Cleaned up spare node related logic, and made it easier for custom plugins to implement new validation rules around spares * Add an example script that uses Jetpants as a library. This script can be used to count all rows in your database topology, quickly and concurrently, via doing chunked count queries on standby slaves * Several minor bugfixes and internal code refactoring
Release Jetpants 0.8.0 General changes: * Better support for managing multiple versions of MySQL. Master promotio 8000 n now refuses to promote a higher-version master if there are lower-version slaves present, for example. Jetpants has also now been tested extensively on Percona Server 5.5. * Automatic management for enabling read_only on slaves. You can now enable read_only as a stock entry in your my.cnf (for all nodes, not just slaves) and Jetpants will properly disable it on the new master when performing a master promotion or shard split. * When cloning a node, ib_lru_dump is copied too, if present. This file contains the buffer pool LRU list if your version of MySQL supports it; copying it allows newly-cloned nodes to warm up substantially faster, as well as potentially catch up on replication more quickly. * Jetpants no longer attempts to manipulate my.cnf to do things like temporarily disabling binary logging during a bulk import. Instead, it now restarts MySQL with extra options supplied on the command-line, and afterwards restarts MySQL with no options on the command line. This is far less brittle when configuration management tools are in use. Configuration changes: * Reduced the default max_concurrency configuration value to 20. (was 40 in previous releases.) * If a global Jetpants config (/etc/jetpants.yaml) and user-specific config (~/.jetpants.yaml) both exist, the user-specific one now selectively overrides the global via a "deep" merge of the YAML. For example, the user- specific config can add additional plugins without having to redeclare the original plugin list from the global config. * Added a new configuration option, private_interface, specifying the name of the interface to use for the private LAN. Command line toolkit changes: * jetpants clone_slave now accepts input of "spare" (or multiples ie "spare, spare") to pull target machines from the spare queue. * jetpants destroy_slave now works on targets that are offline or have broken replication. It also now calls revoke_all_access on targets as a safety mechanism (for example, to prevent app servers with old configuration info from being able to connect) * jetpants summary now accepts pool names, in addition to node IPs Bundled plugin changes: * jetpants_collins can now optionally set state when setting status. To use this, call DB#collins_set(status: 'Foo', state: 'BAR'). * jetpants_collins now optionally allows you to override the Collins selector used for querying spare nodes, as well as the verification logic used to confirm that a spare is in a usable state. Core class changes: * Spare-node counting/claiming now passes another node for context. This can be used to build automation around having some pools with a different hardware spec, MySQL version, etc. * The output of DB#data_set_size now includes the size of ibdata1. * Improved DB#version_tuple to work on nodes with mysqld stopped, and added more version-related methods DB#normalized_version and DB#version_cmp. * Pool#master_promotion! can now optionally exclude putting the old master into the pool as a slave, even if MySQL is still running. This can be useful when "evicting" an older-version master from a pool, as the last step in a MySQL upgrade. * Deprecated DB#enable_binary_logging and DB#disable_binary_logging, and removed Host methods related to ini file manipulations. * Added DB#poll_status_value to obtain the max or average of a global status field, and DB#max_threads_running which demonstrates its use. * Added Host#pid_running? to check if a process is still running on a host. * Fix bug in Topology#shard_for_id returning nondeterministic results during a shard split. * More output in methods that manipulate replication or users/privileges. * Add method DB#pause_replication_with to stop two slaves at the same coordinates. * Add the ability to pass an after_connect hook to Sequel, and use it to disable unique_checks before import queries. * Numerous other new methods added to the base DB, Host, and Pool classes.
Release jetpants 0.7.10: * The compression tool used for large file copy operations is now fully configurable. Docs include examples for common choices like qpress and pigz. * pigz is no longer the default compression tool in Jetpants. For the sake of having fewer external dependencies, the default is now NO COMPRESSION. If you are upgrading from a prior release and want to continue using pigz, please set it in jetpants.yaml. * Bundled in the jetpants_collins plugin, a full production-ready asset tracker plugin for use with Collins.
Release Jetpants 0.7.8: * New commands for simple_tracker example plugin: add_pool, add_shard, and add_spare. These allow changing the topology without having to drop into jetpants console or requiring knowledge of Ruby. * Fully support standby_slaves_per_pool=1 throughout all commands, and support standby_slaves_per_pool=0 in most commands. * Support Debian/Ubuntu-style "service mysql status" output, and assume service is on root's PATH instead of forcing /sbin/service. * Make DB#disable_replication! functional in MySQL 5.5, which disallows changing master to master_host='' and adds the RESET SLAVE ALL command. * Fix output of "jetpants pools" for shards that are in the process of being split. * Rename "jetpants rebuild_slave" to "jetpants defrag_slave" for clarity. * Disable read-only mode for any spare pool nodes that are assigned to a master role. * Documentation updates. * Other minor method parameter changes, validations, and bug fixes.
Release Jetpants 0.7.6: * Compatibility with newer versions of the pry gem -- fixes issues with the jetpants console prompt being completely broken. * Specify required gem versions in the gemspec. * Fix an edge case in jetpants clone_slave, involving re-cloning a slave into the same pool when an asset tracker is in use and jetpants destroy_slave was not run prior to the reclone.
PreviousNext