On Sun, 30 Jun 2013, Michael McCandless wrote:
Hmm I see two test failures, on Linux, Python 2.7.3, Java 1.7.0_07
:
ERROR: testCachingWorks (__main__.CachingWrapperFilterTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "test/test_CachingWrapperFilter.py", line 53, in testCachingWorks
strongRef = cacher.getDocIdSet(context, context.reader().getLiveDocs())
AttributeError: 'IndexReader' object has no attribute 'getLiveDocs'
and:
ERROR: testPayloadsPos0 (__main__.PositionIncrementTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "test/test_PositionIncrement.py", line 257, in testPayloadsPos0
pspans = MultiSpansWrapper.wrap(searcher.getTopReaderContext(), snq)
File "/home/mike/src/pylucene-4.3.1-1/test/MultiSpansWrapper.py",
line 49, in wrap
return query.getSpans(ctx, ctx.reader().getLiveDocs(), termContexts)
AttributeError: 'IndexReader' object has no attribute 'getLiveDocs'
I can't reproduce this, the tests pass for me.
I suspect there is some differennce in version somewhere.
The clue is the error message:
AttributeError: 'IndexReader' object has no attribute 'getLiveDocs'
This is correct. What is not is that ctx.reader() is returning an
IndexReader instance. I put a breakpoint at one of the failures and I'm
getting an AtomicReader back from ctx.reader() and that object does have
getLiveDocs() defined. Below is an excerpt of my debugging session:
yuzu:vajda> _install/bin/python test/test_PositionIncrement.py
> /Users/vajda/apache/pylucene-4.3.1/test/MultiSpansWrapper.py(50)wrap()
-> return query.getSpans(ctx, ctx.reader().getLiveDocs(), termContexts)
(Pdb) p ctx.reader()
<AtomicReader: _0(4.3.1):C1>
(Pdb) !from org.apache.lucene.index import IndexReader
(Pdb) p IndexReader.getLiveDocs
(Pdb) !from org.apache.lucene.index import AtomicReader
(Pdb) p AtomicReader.getLiveDocs
<method 'getLiveDocs' of 'AtomicReader' objects>
I built and tested this release on Mac OS X with Apple's Java 6.
I suspect the different to be either Java 7 or you have an old version of
jcc, maybe ?
(Pdb) !import lucene
(Pdb) p lucene.JCC_VERSION
'2.16'
(Pdb) p lucene.VERSION
'4.3.1'
I need to either renew my VMware Fusion license or install VirtualBox to
test on Linux with Java 7.
I tried Oracle's Java 7 on Mac and it was a big pain as it doesn't seem
to blend with the existing Java Frameworks and I kept getting a JRE mismatch
(building jcc with Java 7 but then having Java 6 run it and complain about
incompatible bytecode formats). I'm sure this can be eventually resolved
but I was short on time.
Can you please confirm that you see the same jcc version in your build ?
If that's the case, then the next thing is for me to try Java 7 again.
Thanks !
Andi..
Mike McCandless
http://blog.mikemccandless.com
On Wed, Jun 26, 2013 at 4:07 PM, Andi Vajda <va...@apache.org> wrote:
The PyLucene 4.3.1-1 release tracking the recent release of Apache Lucene
4.3.1 is ready.
A release candidate is available from:
http://people.apache.org/~vajda/staging_area/
A list of changes in this release can be seen at:
http://svn.apache.org/repos/asf/lucene/pylucene/branches/pylucene_4_3/CHANGES
PyLucene 4.3.1 is built with JCC 2.16 included in these release artifacts:
http://svn.apache.org/repos/asf/lucene/pylucene/trunk/jcc/CHANGES
A list of Lucene Java changes can be seen at:
http://svn.apache.org/repos/asf/lucene/dev/tags/lucene_solr_4_3_1/lucene/CHANGES.txt
Please vote to release these artifacts as PyLucene 4.3.1-1.
Thanks !
Andi..
ps: the KEYS file for PyLucene release signing is at:
http://svn.apache.org/repos/asf/lucene/pylucene/dist/KEYS
http://people.apache.org/~vajda/staging_area/KEYS
pps: here is my +1