[elephant-devel] Strange behavior with indexed-btree
Ian Eslick
eslick at media.mit.edu
Sat Jan 10 00:54:22 UTC 2009
Sounds like there is prior state in the db. Try running delscript.sh
in the tests directory to clear out all the prior state.
I'll check in some further fixed tomorrow that may address the prior
problem you had.
Sent from my iPhone
On Jan 9, 2009, at 12:45 PM, Kevin Raison <raison at chatsubo.net> wrote:
> Ian, I pulled all new patches from darcs and did a rebuild as you
> suggested. BDB test are now failing:
>
>
> Did 491 checks.
> Pass: 483 (98%)
> Skip: 0 ( 0%)
> Fail: 8 ( 1%)
>
> Failure Details:
> --------------------------------
> INDEXING-CHANGE-CLASS []:
> 1 evaluated to 1, which is not = to 2..
> --------------------------------
> --------------------------------
> INDEXING-CHANGE-CLASS []:
> 1 evaluated to 1, which is not = to 2..
> --------------------------------
> --------------------------------
> INDEXING-HIERARCHY []:
> (POP #:RESULT147) evaluated to (1 1 2 2 3 3), which is not
> EQUALP
> to (1 2 3)..
> --------------------------------
> --------------------------------
> INDEXING-HIERARCHY []:
> (POP #:RESULT147) evaluated to (1 1 2 2 3 3), which is not
> EQUALP
> to (1 2 3)..
> --------------------------------
> --------------------------------
> INDEXING-HIERARCHY []:
> (POP #:RESULT147) evaluated to (1 2 4 1 2 4), which is not
> EQUALP
> to (1 2 4)..
> --------------------------------
> --------------------------------
> INDEXING-HIERARCHY []:
> (POP #:RESULT147) evaluated to (2 3 2 3), which is not EQUALP to
> (2 3)..
> --------------------------------
> --------------------------------
> INDEXING-HIERARCHY []:
> (POP #:RESULT147) evaluated to (4 4), which is not EQUALP to
> (4)..
> --------------------------------
> --------------------------------
> INHIBIT-ROLLBACK []:
> Unexpected Error: #<IT.BESE.FIVEAM::TEST-FAILURE {1004A633D1}>
> #<TEST-FAILURE {1004A633D1}>..
> --------------------------------
>
> I will let you know later today if I can reproduce my deserialization
> errors.
>
> -Kevin
>
>
> Ian Eslick wrote:
>> Also try pushing :elephant-without-optimize onto *features* prior to
>> doing a force rebuild of elephant. This should give you some more
>> information and rule out any optimization/declaration related bugs.
>>
>> Thank you,
>> Ian
>>
>>
>> On Jan 7, 2009, at 9:10 PM, Kevin Raison wrote:
>>
>>> I was finally able to recreate this in the repl (as opposed to
>>> seeing it
>>> in my error logs), so here is a trace:
>>>
>>> The slot DB-BDB::INDICES-CACHE is unbound in the object
>>> #<BDB-INDEXED-BTREE oid:2>.
>>> [Condition of type UNBOUND-SLOT]
>>>
>>> Backtrace:
>>> 0: ((SB-PCL::FAST-METHOD SLOT-UNBOUND (T T T)) #<unavailable
>>> argument> #<unavailable argument> #<unavailable argument>
>>> #<BDB-INDEXED-BTREE oid:2> DB-BDB::INDICES-CACHE)
>>> 1: (SB-PCL::SLOT-UNBOUND-INTERNAL #<BDB-INDEXED-BTREE oid:2> 2)
>>> 2: ((SB-PCL::FAST-METHOD (SETF GET-VALUE) (T T
>>> DB-BDB::BDB-INDEXED-BTREE)) #<unavailable lambda list>)
>>> 3: ((LAMBDA (WORD)) "34766")
>>> 4: (SB-IMPL::MAP1 #<CLOSURE (LAMBDA #) {1003CA4ED9}> (("" "asa"
>>> "106007" "deny" "inbound" "udp" ...)) :LIST T)
>>> 5: (MAPCAR #<CLOSURE (LAMBDA #) {1003CA4ED9}> ("" "asa" "106007"
>>> "deny" "inbound" "udp" ...))[:EXTERNAL]
>>> 6: ((SB-PCL::FAST-METHOD INDEX-LOG-ENTRY (LOG-ENTRY)) #<unavailable
>>> argument> #<unavailable argument> #<LOG-ENTRY oid:6373>)
>>> 7: ((LAMBDA ()))
>>> 8: ((SB-PCL::FAST-METHOD ELEPHANT::EXECUTE-TRANSACTION
>>> (DB-BDB::BDB-STORE-CONTROLLER T)) #<unavailable argument>
>>> #<unavailable
>>> argument> #<unavailable argument> #<unavailable argument>)
>>> [:EXTERNAL]
>>> 9: (ADD-LOG-ENTRY ..)
>>> 10: (SB-INT:SIMPLE-EVAL-IN-LEXENV ..)
>>>
>>> And here is the code that sometimes causes the issue:
>>> (defmethod index-log-entry ((log-entry log-entry))
>>> (let ((*store-controller* *syslog-controller*))
>>> (let ((btree (get-from-root "log-entry-index" :sc
>>> *syslog-controller*)))
>>> (map-words #'(lambda (word)
>>> (unless (or (member word *superfluous-
>>> words* :test
>>> #'string-equal)
>>> (< (length word) 2))
>>> (unless (existsp word btree)
>>> (setf (get-value word btree) (make-pset :sc
>>> *syslog-controller*)))
>>> (insert-item log-entry
>>> (get-value word btree))))
>>> (text log-entry)))))
>>>
>>>
>>> If I drop and recreate the btree, everything runs smoothly (no
>>> errors)
>>> for a few hours and then the above error message starts showing up
>>> about
>>> half to three quarters of the time.
>>>
>>> Thanks again,
>>> Kevin
>>>
>>>
>>> Kevin Raison wrote:
>>>> I am seeing an intermittent error with 1.0 alpha when trying to
>>>> write to
>>>> an indexed btree (using BerkeleyDB 4.7 as provided by Ubuntu's
>>>> package
>>>> repositories):
>>>>
>>>> The slot DB-BDB::INDICES-CACHE is unbound in the object
>>>> #<BDB-INDEXED-BTREE oid:2>
>>>>
>>>> Within the same thread, sometimes this happens and sometimes I am
>>>> able
>>>> to read and write to the btree. I am using sbcl 1.0.24 on 32 bit
>>>> intel
>>>> linux. Is there something obvious that might help alleviate this
>>>> or
>>>> should I provide more context?
>>>>
>>>> Thanks!
>>>> Kevin
>>>>
>>>> _______________________________________________
>>>> elephant-devel site list
>>>> elephant-devel at common-lisp.net
>>>> http://common-lisp.net/mailman/listinfo/elephant-devel
>>> _______________________________________________
>>> elephant-devel site list
>>> elephant-devel at common-lisp.net
>>> http://common-lisp.net/mailman/listinfo/elephant-devel
>>
>>
>> _______________________________________________
>> elephant-devel site list
>> elephant-devel at common-lisp.net
>> http://common-lisp.net/mailman/listinfo/elephant-devel
>
> _______________________________________________
> elephant-devel site list
> elephant-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel
More information about the elephant-devel
mailing list