On Nov 25, 2009, at 2:23 PM, Paul Davis wrote:
>> #!/usr/bin/perl
>>
>> use FindBin qw($Bin);
>> use lib ("$Bin/lib","$Bin/cpan-lib");
>>
>> use Net::CouchDB;
>>
>> my $host=shift;
>> my $secs=shift;
>>
>> my $couch=Net::CouchDB->new($host);
>>
>> my @docs=map{ { '_id' => $_, 'lang' => 'erlang' } } (1...500);
>>
>> foreach (1...200) {
>> my $dbh=$couch->create_db("event-$_");
>> print "Created database $_\n";
>> $dbh->insert(@docs);
>> sleep($secs);
>> }
>
> IANAPM, but if $dbh is holding an open connection you could very well
> trigger this quite easily. Can you try replacing the sleep($secs) with
> something like $dbh->close()? Any easy way to check this is to watch
> `netstat -tap tcp` and see if the number of sockets on either machine
> is growing monotonically.
>
> HTH,
> Paul Davis
Paul, that was my first thought too, but isn't the DB only considered "active"
for the lifetime of a request? E.g. it doesn't matter if the connections are
kept open or not, once couch_db:close(Db) is called the reference counter gets
decremented and couch_server can drop it from the LRU cache. At least that's
my reading of the code. Best,
Adam