Unfortunately I can't say alot about schema evolution and synchronization in the old code. I don't believe there are any provisions for locking between threads, let alone processes, for class evolution. I think there may be some index caching going on a per- process level.

How do you synchronize schema changes between processes? After updating the schema you don't have problems seeing the new index, just seeing new instances in an index that was updated by the other process, correct?

I'll try to look into this tomorrow also.

Ian


On Jul 17, 2008, at 5:04 AM, Leslie P. Polzer wrote:


LPP> Sometimes[1] when image/process B adds persistent objects,
LPP> I have to call SYNCHRONIZE-CLASS-TO-STORE in process A
LPP> to get them picked up.

does it have something to do with process of defining/redefining classes, or your schema is rock-solid and defined before processes A and B start?

I regularly make small modifications to those classes (add/remove slots,
add/remove slot indices) and activate them asynchronously in A and B
(usually process A gets the modifications first).


what do you mean by "picked up" -- seen via indices, or something else?

Seen via indices.

 Leslie

_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

Reply via email to