objects added via ZEO ClientStorage not making it into the DB
Bill Janssen <[email protected]>
| Newsgroups | gmane.comp.web.zope.zodb |
|---|---|
| Message-ID | <[email protected]> |
I'm seeing missing objects. Here's my scenario. Python 2.7.11 on Ubuntu 15 (and 16), ZODB 4.2, ZEO 3.7.0b3. I start a parent process; it sets up a ZEO server, then uses multiprocessing.Process to start a child process. The child uses ClientStorage to connect to the server, then adds an object. The object has a UUID attribute. The child calls transaction.commit(). Everything seems good. The child exits. The parent notices that the child has exited, and connects to the ZEO server with another ClientStorage client. It looks for an object in the DB with the UUID. Not found. The parent exits. I then shut down the ZEO server, and connect directly to the DB with FileStorage. No object with that UUID attribute. I can add an object via ZEO ClientStorage directly (in a top-level process) with no problems. I've only observed this issue with the multiprocessing.Process. Perhaps this has to do with the number of module-level variables salted away by ZODB and ZEO, like transaction.manager; probably don't really want them to persist after a fork? How does transaction.manager, for instance, know what Connection is doing what? Bill -- You received this message because you are subscribed to the Google Groups "zodb" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.