lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Mastroianni <MMastroia...@glgroup.com>
Subject RE: kamikaze
Date Thu, 30 Apr 2009 13:23:57 GMT
Hi Anmol--

Thanks for bringing up the version I was using: when I switched back to
the official jar file, this test passed. The correctness problem only
seems to exist in the snapshot I grabbed.

The only reason I started using a snapshot was that the jar file had
line numbers turned off in the compilation, and no source attachment.
Would it be possible for you to make a version of the jar file with line
numbers turned on, and a source attachment, for your next release?
Without that, it's pretty nearly impossible to debug problems like the
NPE regression.

regards,
Michael

-----Original Message-----
From: molz [mailto:anmol.bhasin@gmail.com] 
Sent: Wednesday, April 29, 2009 10:58 PM
To: java-user@lucene.apache.org
Subject: RE: kamikaze


  
Hi Michael,

2 Questions. 

1. What version of Kamikaze are you running with?
2. Can you try the snippet below and let me know if it fails ? I ran it
20
times and it did not fail. Maybe there is some difference in the
utitlity
methods you have ? I am still trying to track down if anything is off at
my
end but does not seem to be.

    public void testMultipleIntersections() 
    { 
            ArrayList<OpenBitSet> obs = new ArrayList<OpenBitSet>(); 
            ArrayList<DocIdSet> docs = new ArrayList<DocIdSet>(); 
        Random rand = new Random(System.currentTimeMillis()); 
            int maxDoc = 350000; 
            for(int i=0; i < 3; ++i) 
            { 
                    int numdocs = rand.nextInt(maxDoc); 
                    ArrayList<Integer> nums = new 
ArrayList<Integer>(); 
                    HashSet<Integer> seen = new HashSet<Integer>(); 
                    for (int j = 0; j < numdocs; j++) 
                { 
                            int nextDoc = rand.nextInt(maxDoc); 
                            if(seen.contains(nextDoc)) 
                            { 
                                    while(seen.contains(nextDoc)) 
                                    { 
                                            nextDoc = 
rand.nextInt(maxDoc); 
                                    } 
                            } 
                            nums.add(nextDoc); 
                            seen.add(nextDoc); 
                } 
                    Collections.sort(nums); 
                    obs.add(createObs(nums, maxDoc)); 
                    docs.add(createDocSet(nums)); 
            } 
            OpenBitSet base = obs.get(0); 
            for(int i = 1; i < obs.size(); ++i) 
            { 
                    base.intersect(obs.get(i)); 
            } 
            
            AndDocIdSet ands = new AndDocIdSet(docs); 
            long card1 = base.cardinality(); 
            long card2 = ands.size(); 
            System.out.println(card1+":"+card2);
            assertEquals(card1, card2); 
    } 


    private OpenBitSet createObs(ArrayList<Integer> nums, int maxDoc) {
      OpenBitSet bitSet = new OpenBitSet(maxDoc);
      for(int num:nums)
        bitSet.set(num);
      return bitSet;
    }
    
    private DocIdSet createDocSet(ArrayList<Integer> nums) {
      DocSet p4d = DocSetFactory.getDocSetInstance(0, 35000000, 200000,
          DocSetFactory.FOCUS.OPTIMAL);
      for(int num:nums)
       p4d.addDoc(num);
      return p4d;
    }

I even tried with the following 

  private DocIdSet createDocSet(ArrayList<Integer> nums) {
      P4DDocIdSet p4d = new P4DDocIdSet();
      for(int num:nums)
       p4d.addDoc(num);
      return p4d;
    }


 The NPE you mention in the previous emails has been identified as a bug
and
will be fixed in the next release (in a day or two). 

Thanks,
Anmol


-- 
View this message in context:
http://www.nabble.com/kamikaze-tp23224760p23307098.html
Sent from the Lucene - Java Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org



This e-mail message, and any attachments, is intended only for the use of the individual or
entity identified in the alias address of this message and may contain information that is
confidential, privileged and subject to legal restrictions and penalties regarding its unauthorized
disclosure and use. Any unauthorized review, copying, disclosure, use or distribution is strictly
prohibited. If you have received this e-mail message in error, please notify the sender immediately
by reply e-mail and delete this message, and any attachments, from your system. Thank you.



---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org


Mime
View raw message