Return-Path: X-Original-To: apmail-directory-dev-archive@www.apache.org Delivered-To: apmail-directory-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 7D20C9810 for ; Thu, 10 May 2012 05:57:46 +0000 (UTC) Received: (qmail 17698 invoked by uid 500); 10 May 2012 05:57:46 -0000 Delivered-To: apmail-directory-dev-archive@directory.apache.org Received: (qmail 17530 invoked by uid 500); 10 May 2012 05:57:45 -0000 Mailing-List: contact dev-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Apache Directory Developers List" Delivered-To: mailing list dev@directory.apache.org Received: (qmail 17509 invoked by uid 99); 10 May 2012 05:57:44 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 10 May 2012 05:57:44 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of ayaselcuk@gmail.com designates 209.85.213.50 as permitted sender) Received: from [209.85.213.50] (HELO mail-yw0-f50.google.com) (209.85.213.50) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 10 May 2012 05:57:39 +0000 Received: by yhjj63 with SMTP id j63so1418580yhj.37 for ; Wed, 09 May 2012 22:57:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=DLi8LYq2trEx9cs1fVV7W3md1ei4W4tTCqojXdEGU2c=; b=BFysgpWJnhoFRGTpE0H2QyYTusouiXED0ek9FDIY2d0/FWrnegzDi6HxTeIBKhnOoL U6CiJfNiHXSm0ZpzEzCiIe9o9Ylgf5+RSUKYmmQse6RETLuzFoAc2A6Cm0kOuFzDgGGt 5uCgt6D+f0CTNLR/Czig4mkD9p9vMQiKhuxtP7WtNB7Rjn0cVg35Juvd0n0/9Eo3z0Gd wGzZdgH11ulrZGoyCb5Y/7ZBz+9bseafyTrf/HNoB/PSG232+ZH3ROJUS1FKP8+iyvWo CvSaO3ZG+viA/5x4mVD+xWWJf+EM07ukeeDDbwiMdSVuZS795ic6/N9e3jGVNA/iGpdn eYzg== MIME-Version: 1.0 Received: by 10.50.186.231 with SMTP id fn7mr1591015igc.15.1336629438497; Wed, 09 May 2012 22:57:18 -0700 (PDT) Received: by 10.64.65.9 with HTTP; Wed, 9 May 2012 22:57:18 -0700 (PDT) In-Reply-To: <4FAAFBC2.5030703@gmail.com> References: <4FA4FDBE.9010901@gmail.com> <4FA515C7.1060805@gmail.com> <4FA64D59.5040902@gmail.com> <4FA68A21.6080301@gmail.com> <4FA93071.40805@gmail.com> <4FA9753A.8070208@gmail.com> <4FA97E6D.2090504@gmail.com> <4FA9F6F3.3040707@gmail.com> <4FAA8E9F.9060709@gmail.com> <4FAAAC14.4030706@gmail.com> <4FAAFBC2.5030703@gmail.com> Date: Wed, 9 May 2012 22:57:18 -0700 Message-ID: Subject: Re: Release troubles and failing tests From: Selcuk AYA To: Apache Directory Developers List , elecharny@apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org The problem seems to be caused by the test testPagedSearchWrongCookie(). This tests failure in pages search by sending a bad cookie. After failing, it relies on ctx.close() to cleanup the session. Cleanup of the session will close all the cursors related to paged searches through the session. It seems that somehow ctx.close does not result in an unbind message at the server side time to time. I do not know what causes this but this leaves a cursor open(specifically a NoDups cursor on rdn index). Eventually as changes happen to the Rdn index, we run out of freeable cache headers. After ignoring this test, pagedsearchit and searchit pass fine together. It would be good to understand why arrival of unbind message is a hit and miss case in this test. Note that for debugging the problem, I changed JDBM browser(cursor of jdbm) to take a comment. Comment changes based on where the browser is opened. I added the browsers to a global list and printed this list when the out of cache headers situation happened. This pointed to the code path that left the browser open. This seems to be an inexpensive way of tracking these kinds of problems. thanks Selcuk On Wed, May 9, 2012 at 4:20 PM, Emmanuel L=E9charny w= rote: > Le 5/9/12 10:39 PM, Selcuk AYA a =E9crit : > >> What I saw happening was there is a reader at version 188. Some reader >> somehow does not decremented the ref count at this version =A0and >> writers keep bumping up the version upto until ~600. Then we run out >> of freeable cache elements. >> >> We always have problem with the same version(188) and the problem >> always happens when updateding the nbchildren nbdescendants of the >> parents in rdn index. This is a new code but I dont see anything wrong >> with it. What I am thinking is that this new code exposed some bug in >> LRUCache that was there before. > > May be because we now are updating the RdnIndex many times instead of onl= y > one when adding or deleting an entry... > >> >> I am stuck at this point because of my ignorance of the build >> environment. I use the debugger to step through the code and I have >> the apacheds-jdbm as a module but the runtime uses a jdbm jar in >> repository rather than the code I modify so I cannot add debug code to >> jdbm. I really would appreciate some help here. > > > Here is what I do : > > 1) svn co https://svn.apache.org/repos/asf/directory/trunks > it grabs all the projects from the repo > > 2) cd trunks > > 3) vi pom.xml > > 4) comment the studio module (no need to spend CPU > compiling studio) > > 5) mvn clean install -DskipTests > It builds everything without tests, saving 20 minutes > > 6) mvn eclipse:eclipse > Now, you shoud have all the .classpath pointing to projects in Eclipse, a= nd > not on jars > > 7) launch eclipse > > 8) create the jdbm, apacheds and shared workingsets > > 9) import jdbm into jdbm > > 10) import shared into shared > > 11) Import apacheds into apacheds > > 12 in the apacheds/apacheds-jdbm-partition, I open the properties, and in > the Java Build Path, I add the jdbm project =A0in the projects tab, and I > remove the reference to the jdbm lib in the Librairies tab. > > Now, you shoul dbe able to put a breakpoint on the jdbm code, and run it = in > debug mode. You will still be able to modify the jdbm code. > > of course, I drescribed in extenso what you should do, but if you already > have almost all present, the only omportant step is (12). > > I'm going to crash now, try to catch me early tomorrow (around 7h30 my ti= me, > 10:30PM your time) if you have any problem... > > > -- > Regards, > Cordialement, > Emmanuel L=E9charny > www.iktek.com >