[chandler-dev] chandlerdb and pylucene-2.4.1-1

Andi Vajda vajda at osafoundation.org
Fri Apr 10 15:53:55 PDT 2009


On Apr 10, 2009, at 15:33, Jacob Floyd <techgurufloyd+osaf at gmail.com>  
wrote:

> Hey Andi (and anyone else who can give some input),
>
> Does chandlerdb 0.7-37 work with pylucene-2.4.1 or 2.4.*?

No, probably not since I changed array support in JCC in version 2.0.

That part of the Lucene store extensions needs to be reworked.
The changes should be minimal, look at the svn history of PyLucene's  
test_PythonDirectory.py.

But, to do this properly, one needs to take on the task of upgrading  
PyLucene in the chandler build.

Given, at least, that no new functionality is introduced by this  
upgrade that chandler lacks or desires, I don't think you'll get much  
interest in it.

Andi..


> I've just
> built chandlerdb against the osaf patched db, and pylucene-2.4.1 and
> get the following error when running the tests:
>
> === Start snippet of test output ===
> ======================================================================
> ERROR: testZlibEncrypted (tests.TestText.TestText)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/var/tmp/portage/dev-python/chandlerdb-0.7.37/work/ 
> chandler-1.0.2/internal/chandlerdb/tests/TestText.py",
> line 30, in setUp
>  super(TestText, self).setUp()
> File "/var/tmp/portage/dev-python/chandlerdb-0.7.37/work/ 
> chandler-1.0.2/internal/chandlerdb/chandlerdb/util/ 
> RepositoryTestCase.py",
> line 44, in setUp
>  self._openRepository(ramdb)
> File "/var/tmp/portage/dev-python/chandlerdb-0.7.37/work/ 
> chandler-1.0.2/internal/chandlerdb/chandlerdb/util/ 
> RepositoryTestCase.py",
> line 34, in _openRepository
>  self.rep.create(ramdb=self.ramdb, refcounted=True)
> File "/var/tmp/portage/dev-python/chandlerdb-0.7.37/work/ 
> chandler-1.0.2/internal/chandlerdb/chandlerdb/persistence/ 
> DBRepository.py",
> line 119, in create
>  self._create(**kwds)
> File "/var/tmp/portage/dev-python/chandlerdb-0.7.37/work/ 
> chandler-1.0.2/internal/chandlerdb/chandlerdb/persistence/ 
> DBRepository.py",
> line 175, in _create
>  self.store.open(**kwds)
> File "/var/tmp/portage/dev-python/chandlerdb-0.7.37/work/ 
> chandler-1.0.2/internal/chandlerdb/chandlerdb/persistence/ 
> DBRepository.py",
> line 1119, in open
>  self._index.open("__index.db", txn, **kwds)
> File "/var/tmp/portage/dev-python/chandlerdb-0.7.37/work/ 
> chandler-1.0.2/internal/chandlerdb/chandlerdb/persistence/ 
> LuceneContainer.py",
> line 164, in open
>  indexWriter = IndexWriter(directory, StandardAnalyzer(), True)
> File "/var/tmp/portage/dev-python/chandlerdb-0.7.37/work/ 
> chandler-1.0.2/internal/chandlerdb/chandlerdb/persistence/ 
> LuceneContainer.py",
> line 119, in deleteFile
>  if self.fileContainer.fileExists(name):
> File "/var/tmp/portage/dev-python/chandlerdb-0.7.37/work/ 
> chandler-1.0.2/internal/chandlerdb/chandlerdb/persistence/ 
> FileContainer.py",
> line 72, in fileExists
>  return File(self, name).exists()
> File "/var/tmp/portage/dev-python/chandlerdb-0.7.37/work/ 
> chandler-1.0.2/internal/chandlerdb/chandlerdb/persistence/ 
> FileContainer.py",
> line 158, in __init__
>  if not self.exists():
> File "/var/tmp/portage/dev-python/chandlerdb-0.7.37/work/ 
> chandler-1.0.2/internal/chandlerdb/chandlerdb/persistence/ 
> FileContainer.py",
> line 197, in exists
>  value = self._container.get(self._key)
> File "/var/tmp/portage/dev-python/chandlerdb-0.7.37/work/ 
> chandler-1.0.2/internal/chandlerdb/chandlerdb/persistence/ 
> DBContainer.py",
> line 169, in get
>  return db.get(key, self.store.txn, self.c.flags, None)
> File "/var/tmp/portage/dev-python/chandlerdb-0.7.37/work/ 
> chandler-1.0.2/internal/chandlerdb/chandlerdb/persistence/ 
> LuceneContainer.py",
> line 59, in close
>  super(DbIndexOutput, self).close()
> File "/var/tmp/portage/dev-python/chandlerdb-0.7.37/work/ 
> chandler-1.0.2/internal/chandlerdb/chandlerdb/persistence/ 
> LuceneContainer.py",
> line 70, in flushBuffer
>  self.stream.write(buffer)
> File "/var/tmp/portage/dev-python/chandlerdb-0.7.37/work/ 
> chandler-1.0.2/internal/chandlerdb/chandlerdb/persistence/ 
> FileContainer.py",
> line 363, in write
>  self._block.write(buffer)
> File "/var/tmp/portage/dev-python/chandlerdb-0.7.37/work/ 
> chandler-1.0.2/internal/chandlerdb/chandlerdb/persistence/ 
> FileContainer.py",
> line 308, in write
>  self._data[self._position:self._position+size] = data
> TypeError: bad argument type for built-in operation
>
> ----------------------------------------------------------------------
> Ran 149 tests in 98.264s
>
> FAILED (errors=147)
> === End snippet of test output ===
> Note, that *all* of the tests stop at the same point: line 308 of
> FileContainer.py
>
> I stuck the line:
> print "data=%s" %data
> and
> print "buffer=%s" %buffer
>
> In a variety of places where those variables are used (next to the
> lines mentioned in the traceback) and I got the following:
> buffer=JArray<byte>ÿÿÿù !¦¢òâ
> data=JArray<byte>ÿÿÿù !¦¢òâ
> or
> buffer=JArray<byte>ÿÿÿù !¤dU»<
> data=JArray<byte>ÿÿÿù !¤dU»<
>
> the garbage differes from test to test, but the Jarray<byte> is always
> there, leading me to believe these errors are caused by recent changes
> in pylucene: (quoted form the CHANGELOG)
> Version 2.4.0 -> 2.4.1
> - passing strings for byte[] or char[] is no longer supported, use  
> JArray
> Version 2.3.2 -> 2.4.0
> - arrays are now wrapped with JArray() instances instead of expanded  
> into lists
>
> However I do not know where to go from here. All I've got is guesses
> and I'm not sure how to proceed or what to patch to make chandlerdb
> work with pylucene 2.4.1-1 (if that really is the problem here).
>
> Note that all tests run just fine for both pylucene and db (well, for
> db, there's always a couple regression tests that don't work quite
> right, but that's a case for fixing the tests, which I've not a clue
> how to go about doing, not a problem with db itself.)
>
> Thank you all so much for your help and patience with me as I work
> through all of this.
>
> Thanks,
> Jacob
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> Open Source Applications Foundation "chandler-dev" mailing list
> http://lists.osafoundation.org/mailman/listinfo/chandler-dev


More information about the chandler-dev mailing list