--- trunk/lib/Sack/Server.pm 2009/11/26 22:08:36 247 +++ trunk/lib/Sack/Server.pm 2009/11/26 22:18:19 248 @@ -114,6 +114,7 @@ Sack::Merge->clean; delete( $info->{view} ); delete( $info->{merge} ); + delete( $info->{shard} ); to_all { code => $code, view => $path }; }; @@ -325,6 +326,8 @@ my $added = Sack::Merge->add( $data->{out} ) if defined $data->{out}; $info->{merge}->{ $data->{view} }->{ $data->{port} } = $added; $info->{view }->{ $data->{view} }->{ $data->{port} } = $data->{on_shard}; + # refresh shard allocation + $info->{shard}->{ $_ } = $data->{port} foreach keys %{ $data->{on_shard} }; } elsif ( exists $data->{port} ) { push @responses, $data; warn "# ",dump($data),$/;