Hi Anmol-- 1. I'm using a recent snapshot of your svn repo (I tried using the jar file, but line numbers were turned off, and I couldn't debug at all: I can try with the jar file from your most recent release and see how it turns out) from something like 3 days ago.
2. I just tried the snippet you sent and it failed, with the following error junit.framework.AssertionFailedError: expected:<4679> but was:<13498> on the first try. regards, Michael -----Original Message----- From: molz [mailto:anmol.bha...@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-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@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-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org