[Bug 1128792] perl-Cache-Cache-1.06-16.fc22 FTBFS: t/6_test_size_aware_memory_cache.t fails
bugzilla at redhat.com
bugzilla at redhat.com
Wed Aug 13 08:21:46 UTC 2014
https://bugzilla.redhat.com/show_bug.cgi?id=1128792
--- Comment #2 from Petr Pisar <ppisar at redhat.com> ---
After reading Cache::CacheSizer::_Limit_Size():
sub _Limit_Size
{
my ( $p_cache, $p_cache_meta_data, $p_new_size ) = @_;
Assert_Defined( $p_cache );
Assert_Defined( $p_cache_meta_data );
Assert_Defined( $p_new_size );
$p_new_size >= 0 or
throw Error::Simple( "p_new_size >= 0 required" );
my $size_estimate = $p_cache_meta_data->get_cache_size( );
return if $size_estimate <= $p_new_size;
foreach my $key ( $p_cache_meta_data->build_removal_list( ) )
{
return if $size_estimate <= $p_new_size;
$size_estimate -= $p_cache_meta_data->build_object_size( $key );
$p_cache->remove( $key );
$p_cache_meta_data->remove( $key );
}
warn( "Couldn't limit size to $p_new_size" );
}
It's clear that $cache->limit_size() call from the tests removed all cache keys
and still could not press the cache size under size it previously had with the
first key. So later fetch could not find the key.
It's possible that the first key queued in front of other keys because in the
build_removal_list(), so it got removed before any of them. This is flaw in the
test.
However the reason why limit_size() could not decrease size while keeping at
least on key in the Cache is unclear to me.
--
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=woIDNRtXv7&a=cc_unsubscribe
More information about the perl-devel
mailing list