~percona-toolkit-dev/percona-toolkit/release-2.2.2

« back to all changes in this revision

Viewing changes to bin/pt-kill

  • Committer: Brian Fraser
  • Date: 2013-04-19 23:26:48 UTC
  • Revision ID: brian.fraser@percona.com-20130419232648-mjnd4rt9k4xldmjc
BuildĀ percona-toolkit-2.2.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
46
46
# ###########################################################################
47
47
{
48
48
package Percona::Toolkit;
49
 
our $VERSION = '2.2.1';
 
49
our $VERSION = '2.2.2';
50
50
 
51
51
1;
52
52
}
3738
3738
   my $dp      = $self->{DSNParser};
3739
3739
   my $methods = $self->_resolve_recursion_methods($args{dsn});
3740
3740
 
 
3741
   return $slaves unless @$methods;
 
3742
   
3741
3743
   if ( grep { m/processlist|hosts/i } @$methods ) {
3742
3744
      my @required_args = qw(dbh dsn);
3743
3745
      foreach my $arg ( @required_args ) {
5178
5180
   return $self->{hostname} || $self->{dsn_name} || 'unknown host';
5179
5181
}
5180
5182
 
 
5183
sub remove_duplicate_cxns {
 
5184
   my ($self, %args) = @_;
 
5185
   my @cxns     = @{$args{cxns}};
 
5186
   my $seen_ids = $args{seen_ids} || {};
 
5187
   PTDEBUG && _d("Removing duplicates from ", join(" ", map { $_->name } @cxns));
 
5188
   my @trimmed_cxns;
 
5189
 
 
5190
   for my $cxn ( @cxns ) {
 
5191
      my $dbh  = $cxn->dbh();
 
5192
      my $sql  = q{SELECT @@server_id};
 
5193
      PTDEBUG && _d($sql);
 
5194
      my ($id) = $dbh->selectrow_array($sql);
 
5195
      PTDEBUG && _d('Server ID for ', $cxn->name, ': ', $id);
 
5196
 
 
5197
      if ( ! $seen_ids->{$id}++ ) {
 
5198
         push @trimmed_cxns, $cxn
 
5199
      }
 
5200
      else {
 
5201
         PTDEBUG && _d("Removing ", $cxn->name,
 
5202
                       ", ID ", $id, ", because we've already seen it");
 
5203
      }
 
5204
   }
 
5205
 
 
5206
   return \@trimmed_cxns;
 
5207
}
 
5208
 
5181
5209
sub DESTROY {
5182
5210
   my ($self) = @_;
5183
5211
 
8098
8126
 
8099
8127
=head1 VERSION
8100
8128
 
8101
 
pt-kill 2.2.1
 
8129
pt-kill 2.2.2
8102
8130
 
8103
8131
=cut