[Antonio Beamud Montero]
> Solved... well, as you can see in the traceback, the zope-ZODB library
> was in the path, and I want using the ZODB alone installed in the python
> lib path... I've removed the /opt/zope/lib/python from my app pythonpath,
> and now all works fine...
Great! I'm especiall
I'm pleased to announce the release of ZODB 3.2.9 (final). This corresponds
to the ZODB (and ZEO) that will ship with Zope 2.7.7 (final) this coming
weekend.
In addition to minor bugfixes, there is one critical bugfix in 3.2.9,
concerning data consistency after a subtransaction commit. This was
[Christian Heimes]
> How expensive and costly are savepoints?
6, maybe 6.2, depending on the units you're using . Seriously, how
can such a question be answered? How expensive is math.log()?
> I wasn't able to find informations about it in the Zope docs.
Savepoints are very new, and AFAIK nobo
[Christian Heimes]
>>> How expensive and costly are savepoints?
[Tim Peters]
>> 6, maybe 6.2, depending on the units you're using . Seriously,
>> how can such a question be answered? How expensive is math.log()?
[Christian]
> My professor for numerical mathmatics w
[Christian Heimes]
> Today I stumbled over an unexpected behavior of savepoints. As far as I'm
> able to understand savepoints they mark a well defined state in the
> middle of a transaction.
Right.
> A savepoint is invalid if its transaction is committed
Right -- or aborted.
> or another savep
[Tim Peters]
...
> OTOH, the transaction.Savepoint.rollback() implementation is a bit
> schizophrenic: it invalidates self, but leaves it in the transaction's
> stack (for savepoints "after" self, it both invalidates them and removes
> them from the transaction'
[Christian Heimes]
...
>> From my point of view I can't see a reason why the ZODB forbids a
>> second rolback to the savepoint.
[Jim Fulton]
> I agree. This should be changed.
Sounds good to me -- it looks easy, so I'll do it .
___
For more informatio
[Christian Heimes]
>>> From my point of view I can't see a reason why the ZODB forbids a
>>> second rolback to the savepoint.
[Jim Fulton]
>> I agree. This should be changed.
[Tim Peters]
> Sounds good to me -- it looks easy, so I'll do it .
Something subt
[Tim Peters]
> Something subtler than I've been able to figure out yet is going wrong,
> so I made a tim-savepoint branch. All the tests pass, but ...
Br. The pickle cache invalidate method (which is coded in C, so isn't
visible from pdb) clears the dictionary passed to it,
[Tim Peters]
> ...
> The good news is that, while it was hard to find, it's a one-line repair.
Alas, that wasn't the end of it either. I think I'm at the end now, and all
the tests are passing again (including new tests to provoke new problems I
found).
A savepoint
[Jeremy Hylton]
> IIRC, the old implementation of savepoints kept a copy of the index at
> the time the savepoint was taken so that you could rollback to it
> multiple times. I don't think there's any way to avoid such a copy.
Right, and the current implementation did that too. The "surprise" wa
[Christian Heimes, suggests changing Transaction.commit() to start with
if subtransaction:
# TODO deprecate subtransactions
self._subtransaction_savepoint = self.savepoint(1)
return
if self._savepoint2index:
self._invalidate_all_save
[Jeremy Hylton]
> I understand. The further invariant is that the index captured when a
> savepoint created is immutable.
Or at least acts like it. Copying is an easy-to-code and effective way to
ensure that, and I don't know of a better feasible way. Capturing a lot of
savepoints (or doing a l
[Tim Peters]
...
>> I'm not sure I follow this: old code could not be using savepoints
>> directly, so what would break in code that stuck solely to subtxn
>> commits?
> ...
>> So I don't see how backward compatibility would be injured. BTW, I
>> trie
[Jim Fulton]
>> A good community project would be to convert all of the subtransaction
>> calls in Zope to savepoint calls.
[Christian Heimes]
> Done
>
> I found commit(1) in Zope3 zope.app.file.file Pdata handling and in code
> and tests in Zope2.
Bless you! Alas, I haven't received any message
[Victor Safronovich, having problems with "auto refresh"]
Victor (et alia), I think a discussion of auto-refresh would be more useful
on a Zope list -- it's not really (AFAIK) a ZODB issue.
This is what changed in ZODB, from ZODB 3.3c1's NEWS file (and no, it won't
be changed back to the way it w
[Jürgen Herrmann]
...
> so, what i need is a way to have my mechanism called before transaction
> commits (would be possible to use the hooks provided by zodb 3.4 for
> that, sure) and cycle through all modified objects (that's where the
> hooks in 3.4 are not enough for me, they don't provide any
[Jürgen Herrmann]
> hmm, as it seemed quite impossible the way i wanted it, i almost dropped
> it from my wishlist. now you say, it's doable...
It would be possible to add new official APIs to ZODB to supply some notion
of the collection of all modified objects, at the level ZODB "sees" objects.
"
[Jens Vagelpohl]
>>> Does't the *already included* zeoup.py do exactly what you are trying
>>> to do? See the bin directory of your zope home.
[Sidnei da Silva]
>> Unfortunately no. It uses ClientStorage, which goes through the 1000's
>> of lines of the connection dance using connect threads and l
[Jeremy Hylton]
>> IIRC, the old implementation of savepoints kept a copy of the index at
>> the time the savepoint was taken so that you could rollback to it
>> multiple times. I don't think there's any way to avoid such a copy.
[Dieter Maurer]
> Maybe, we keep the original implementation (a sav
[Jim Fulton]
>> It [reload] also doesn't handle global data properly.
>>
>> It tries to do something that Python modules were never designed to
>> support, which is to load them more than once.
[Shane Hathaway]
> However, given the existence of the reload() builtin, someone apparently
> believed P
[Dieter]
>>> If we do, we can (usually) create a one with the state after the
>>> "restore".
[Tim]
>> Sorry, I couldn't follow that sentence.
[Dieter]
> After I have restored to a savepoint "s", then the current state is the
> one saved in "s", thus the sequence:
>
> s.restore() # and elimina
[Paul Winkler]
> invalidation-queue-size is described in ZEO/component.xml like so:
>
>The storage server keeps a queue of the objects modified by the
> last N transactions, where N == invalidation_queue_size. This
> queue is used to speed client cache verification when a c
[Chris Bainbridge]
> After some time of running it seems that my process has a lot of
> ZEO.cache.Entry objects around... sys.getrefcount reports a huge number
> of references
To what was sys.getrefcount() applied? Which version of Python are you
using?
> (155989 when I only have 625 object refe
[Tim]
> ...
> If you have (or can create) a small, self-contained script showing the
> problem, that would be the most effective way to make progress.
Hmm! This appears to be enough:
import sys
import random
import logging
logging.basicConfig()
import ZODB
from ZODB.config import storageFromStr
[Tim Peters]
>> The refcount on Entry keeps growing. I suspect, but don't yet know,
>> that this is because FileCache._makeroom()'s should have another line:
>>
>> if e is not None:
>> del self.key2entry[e.key]
>>
[Florent Guillaume]
> Trying to understand some code...
>
> What part of the transaction/persistence code sets the _p_jar of a
> persistent object to that of its parent when the object is assigned to a
> persistent parent and transaction.commit(1) is called ?
I'm massively overloaded today, so it
[Florent Guillaume]
> Can someone confirm or infirm the fact that __inform_commit__,
> __inform_abort__, __load__ and __save__ methods are totally obsolete with
> the current transaction/persistence machinery? They still appear in a
> number of places, like Shared/DC/ZRDB/TM.py
>
> They are still m
[Florent Guillaume]
>>> What part of the transaction/persistence code sets the _p_jar of a
>>> persistent object to that of its parent when the object is assigned to
>>> a persistent parent and transaction.commit(1) is called ?
[Tim]
>> I'm massively overloaded today, so it would really help if yo
[Julien Anguenot]
...
>> The order argument could be an integer with a default value to 0 added
>> to the registration method.
[Gary Poster]
> I usually like the word 'priority' for this sort of value, rather than
> 'order'. To me 'order' implies unique value--i.e., with 'order' I am
> mildly sur
[Julien Anguenot]
> ...
> To make it clear the idea is if you got this and if we call it "order".
>
> Callback Ca order 0
> Callback Cb order 99
> Callback Cc order -99
>
> The order of execution will be Cc Ca and then Cb.
>
> Note the ones with a default order (e.g : 0) will be executed in
[Julien Anguenot]
>> +def beforeCommitHookOrdered(hook, order, *args, **kws):
>> +
>> """Register a hook to call before the transaction is committed. ...
>> +Note, a hook __call__() method can't define any 'order' argument
since
>> +this one is reserved by this method
[Florent
[Julien Anguenot]
> Zope3 seems to use one (1) underscore as a suffix like in :
>
> See for instance this :
>
http://svn.zope.org/Zope3/trunk/src/zope/app/component/metaconfigure.py?rev=
37586&view=auto
>
> """ def subscriber(_context, for_=None, factory=None, handler=None,
> provides=None, permiss
I'm pleased to announce the release of ZODB 3.4.1 final. This corresponds
to the ZODB that will ship in Zope 2.8.1. You can download a source tarball
or Windows installer from:
http://zope.org/Products/ZODB3.4
Note that there are two Windows installers, for Python 2.3 (2.3.5 is
recommended)
[Julien Anguenot]
> I renamed those arguments in both methods.
>
> How can we solve this 2 methods problem ? Deprecation of the old one ? Or
> can we live like this ?
I think this would leave us in the best state:
1. Deprecate beforeCommitHook(), to be subsumed by #2.
2. Change the name of your
[Florent Guillaume]
> Frankly I don't see the point of using bisect if you do a linear pass on
> the list first. The original code was clearer and was faster.
>
> If you had a "natural" way of getting the index, then why not. But anyway
> this kind of hook list will have only a few elements in it.
[Florent Guillaume]
> I guess you could simply store and increment then index as an attribute
> of the transaction, yes.
Right! That's an easy, "obviously correct" way to do it, and is the one I'd
probably do.
Another way is to define a little class to hold a hook's info, and give it a
__cmp__ m
[Julien Anguenot]
> ok I changed it as you mentionned above + the use of a global index on
> the transaction for the bisect. Like this the complexity is removed.
Thank you again, Julien! It's "obviously right" now, and that's always a
nice place to declare victory .
> For the deprecations, I che
[Jim Fulton, on Julien's addBeforeCommitHook() change]
> What is the motivation for this? Can you give any use cases?
>
> I'm -1 on this because it adds complexity to something that I think
> should be simple. It feels like something that is likely to be missused.
> I do have an open mind though.
[Jürgen Herrmann]
> i have a backend to establish many2many relations between objects. the
> relations are all bi-directional. for the storage i use a
> PersistentMapping, keys are relation names (strings), values are
> PersistentLists that hold the (globaly uniqe) oids of the related objects
> (st
Collector
http://www.zope.org/Collectors/Zope/1873
raises some odd issues. One (although the poster didn't realize this, it's
_part_ of their complaint) is that PersistentMapping doesn't play well with
the newer Python iteration protocol:
>>> from ZODB.PersistentMapping import PersistentMap
[Tim]
>> ...
>> It's tricky to implement this in a way that scales efficiently to
>> a "large number" of hooks. I assume that's not a problem, because
>> the current implementation doesn't scale efficiently either (it's
>> quadratic-time in the number of hooks), and nobody has complained
>> about
[Tim]
> ...
> Julien provided links to code that already uses the new feature:
>
> """ As an Indexation Manager :
> http://svn.nuxeo.org/trac/pub/file/CPSCore/trunk/IndexationManager.py
>
> As an Event Manager :
> http://svn.nuxeo.org/trac/pub/file/CPSSubscriptions/trunk/EventManager.py
> """
>
> H
[fwd'ing private msg, since it appears to have been intended to
go to the list]
-Original Message-
From: Jürgen Herrmann [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 23, 2005 7:31 AM
To: Tim Peters
Subject: RE: [ZODB-Dev] python types question
hi!
first of all, thanks to ever
[Victor Safronovich]
> Some workaround for me(the Collector 1873 poster) was to use data
> attribute of the UserDict instances.
>
> >>> from ZODB.PersistentMapping import PersistentMapping
> >>> from BTrees.OOBTree import OOBTree
> >>> r = OOBTree()
> >>> r.update( PersistentMapping({1:1}).data)
>
[Dieter Maurer]
> Subtransactions used to be used for two purposes:
>
> * ensure that newly created objects get "_p_" attributes
> (especially "_p_jar" and "_p_oid")
>
> * release memory in the mid of large transactions
> (i.e. reading and/or writing large amounts of objects)
>
> Wi
[Dieter]
>>> Subtransactions used to be used for two purposes:
>>>
>>> * ensure that newly created objects get "_p_" attributes
>>> (especially "_p_jar" and "_p_oid")
>>>
>>> * release memory in the mid of large transactions
>>> (i.e. reading and/or writing large amounts of objects)
>>>
[Dieter]
>>> Now plug and play comes into play:
>>>
>>> Assume two packages developped by independent people
>>> which all want to control the order of hook execution.
[Jim]
>> Do we have evidence that such applications exist? So far, the only
>> example I've seen is one where an application w
[Jürgen Herrmann]
> from the silence after my last question
Hard to tell much from that. There are far fewer active participants on
this list than on, say, your average Zope list, and sometimes they're all
just busy.
> i deduct that there is no zodb-optimized list type that preserves list
> orde
[Ruslan Spivak]
> I just read links sent by Dmitriy and see that people have different
> views about 'setdefault'.
Dmitry proposed, and I asked for use cases.
http://mail.zope.org/pipermail/zodb-dev/2004-October/008044.html
explains why I doubt setdefault() would be added to the Python core
[Ruslan Spivak]
>> I'd like to implement 'setdefault' method for BTrees. For me it seems
>> like lacking feature of mapping protocol. It can be of course easily
>> emulated, but "Readability counts."(C) :)
>>
>> If there won't be objections regarding this method then i'll try to make
>> this excerc
In IRC yesterday, Stephan Richter was writing a database migration script
that wanted to (re)store the state of every object's current revision.
FileStorage in ZODB 3.5 has a new iteration protocol (see NEWS.txt) to
deliver current revisions, and the relevant (to _this_ msg) part of
Stephen's code
I'm trying to straighten out the new BTree.setdefault() code, on
ZODB/branches/alienoid-btrees_setdefault.
Turns out this can't work like Python's dict.setdefault() in all cases.
This is why:
>>> d = {}
>>> d.setdefault(666)
>>> d
{666: None}
That is, the default for the optional ``default`` arg
[Tim Peters]
> ...
> Proposal: make BTree/Bucket setdefault() a two-argument function (3 if
> you count ``self`` too). In practice, an explicit default is always
> passed, and not even in theory could we come up with a sane
> default-default that works across all tree types.
Thi
[Tim]
>> ...
>> Nothing else to do, so in the absence of objections I'll merge this to
>> ZODB trunk tomorrow.
[Ruslan]
> Oh, you already did that, cool! Thanks, no objections from my side :)
In that case, none from my side either ;-)
___
For more info
[Tim Peters]
>> I'm trying to straighten out the new BTree.setdefault() code, on
>> ZODB/branches/alienoid-btrees_setdefault.
>>
>> Turns out this can't work like Python's dict.setdefault() in all cases.
>> This is why:
>>
>> >>>
[Dmitry Vasiliev]
> Since then I've changed my mind and almost haven't used setdefault(). So
> now I'm only +0 on the idea. :-) I think pop() is even more useful than
> setdefault(), I've planned to use it for some persistent queue
> implementation (based on BTrees). So if setdefault() will be adde
[Ruslan Spivak]
> Really, that usage of calling setdefault without explicit default is
> confusing and useless IMHO too. I just wanted to think about possible
> solution if someone ever could think about usefulness of setdefault
> without default, but definitely in that case
> {float,int,object}val
[Arthur Peters]
> I want to do the following: commit a change to an object, then commit
> another. Now I want to undo the second change. Easy: get the tid using
> undoLog and call undo(tid, transaction.get()). Now the following
> transactions are in the DB:
>
> - Change 1
> - Change 2
> - Undo chan
[Ruslan Spivak]
> Do you think code for pop() should go into separate branch?
I think code for pop() should go on _a_ branch, yes.
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/
ZODB-Dev mailing list - ZODB-De
[Arthur Peters]
> Thanks you very much.
Hey, we're both named Peters -- you're probably the son I never knew (or
vice versa ;-))
> I'm still having issues but I'll investigant it myself before I ask
> anything else. I think I came across as pushy and demanding and I'm
> sorry. I didn't mean to. I
[Tim Peters]
>> Since setdefault() is going into ZODB 3.5 (I'm going to merge Ruslan's
>> branch into the trunk today), if anyone would like to code up
>> pop() implementations too, I won't object. Overall, I like pop()
>> better than setdefault() too.
[Jeremy Hylton]
> What version of Python? I believe we added cyclic GC support to
> picklers to address this problem,
That sounds right.
> but that was probably for Python 2.4.
But that doesn't. Cyclic gc wasn't new in 2.4, and for ZODB 3.3 the first
release that even had a 2.4 Windows install
I'm pleased to announce the release of ZODB 3.5 final. This corresponds to
the ZODB that will ship in Zope 3.1. You can download a source tarball or
Windows installer from:
http://zope.org/Products/ZODB3.5
Note that there are two Windows installers, for Python 2.3 (2.3.5 is
recommended) and
[Ruslan Spivak]
> Great!
>
> BTW, i noted you changed svn:externals for ZODB in Zope 3.1 branch, but
> not for the trunk, is there any reason, or you will do it lately?
Unfortunately, things got done in a wrong order here. ZODB 3.5 final is
really closest to ZODB 3.5.0a7, which is earlier than th
[Pierre Dumonceau]
> Thank you very much for your eye-opening answer. We thought that there
> could have been a memory leak because the memory was not returned to the
> OS. That degraded the performances of our application. After some search
> on the Web, we:
> * applied the patch from Evan Jones t
[Chris Bainbridge]
> I noticed the following error installing Gentoo / python 2.3.5:
>
> byte-compiling
/var/tmp/portage/zodb-3.5.0/image/usr/lib/python2.3/site-packages/zope/testi
ng/testrunner-ex/sample2/sampletests_f.py
> to sampletests_f.pyc
> byte-compiling
/var/tmp/portage/zodb-3.5.0/image/us
importx unittest
>>^
>> SyntaxError: invalid syntax ...
[Tim Peters]
> Ah, fudge. That's a genuine syntax error in the zope.testing file
> named (it says "importx" instead of "import").
>
> Jim, know immediately what's up with tha
[Tim Peters]
>> ...
>> I would like to make it an error (raise a ValueError exception) to
>> attempt to set obj._p_changed to a true value when obj is a ghost. Does
>> anyone object?
[Dieter Maurer]
> I came along an argument against this change:
>
> Assume
[Sidnei da Silva]
> We've hit an error that seems to be related to some code that probably
> has no tests coverage.
>
> When a marshalling error occurs, we get the following traceback, which
> seems to be trying to reference a '.errors' attribute of a Marshaller
> instance that doesn't seem to exis
[Lalo Martins]
...
> When upgrading hardware in one of our servers, our admins accidentally
> set the clock to the right hour, minute, day and month, but 2015.
>
> We took a few days to notice that our zope timestamps were not showing up
> (or sorting) quite as expected. "Oops." They quickly fixed
[Lalo Martins]
>>> A few days later, we realized that pack wasn't working anymore
[Tim Peters]
>> What does "wasn't working" mean? ...
[Lalo]
> sorry for not giving detail here, I figured it would be obvious.
>
> During the clock skew, the database
[Paolo Linux]
> as a zodb newbie I had a hard debugging session...
>
> I had zodb hanging when It had to solve Conflict situations. It turned
> out to be that it tried to import some modules that tried to instantiate
> ClientStorage...
>
> I easily fixed the hurting code... Lesson learned:
>
[Erik Lundh]
> I have used Zeo with Zope 2.7.6 for some time now. I currenty run Plone
> 2.05 on Zope 2.7.6 with zeo in production. Zope and Zeo runs on the same
> machine running Debian Linux 3.0 (i386). I started using zeo to make
> debugging of a simple skin product easier.
>
> Now I am moving t
[Victor Safronovich]
> ...
> it should be better to add addAfterCommitHook to transaction
> as in addBeforeCommitHook.
Sounds like a reasonable idea to me. Who wants to implement it? (It should
be done on a branch off of current ZODB trunk, which is current ZODB 3.6
development.)
The fi
[Victor Safronovich]
>>> ... it should be better to add addAfterCommitHook to
>>> transaction as in addBeforeCommitHook.
[Julien Anguenot]
> yup it could be really useful to trigger non transactionnal code from
> there. We might use this in here with our CPSRelation product and the rdf
> db
[Lalo Martins]
>>> It considers timestamps in the future as infinitely old; so in a
>>> hypotetical database where all transactions are in the future, it would
>>> copy only "reachable" transactions.
[Tim Peters]
>> Offhand that makes sense. It would be
[Sidnei da Silva, to Erik Lundh]
> Hint: If you are using persistent (disk-based) ZEO cache, removing the
> cache file and/or disabling persistent caching.
It sounds like Erik is hitting problems immediately on a fresh, virgin setup
-- in which case there shouldn't be any cache files sitting aroun
[Tim Peters]
>> ...
>> OTOH, if we view the after-commit hook as running at the very start of
>> "the next" transaction, the implementation becomes harder to picture
>> (although the edge case semantics become clearer: the after-commit
>> hooks run "i
I'm pleased to announce the release of ZODB 3.5.1 final. This corresponds
to the ZODB that will ship in Zope 3.1.0 final. You can download a source
tarball or Windows installer from:
http://zope.org/Products/ZODB3.5
Note that there are two Windows installers, for Python 2.3 (2.3.5 is
recomm
[Julien Anguenot]
> ...
> I mean, this is an *after* commit hook after all. If one wants to change
> persistent objects then one can use the beforeCommmitHook() (with
> ordering support right ;) ) to launch it at the end just before the
> actual commit.
>
> I see, on my side, the afterCommitHook sy
[Chris Withers]
> If I abort a transaction (and bear in mind this might well happen after
> a ConflictError has been caught)
Shouldn't matter whether an exception occurred, or, if one did occur, which
particular exception it was.
> do I need to do a sync() or some such to bring all the objects ba
[Christian Theune]
> this is nasty. We detected a couple of hangs with a Zope 2.7.7 final and
> (using the DeadlockDebugger) we found this situation in every of the four
> threads: (See attached file for complete listing of all threads)
And there are 4 threads each stuck at self._commit_lock_acqui
[Tim]
>> The code does seem to implicitly assume that neither of those _will_
>> raise an exception, and I agree the commit lock release belongs in
>> the `finally` clause instead.
>>
>> I'll change that, but doubt it will make a difference to you: if either
>> of those did raise an exception, I e
There's a new "zodbbench" project, at
svn://svn.zope.org/repos/main/zodbbench/trunk
Those on the zodb-checkins mailing list may already have noticed that
zodbbench checkins show up on that list too.
Sad but true: we've never had a way to quantify ZODB performance across
releases (or across
[Christian Theune]
> It looks like we have been bitten by a bug in a C-Module for MySQL
> access. Sometimes it led to a segfault, a halt, or the hang. We can't
> reproduce it after switching that C-Module anymore.
Any theory for how that could make all four threads appear to be blocked on
an attem
[Chris Spencer]
> I'd like to be able to stop a ZEOServer instance from a
> separate thread.
AFAICT, (a) there is no defined API for stopping a ZEO
server; and, (b) there should be.
> I've read ThreadedAsync.LoopCallback, which says to set
> exit_status to a non-none value to stop the server's
>
[Chris Withers]
> We've been seeing these errors for a while now, but had assumed it was
> due to an old Zope version. We've been running 2.7.7 for a week or two
> now and we're still seeing these intermittently:
At any particular time(s)? For example, do these (either or both) tend to
occur when
[Jeremy]
> The default transaction manager maintains a separate
> transaction for each thread. When you call
> transaction.commit() from thread T1, it
> commits the transaction for thread T1. It has no effect
> on other thread's running transactions.
My apologies if this has been mentioned alrea
I'm pleased to announce the release of ZODB 3.4.2 final. This corresponds
to the ZODB in Zope 2.8.2 final. You can download a source
tarball or Windows installer from:
http://zope.org/Products/ZODB3.4
Note that there are two Windows installers, for Python 2.3 (2.3.5 is
recommended) and Pyth
I'm pleased to announce the release of ZODB 3.2.10 final. This corresponds
to the ZODB in Zope 2.7.8 final. You can download a source
tarball or Windows installer from:
http://zope.org/Products/ZODB3.2
Note that there are two Windows installers, for Python 2.3 (2.3.5 is
recommended) and Pyt
[dvd]
> this my first post to this list, and first of all thanks for your work.
>
> I'm developing a ZODB based Collection Management software, and, for a
> bunch of reasons, i have to know the list of modified objects before the
> current transaction commit. Looking around seems there is no a publ
[Chris Spencer]
[...]
> I'm fully aware of Pickle's limitations. My question was why are you
> accepting them?
Regardless of topic, the answer to that question is usually "although I
don't have time for it in any case, if I did I can think of 100 other things
likely to have better payoff" <0.5 win
[Tino Wildenhain]
> ...
> Btw, (hijacking the thread because a bit related) how can I serialize the
> state of a generator object? (e.g. for caching it between requests)
> Pickle does not work for it (whyever)
You cannot. A generator-iterator contains (among other things) a Python
stack frame, an
[Chris Withers, about getting at the collection of modified objects]
> How hard would it be to expose?
The coding would be trivial in ZODB 3.6 (earliest version a new feature
could land) if limited solely to Connection objects. More work to specify
the interface and write tests.
> Would there be
[Chris Withers]
>>> We've been seeing these errors for a while now, but had assumed it was
>>> due to an old Zope version. We've been running 2.7.7 for a week or two
>>> now and we're still seeing these intermittently:
...
>>> AttributeError:
[Chris Withers]
>>> First question, would you mind if I added oid_unrepr to ZODB.utils? I
[Dieter Maurer]
>> Why do you not like "p64" (which is already there)?
[Chris]
> If that's the case, then great :-)
>
> I was just asking 'cos I couldn't find he functionality anywhere,
You found ZODB.utils
[Victor Safronovich]
>>> invalidate
[Dieter Maurer]
>> I think, this is not easily available, but
>> "obj._p_changed = None" might work
[Victor]
> What about obj._p_invalidate()?
I don't think _p_invalidate() existed before ZODB 3.3.
At and after 3.3,
obj._p_invalidate()
is the
[Ron Wills]
> I hope this is the right place to ask about this...
Yup! Although given the nearly detail-free scenarios you gave us, I hope
you weren't hoping for answers too ;-)
> I have a new project using ZODB (migrating from sql). Everything is
> work well except for one PersistentMapping cl
[Chris Withers]
> ...
> Hmm.. well, I guess the clients could have restarted during the day and
> so maybe it is a startup race?
If a client restarted during the day, wouldn't you find evidence of that in
your logs?
...
That one comes out of Connection.setstate(), and appears to mean what
>
101 - 200 of 371 matches
Mail list logo