Releases: yoku0825/ytkit
Releases · yoku0825/ytkit
ytkit 0.5.2
New script
- yt-config: Ytkit::Config wrapper script for calling Ytkit::Config from bash-like script.
- yt-repl-topology: Replication topology visualizer.
--output
allows "text", "json", "dot" and "member"
New feature
- yt-admin: Add subcommand
purge
- yt-healthcheck: Add new option
--fabric-no-candidate
(default critical) #55 - yt-healthcheck: Add
--role
variation "primary", "source", "replica", "read", "standby", "secondary", "cascade" - yt-alter-progress: Trim \n in displaying ALTER TABLE statement. #65
Miscellaneous
- yt-binlog-groupby: Refactoring
- CI test environments are now CentOS7 and CentOS8 Stream
Add yt-admin
yt-admin
yt-admin
is a simple schema for managing mysqlds.- Schema for storing collected data (by Ytkit::Collect) into MySQL
Incompatible yt-binlog-groupby bug fixed
yt-binlog-groupby
- yt-binlog-groupby without
--sort
missed some events to aggregate. - INCOMPATIBLE: yt-binlog-groupby is designed as "Countup each statements if binlog_format= STATEMENT" and "Countup each rows if binlog_format= ROW", but by miss-implementation, "Countup each statements even if binlog_format= ROWS".
- as of 0.5.0, this bug is fixed but this is incompatible change from 0.4.2 and earlier,
- #60
yt-healthcheck
- Handle warning message in MySQL 5.5 vs
--history-list-enable=1
xt Test Environment
- 5.6.50 -> 5.6.51
- 5.7.32 -> 5.7.33
- 8.0.22 -> 8.0.23
yt-healthcheck supports --role=group_replication
yt-healthcheck
Improve Group Replication
-
Add
--role=group_replication
- Warn if replication_group_members are less than 3 (0, 1, or 2)
- Critical if replication_group_members are less than 2 (0 or 1)
- Warn if mysqld is in RECOVERING state in Group Replication.
--group_replication_lag_transactions_warning
and--group_replication_lag_transactions_critical
can specify thresholds "how many transactions in Group Replication applier queue"--group_replication_lag_seconds_warning
and--group_replication_lag_seconds_critical
can specify thresholds "how many seconds delaying in Group Replication applier".--group_replication_lag_enable=0
stops monitoring both ofgroup_replication_lag_transactions
andgroup_replication_lag_seconds
-
--role=auto
can handle group_replication.- Group Replication + Async(Semisync) Replication is detect as
role=master
orrole=slave
.
- Group Replication + Async(Semisync) Replication is detect as
Bug fixes
- #52 has been fixed
0.4.1
yt-healthcheck
- Add
--history-list-enable
,--history-list-warning
,--history-list-critical
for checking trx_rseg_history_len.- This uses
information_schema.innodb_metrics
, support only 5.6 and later.
- This uses
yt-data-dumper (tool for ytkit-development)
- Add
--hashref-key
for dumpingselectall_hashref
Ytkit::Config
extract_for_usage
moves intoYtkit::Config::Option
Ytkit::MySQLServer
- Add warning for unsupported mysqld version ( for example, 5.5 vs SELECT FROM performance_schema.. )
Change output format (Incompatible)
Ytkit::IO
- Change output format. This is incompatible change.
- Now
_infof
adds "INFO: " prefix into each output line._notef
adds "NOTE: ",_carpf
adds "WARNING: ",_croakf
adds "ERROR: "
- These functions trim duplicated LF now.
- Now
yt-collect --query-latency-enable=1 now collects new columns (Incompatible change)
yt-collect
- INCOMPATIBLE CHANGE : sum_rows_sorted and sum_created_tmp_tables are added in select_ps_digest
- Use
--old-compat
for printing previous-compatible result.
- Use
- Change select_ps_digest to not collect any "SET", "SHOW" statements.
Ytkit::Config
- Now
Ytkit::Config->new
fails when same alias is specified by different options. - Add
deprecated
attribute
Ytkit::MySQLServer
- Add new methods: exec_sql_with_croak, exec_sql_with_carp, use
- Add warning-filter through
$ENV{ytkit_ignore_warning}
Others
- Remove
$ENV{HARNESS_ACTIVE}
handling for better testing.
Add new script yt-extract and yt-rename-database
yt-extract
- Add new.
- yt-extract transforms '*' to select_list such as
SELECT * FROM d1.t1
toSELECT col1, col2, .. FROM d1.t1
yt-rename-database
- Add new.
- yt-rename-database emulates "RENAME DATABASE" using "RENAME TABLE" statement.
Support --debug
- Now scripts accept
--debug
commonly. - Showing more information for debugging.
- Implementation for #24, but not only yt-binlog-groupby.
Ytkit::Config
- Support
mandatory
attribute
yt-healthcheck
- Fix #40 , support MySQL 8.0.19 and later.
Refactor functions for putting in STDOUT
Ytkit.pm
- Remove Ytkit::infof like functions. They has been moved to Ytkit::IO
- Ytkit::ask_password moved to Ytkit::IO::_ask_password
Ytkit::Config
isa
parameter now supports CODEref.
yt-print-information
- Add
performance_schema.threads
to its output. (yt-healthcheck --dump-detail
is too)
Environment
- Now ytkit runs tests in CentOS 7 and CentOS 8 (was CentOS 7 only)
Add sys.innodb_locks information into yt-healthcheck --dump-detail
yt-data-dumper
- New utility for making test data(mostly only for me).
yt-data-dumper -e "SELECT NOW()"
makes Data::Dumper::Dumper'ed data
yt-print-information
- New utility for output MySQL's status.
- This is separated from
yt-healthcheck --dump-detail
- Connect MySQL and output
SHOW FULL PROCESSLIST
,SHOW SLAVE STATUS
,SHOW ENGINE INNODB STATUS
and InnoDB Lock information.
- This is separated from
yt-healthcheck
- Add
--uptime-*
for checkingSHOW GLOBAL STATUS LIKE 'uptime'
- See also #37
- Separate
--dump-detail
's function into Ytkit::MySQLServer- Now specifying
--dump-detail
dumps InnoDB Lock information too. - After that, dumping information will implement as
yt-print-information
's implementation.
- Now specifying
yt-wait-replication
- Additional information like
Current Seconds_Behind_Master = 891, Catching up 0.08/sec during 120 secs, Delay will solve in 10692.00 secs, Estimated at 11/01 01:51.
when--verbose
is given.
Ytkit::MySQLServer
- Add method
errno
to access$dbh->{mysql_errno}
- Add method
_print_table
for horizontal output and_print_vtable
for vertical output.