From dev-return-12032-apmail-couchdb-dev-archive=couchdb.apache.org@couchdb.apache.org Fri Oct 01 23:45:58 2010 Return-Path: Delivered-To: apmail-couchdb-dev-archive@www.apache.org Received: (qmail 12831 invoked from network); 1 Oct 2010 23:45:58 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 1 Oct 2010 23:45:58 -0000 Received: (qmail 50029 invoked by uid 500); 1 Oct 2010 23:45:58 -0000 Delivered-To: apmail-couchdb-dev-archive@couchdb.apache.org Received: (qmail 49819 invoked by uid 500); 1 Oct 2010 23:45:57 -0000 Mailing-List: contact dev-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@couchdb.apache.org Delivered-To: mailing list dev@couchdb.apache.org Received: (qmail 49811 invoked by uid 99); 1 Oct 2010 23:45:57 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 01 Oct 2010 23:45:57 +0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of fdmanana@gmail.com designates 209.85.215.52 as permitted sender) Received: from [209.85.215.52] (HELO mail-ew0-f52.google.com) (209.85.215.52) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 01 Oct 2010 23:45:51 +0000 Received: by ewy20 with SMTP id 20so1938913ewy.11 for ; Fri, 01 Oct 2010 16:45:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:sender:received :in-reply-to:references:date:x-google-sender-auth:message-id:subject :from:to:content-type:content-transfer-encoding; bh=r0/n37toapRYeMxlrOyf16WEGbfhsX33KJvtKNeba4w=; b=heECMsq+OYXUvhr8mAcHBqguYGSdf3sdB6BTgUyMnCaq+nOKv+CI2DvqrwNHwfC3SH I8Cad9T3+c7lOA1k2sHsW7xyXahpAMKIjYG5K8pCUvHr2N0jx8pw4uy2pyS+EEfcdUew EqZPlgAzU8i3c5IXxksCmoWncpydE1DODfbW8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type :content-transfer-encoding; b=l/Rn58Pj3NSKjsY2tQcLtXW88ZzB6P0m3dbeJa84b10+N0uVl3KiL2L0mSGIp28q/l gbCjo/R6pQoI+KC3zwj1MvUB48zPlZF/QNk7mhW/3YKqrRlThhR0LYjQbom1cUzfk/dn pbqREKj/FBTHeLxgX/7ejJQg3zy7dHjP85eTI= MIME-Version: 1.0 Received: by 10.213.16.212 with SMTP id p20mr4580326eba.17.1285976729548; Fri, 01 Oct 2010 16:45:29 -0700 (PDT) Sender: fdmanana@gmail.com Received: by 10.213.8.83 with HTTP; Fri, 1 Oct 2010 16:45:29 -0700 (PDT) In-Reply-To: References: <20101001230530.CF7FB238890D@eris.apache.org> Date: Sat, 2 Oct 2010 00:45:29 +0100 X-Google-Sender-Auth: RAzNs4KEAS4g2pWgbaAadJETHBg Message-ID: Subject: Re: svn commit: r1003701 - in /couchdb/trunk/src/couchdb: couch_view.erl couch_view_group.erl From: Filipe David Manana To: dev@couchdb.apache.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org Seems likely to me as well. +1 On Sat, Oct 2, 2010 at 12:36 AM, Chris Anderson wrote: > On Fri, Oct 1, 2010 at 4:05 PM, =C2=A0 wrote: >> Author: jchris >> Date: Fri Oct =C2=A01 23:05:30 2010 >> New Revision: 1003701 >> >> URL: http://svn.apache.org/viewvc?rev=3D1003701&view=3Drev >> Log: >> close db handles after using them to get view groups >> > > I think this patch will help with the compaction file-delete stuff. I > did that last view refactor before I understood completely how the > file ref counts worked. Sorry about that. Should be all better now. > >> Modified: >> =C2=A0 =C2=A0couchdb/trunk/src/couchdb/couch_view.erl >> =C2=A0 =C2=A0couchdb/trunk/src/couchdb/couch_view_group.erl >> >> Modified: couchdb/trunk/src/couchdb/couch_view.erl >> URL: http://svn.apache.org/viewvc/couchdb/trunk/src/couchdb/couch_view.e= rl?rev=3D1003701&r1=3D1003700&r2=3D1003701&view=3Ddiff >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D >> --- couchdb/trunk/src/couchdb/couch_view.erl (original) >> +++ couchdb/trunk/src/couchdb/couch_view.erl Fri Oct =C2=A01 23:05:30 20= 10 >> @@ -29,9 +29,7 @@ start_link() -> >> =C2=A0 =C2=A0 gen_server:start_link({local, couch_view}, couch_view, [],= []). >> >> =C2=A0get_temp_updater(DbName, Language, DesignOptions, MapSrc, RedSrc) = -> >> - =C2=A0 =C2=A0% make temp group >> - =C2=A0 =C2=A0% do we need to close this db? >> - =C2=A0 =C2=A0{ok, _Db, Group} =3D >> + =C2=A0 =C2=A0{ok, Group} =3D >> =C2=A0 =C2=A0 =C2=A0 =C2=A0 couch_view_group:open_temp_group(DbName, Lan= guage, DesignOptions, MapSrc, RedSrc), >> =C2=A0 =C2=A0 case gen_server:call(couch_view, {get_group_server, DbName= , Group}) of >> =C2=A0 =C2=A0 {ok, Pid} -> >> @@ -41,10 +39,8 @@ get_temp_updater(DbName, Language, Desig >> =C2=A0 =C2=A0 end. >> >> =C2=A0get_group_server(DbName, GroupId) -> >> - =C2=A0 =C2=A0% get signature for group >> =C2=A0 =C2=A0 case couch_view_group:open_db_group(DbName, GroupId) of >> - =C2=A0 =C2=A0% do we need to close this db? >> - =C2=A0 =C2=A0{ok, _Db, Group} -> >> + =C2=A0 =C2=A0{ok, Group} -> >> =C2=A0 =C2=A0 =C2=A0 =C2=A0 case gen_server:call(couch_view, {get_group_= server, DbName, Group}) of >> =C2=A0 =C2=A0 =C2=A0 =C2=A0 {ok, Pid} -> >> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Pid; >> >> Modified: couchdb/trunk/src/couchdb/couch_view_group.erl >> URL: http://svn.apache.org/viewvc/couchdb/trunk/src/couchdb/couch_view_g= roup.erl?rev=3D1003701&r1=3D1003700&r2=3D1003701&view=3Ddiff >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D >> --- couchdb/trunk/src/couchdb/couch_view_group.erl (original) >> +++ couchdb/trunk/src/couchdb/couch_view_group.erl Fri Oct =C2=A01 23:05= :30 2010 >> @@ -445,8 +445,8 @@ open_temp_group(DbName, Language, Design >> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 def=3DMapSrc, >> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 reduce_funs=3D if RedSrc=3D=3D= [] -> []; true -> [{<<"_temp">>, RedSrc}] end, >> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 options=3DDesignOptions}, >> - >> - =C2=A0 =C2=A0 =C2=A0 =C2=A0{ok, Db, set_view_sig(#group{name =3D <<"_t= emp">>,lib=3D{[]}, db=3DDb, views=3D[View], >> + =C2=A0 =C2=A0 =C2=A0 =C2=A0couch_db:close(Db), >> + =C2=A0 =C2=A0 =C2=A0 =C2=A0{ok, set_view_sig(#group{name =3D <<"_temp"= >>,lib=3D{[]}, db=3DDb, views=3D[View], >> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 def_lang=3DLanguage, design_op= tions=3DDesignOptions})}; >> =C2=A0 =C2=A0 Error -> >> =C2=A0 =C2=A0 =C2=A0 =C2=A0 Error >> @@ -480,7 +480,8 @@ open_db_group(DbName, GroupId) -> >> =C2=A0 =C2=A0 {ok, Db} -> >> =C2=A0 =C2=A0 =C2=A0 =C2=A0 case couch_db:open_doc(Db, GroupId) of >> =C2=A0 =C2=A0 =C2=A0 =C2=A0 {ok, Doc} -> >> - =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0{ok, Db, design_doc_to_view_g= roup(Doc)}; >> + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0couch_db:close(Db), >> + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0{ok, design_doc_to_view_group= (Doc)}; >> =C2=A0 =C2=A0 =C2=A0 =C2=A0 Else -> >> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 couch_db:close(Db), >> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Else >> >> >> > > > > -- > Chris Anderson > http://jchrisa.net > http://couch.io > --=20 Filipe David Manana, fdmanana@gmail.com, fdmanana@apache.org "Reasonable men adapt themselves to the world. =C2=A0Unreasonable men adapt the world to themselves. =C2=A0That's why all progress depends on unreasonable men."