[elephant-devel] DB migration issue
Yarek Kowalik
yarek.kowalik at gmail.com
Mon Dec 29 18:13:27 UTC 2008
Quan,
Unstable is here:
http://www.common-lisp.net/project/elephant/darcs/elephant-unstable
Yarek
On Mon, Dec 29, 2008 at 5:37 AM, Ian Eslick <eslick at media.mit.edu> wrote:
> That would be elephant-unstable
>
> Sent from my iPhone
>
> On Dec 29, 2008, at 7:36 AM, Ian Eslick <eslick at media.mit.edu> wrote:
>
> > Hi Quan,
> >
> > Can you try the latest darcs with BDB 4.6 or 4.7? I made some changes
> > to migration, but I can't recall if they were in the latest darcs or
> > not - I think the latest darcs doesn't play well with BDB 4.5 so
> > please make sure you can reproduce under the above configuration if
> > you can.
> >
> > Thank you,
> > Ian
> >
> > On Dec 29, 2008, at 3:40 AM, quan hu wrote:
> >
> >> Hello,
> >>
> >> I run into a problem when doing the garbage collection via data
> >> migration.
> >> The environment is elephant 0.9.1 and BDB 4.5. I also tried
> >> the latest elephant in darc and get the same result.
> >>
> >> 1. Test case to reproduce the problem.
> >>
> >> (defpclass user-profile()
> >> ((id :initform nil :index t)
> >> (sms-inbox :initform (make-pset))))
> >>
> >> ;; Create a new db for test purpose
> >> (setf *migrate-src* (open-store '(:bdb "/tmp/db/src/")))
> >> (setf *test-obj* (make-instance 'user-profile :sc
> >> *migrate-src*))
> >> (insert-item 'foo (slot-value *test-obj* 'sms-inbox))
> >> (setf *migrate-dst* (open-store '(:bdb "/tmp/db/dst/")))
> >>
> >> TEST> (migrate *migrate-dst* *migrate-src*)
> >> Migrating class indexes for: USER-PROFILE
> >> ; => Input get blocked, not response anymore
> >>
> >> 2. Using "db_stat -C A" get following output:
> >> 1 Lock requests not available due to conflicts, for
> >> which we waited
> >>
> >> 3. I do some debug work and found the problem may be caused
> >> by nested transaction of different store controller.
> >> I can reproduce the issue with following code segment
> >>
> >> TEST> (ensure-transaction (:store-controller *migrate-dst*)
> >> (add-to-root 'foo 'foo :sc *migrate-dst*)
> >> (ensure-transaction (:store-controller
> >> *migrate-src*)
> >> (add-to-root 'bar 'bar :sc *migrate-
> >> dst*)))
> >>
> >> This kind of nested transaction scenario can appear in
> >> the migrate process, because it uses source/destination store
> >> controller at the same time.
> >>
> >> I do not understand why different store controller's
> >> transaction can result in the lock conflict and want to know how to
> >> fix it.
> >>
> >> Is there anyone meet the similar problem before?
> >>
> >> Thanks
> >> Quan
> >>
> >>
> >>
> >>
> >>
> >> _______________________________________________
> >> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/elephant-devel/attachments/20081229/7a4f4d57/attachment.html>
More information about the elephant-devel
mailing list