if they haven't,
because obviously implicit is better than explicit, and when there's
temptation the right thing is to guess behavior anyway, and we
*definitely* don't want broken sdists on PyPI.)
Marius Gedminas
--
QOTD:
A child of 5 could understand this! Fetch me a child of 5.
signature.asc
on Acquisition? Is it possible
to replicate the bug using pure Python code?
Marius Gedminas
--
Q: A good ninja is hard to find.
A: Well, yes, actually, being hard to find is the whole point with them.
-- http://tinyurl.com/5tnrwr
signature.asc
Description: Digital signature
On Mon, Feb 03, 2014 at 03:33:13PM +0100, Godefroid Chapelle wrote:
Le 03/02/14 15:12, Marius Gedminas a écrit :
Could you tell us why that test depends on Acquisition? Is it possible
to replicate the bug using pure Python code?
I have not been able to replicate the bug with pure Python
On Thu, Aug 22, 2013 at 03:40:41PM -0600, Sean Upton wrote:
Caveat to this below.
On Mon, Jul 15, 2013 at 7:54 AM, Marius Gedminas mar...@gedmin.as wrote:
On Mon, Jul 15, 2013 at 03:36:21PM +0200, Pedro Ferreira wrote:
We need to move a considerable number of persistent objects (~40K
/dictionary solution?
Or am I misunderstanding it?
No, this is based on ZODB's use of pickles. The database stores the
fully-qualified name of the module and class of each object, so if you
make the classes importable using the old module and class name, the
objects can still be loaded.
Marius Gedminas
containers everywhere; sometimes application-specific
logic works best; sometimes you end up having to use ZODB iterators to
loop through every single object in the DB -- I believe zodbupdate does
that.)
3. (Optional) Remove the BBB import added in step 1.
HTH,
Marius Gedminas
--
Voodoo Programming
On Fri, May 24, 2013 at 09:31:55PM -0400, Tres Seaver wrote:
On 05/24/2013 01:28 PM, Marius Gedminas wrote:
I was trying to debug a failing ZEO test case
(testConcurrentUpdates), and found out it had nothing to do with
ZEO. There's a bug either in BTrees or in ZODB itself that causes
, 1:1, 2:2}.
There's also a larger test case (zodbfail.py) that modifies more than
one item in a thread. That one fails pretty reliably.
This only happens under Python 3.x.
To reproduce::
git clone git://gist.github.com/5644876.git zodbfail
cd zodbfail
detox
Marius Gedminas
into these failures?
I'm not familiar with ZEO.
Marius Gedminas
--
Nobody will ever need more than 640k RAM!
-- Bill Gates, 1981
Windows 95 needs at least 8 MB RAM.
-- Bill Gates, 1996
Nobody will ever need Windows 95
that, the ZODB py3 branch works on Python 3.3 [10]. As long as
you're prepared to deal with bytestrings magically transforming into
unicodes.
[10] Stephan reported running an actual small demo application with it.
Where do we go from here?
Marius Gedminas
--
Basically, what Ajax means
before we switched to zodbpickle,
which indicates missing tests: pickles produces on Python 2 most
likely cannot be loaded on Python 3 (that was one of the main
reasons for zodbpickle's existence).
Marius Gedminas
--
You know, you never truly appreciate how handy living next to a creek
as index_root:
ZQ.preload_catalog(index_root.index.catalog)
connwrap.close()
Every thread has its own in-memory ZODB object cache, but if you have
configured a persistent ZEO client cache, it should help.
Marius Gedminas
--
Never trust a computer you can't repair yourself
it, at least with Python 2.x.
Marius Gedminas
--
We don't really understand it, so we'll give it to the programmers.
signature.asc
Description: Digital signature
___
For more information about ZODB, see http://zodb.org/
ZODB-Dev mailing list - ZODB-Dev
On Wed, Nov 07, 2012 at 04:45:59PM -0500, Jim Fulton wrote:
Not to be confused with ZODB3! :)
This is the first ZODB 4 release.
Not to be confused with the old ZODB4 either, I suppose ;)
http://wiki.zope.org/ZODB/ZODB4
Marius Gedminas
--
A real friend isn't someone you use once
On Thu, Aug 30, 2012 at 11:19:22AM -0600, Shane Hathaway wrote:
On 08/30/2012 10:14 AM, Marius Gedminas wrote:
Here's the code to reproduce it: http://pastie.org/4617132
Updated version with more explicit logging and fewer unnecessary things:
http://pastie.org/4630898
And here's the output
-- and that other transaction
couldn't proceed because it was waiting for the ZEO lock.)
Marius Gedminas
--
People who think, Oh this is a one-off, need to be offed, or perhaps politely
removed from the project.
-- George Neville-Neil
signature.asc
Description: Digital signature
, and not, say, '__main__'.
Marius Gedminas
--
Never be afraid to tell the world who you are.
-- Anonymous
signature.asc
Description: Digital signature
___
For more information about ZODB, see http://zodb.org/
ZODB-Dev mailing list - ZODB-Dev
database growth and increase the chances of getting ConflictErrors.
Marius Gedminas
--
An expert is a person who has made all the mistakes that can be made in a very
narrow field.
-- Niels Bohr
signature.asc
Description: Digital signature
):
return PersistentDict()
Marius Gedminas
--
If you have to run heating in winter, you don't own enough computers.
signature.asc
Description: Digital signature
___
For more information about ZODB, see http://zodb.org/
ZODB-Dev mailing list
to notice. Because
ZODB caches object instances, nonpersistent subobject modifications live
on in memory until those objects get flushed (or Zope gets restarted),
so you only notice you've a bug in your code when changes start
mysteriously disappearing a few days after they're made.
Marius Gedminas
import transaction
transaction.__file__
?
Marius Gedminas
--
The IQ of the group is the lowest IQ of a member of
the group divided by the number of people in the group.
signature.asc
Description: Digital signature
___
For more information about ZODB
that you may need to implement some kind of retry logic if commit()
raises a ConflictError due to conflicting updates.
Marius Gedminas
--
main(k){float i,j,r,x,y=-16;while(puts(),y++15)for(x
=0;x++84;putchar( .:-;!/)|IH%*#[k15]))for(i=k=r=0;
j=r*r-i*i-2+x/25,i=2*r*i+y/10,j*j+i*i11k++111;r=j
a list of options.
You could also put nginx in front, to take care of ill-behaved HTTP
clients.
Marius Gedminas
--
Never be afraid to tell the world who you are.
-- Anonymous
signature.asc
Description: Digital signature
___
For more
() liberally only after I was
able to see the notes in ZODBBrowser (and became annoyed by transactions
that didn't have notes).
That reminds me, I need to patch ZODBBrowser to show extended info (such as
the request type and URL).
Marius Gedminas
--
Shift happens.
-- Doppler
-packages does not scale.)
Buildout is much more capable, but has a somewhat steeper learning curve.
Marius Gedminas
--
If you are angry with someone, you should walk a mile in their shoes... then
you'll be a mile away from them, and you'll have their shoes.
signature.asc
Description: Digital
):
-- 125 tree = self._data.get(key[:6], default)
126 if tree is default:
127 return default
TypeError: 'int' object is unsubscriptable
This makes more sense than the EOF error above.
Marius Gedminas
--
I am monolingual and English is the ling I mono
On Thu, Mar 22, 2012 at 11:07:09PM +0200, Marius Gedminas wrote:
On Thu, Mar 22, 2012 at 04:13:34PM -0400, Claudiu Saftoiu wrote:
Ok, I just got a ConflictError:
ConflictError: database conflict error (oid 0x139c35, class
BTrees.OOBTree.OOBucket, serial this txn started
db.open() to get a connection.
If you have multiple *processes* rather than threads, use ZEO. ZEO
works fine over Unix domain sockets (this is, in fact, my preferred
method of deployment).
Marius Gedminas
--
There is a 70% probability of tomorrow. (Actual weatherman quote, 1988)
signature.asc
uncommitted changes
you want to keep).
print root['counter'] =, root['counter']
Marius Gedminas
--
This is, or so I'm told, a classic book. I can see why. It is long and it
requires a great effort to finish it. If you go through a great effort to
suffer for a long time, you are allowed to sneer
correctly when it checks
for reachability? I would hope so, but I don't really know. It would
only work if you're packing all the storages together, presumably.
Marius Gedminas
--
Well, there's a quantum computer that can factor 15, so those of you using
4-bit RSA should worry.
-- Bruce
assume objects are garbage when it shouldn't).
Packing with GC disabled ought to be safe.
Marius Gedminas
--
The world is really obsessing over the UI preferences of the person who gave us
git?
-- Matthew Garrett
signature.asc
Description: Digital signature
On Thu, Feb 09, 2012 at 01:25:48AM +0200, Marius Gedminas wrote:
On Wed, Feb 08, 2012 at 01:24:55PM +0100, Kaweh Kazemi wrote:
Recap: last week I examined problems I had packing our 4GB users
storage.
...
unp = pickle.Unpickler(f)
unp.persistent_load = lambda oid: 'persistent
- no. With FileStorage - yes. No issues after moving
a few Data.fs'es from 32-bit to 64-bit Linux machines.
Marius Gedminas
--
Special bonus feature: absolutely nowhere in RetchMail's code is there an
arbitrary 3-second sleep(). Wow! What other mail retriever can say that? (Hint:
not fetchmail
On Wed, Dec 07, 2011 at 03:00:10AM +0200, Marius Gedminas wrote:
With complimentary automated functional test cases and a README at
https://github.com/mgedmin/repozo-testcases
Bug #1: insufficient error detection.
You can truncate a *.deltafs in the middle, and repozo -R doesn't notice
, this email is probably more descriptive than the README.txt.
Marius Gedminas
--
The clothes have no emperor.
-- C.A.R. Hoare, commenting on ADA.
signature.asc
Description: Digital signature
___
For more information about ZODB, see http
of this.
Marius Gedminas
--
It also makes sense in the case of 1872, where most of Horace Greenly's
electors came to the sensible conclusion that the death of their candidate made
him unfit for office.
-- matthewwdaly explains the workings of the US Electoral College
signature.asc
Description: Digital
On Fri, Dec 31, 2010 at 08:39:22AM +0100, Godefroid Chapelle wrote:
Le 31/12/10 04:08, Marius Gedminas a écrit :
On Fri, Dec 31, 2010 at 02:02:36AM +0100, Godefroid Chapelle wrote:
I have been fighting all day to understand a bug with the unregistration
of a utility from a local site
up a __new__ method to always return the
same instance, so you can unregister it cleanly before removing the
code. This will not work if you have more than one instance in the DB.
Fixing up _subscribers directly is also a possible workaround, if you're
feeling brave.
Marius Gedminas
--
/* Intel
noticeable difference -- other than the obvious memory
growth -- is that string hashes are computed differently, which changes
the ordering of dict.keys(). Thankfully, pickles do not rely on that
implementation detail.
Marius Gedminas
--
It's possible to describe anything in mathematical notation
the child process, which resulted in
this kind of child keeps restarting, sysadmin has no clue why if an
exception happens during startup.
Make sure your zdaemon.conf has
runner
...
transcript $LOGDIR/transcript.log
...
/runner
or something like that.
Marius Gedminas
, and have
the extra protection once they've fixed any issues?
Or perhaps make it emit DeprecationWarnings, but continue working. Then
make it a fatal error in the next minor/major release.
Marius Gedminas
--
Include me out.
signature.asc
Description: Digital signature
implementation.
Dump it using items() and add it one-by-one to an empty OOTreeSet to
recover.
Marius Gedminas
--
Anybody who doesn't cut his speed at the sight of a police car is
probably parked.
signature.asc
Description: Digital signature
# define __le__, __gt__, __ge__ in a similar way
to persistent.Persistent?
Marius Gedminas
--
The old political syllogism something must be done: this is something:
therefore this will be done appears to be at work here, in spades.
signature.asc
Description: Digital signature
when the objects are
loaded back from the ZODB and end up at a different memory address. The
default comparison provided by Python doesn't cut it.
So: does your Chatroom define __cmp__ or __lt__, __le__, __gt__, __ge__,
__eq__, __ne__ methods?
Marius Gedminas
--
Writing setattr hooks properly
On Thu, Sep 23, 2010 at 10:53:03AM -0400, Stephan Richter wrote:
On Thursday, September 23, 2010, Jim Fulton wrote:
Comments?
Sounds good and addresses my concerns raised in the discussion of the bug.
What bug?
Marius Gedminas
--
Being really good at C++ is like being really good at using
can I find out what code is actually touch this and so causing this
CW conflict?
Marius Gedminas
--
1 4m 5o 3l337! just got r00t on this a href=127.0.0.1k3wl site/a j00
sux0r5!
signature.asc
Description: Digital signature
___
For more information about
is a function which adds a player and returns PlayerRoot and
CountRoot
findplayerbyname returns a player object
every club object has an attribte Players which is a list.
Marius Gedminas
--
No proper program contains an indication which as an operator-applied
occurrence identifies an operator
the same DB object
(which would make the tests easier to write in this case) and simply
tell it to use the top of the stack at all times?
IMHO it's easier to find a way to pass the current database to the tests
than to make the database switch storages on the fly.
Marius Gedminas
--
Never
'zope.session.session.SessionPkgData'
1 class 'schooltool.course.section.SectionContainer'
1 class 'zope.intid.IntIds'
Marius Gedminas
--
Did you know that 7/5 people don't know how to use fractions?
signature.asc
Description: Digital signature
/$fd /new/path
(sadly, ln doesn't seem to work -- Invalid cross-device link -- so you
need twice as much disk space)
Marius Gedminas
--
Only great masters of style can succeed in being obtuse.
-- Oscar Wilde
Most UNIX programmers are great masters of style
.__setstate__(field.__getstate__())
Alternatively, you can assure that field is acticated first, using
_p_activate or by accessing an
attribute.
Regards,
Marius Gedminas
--
Those of you thinking that grown men with serious jobs should be above such
phrases as way friendlier should realise
this for Zope 3.
Marius Gedminas
--
System going down at 5 this afternoon to install scheduler bug.
signature.asc
Description: Digital signature
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/
ZODB-Dev mailing list
? zc.zodbgc?
Bits and pieces of ZODB itself?
The wishlist bug for this feature is here:
https://bugs.launchpad.net/zodbbrowser/+bug/497758
Marius Gedminas
--
Linux don't need no steenkin' viruses. The users can destroy the
system all by themselves
-- Peter Dalgaard
On Thu, Dec 10, 2009 at 11:08:25AM +, Chris Withers wrote:
Marius Gedminas wrote:
* In ZODB 3.8, the 'version' argument of ClientStorage.history (as well
as other kinds of storages, I suppose) is mandatory. In ZODB 3.9
it's gone.
Solved by peeking into the method
On Thu, Dec 10, 2009 at 10:08:36AM -0500, Jim Fulton wrote:
On Thu, Dec 10, 2009 at 5:58 AM, Marius Gedminas mar...@gedmin.as wrote:
On Wed, Dec 09, 2009 at 01:04:03PM -0500, Jim Fulton wrote:
On Wed, Dec 9, 2009 at 12:06 PM, Marius Gedminas mar...@gedmin.as wrote:
...
(Supporting both
On Thu, Dec 10, 2009 at 12:41:11PM -0500, Jim Fulton wrote:
On Thu, Dec 10, 2009 at 11:54 AM, Marius Gedminas mar...@gedmin.as wrote:
...
Well, there is IStorage, and I think all storages (except for
FileStorage) implemented it faithfully
I guess that depends on what you mean
On Thu, Dec 10, 2009 at 02:07:06PM -0500, Jim Fulton wrote:
On Thu, Dec 10, 2009 at 1:50 PM, Marius Gedminas mar...@gedmin.as wrote:
On Thu, Dec 10, 2009 at 12:41:11PM -0500, Jim Fulton wrote:
On Thu, Dec 10, 2009 at 11:54 AM, Marius Gedminas mar...@gedmin.as wrote:
In 3.9 for FileStorage
better space efficiency by redesigning the data
structure.
Marius Gedminas
--
Dijkstra probably hates me
-- Linus Torvalds, in kernel/sched.c
signature.asc
Description: Digital signature
___
For more information about ZODB, see the ZODB
On Wed, Dec 09, 2009 at 06:09:36PM +0200, Marius Gedminas wrote:
On Wed, Dec 09, 2009 at 02:42:58PM +0100, Pedro Ferreira wrote:
Hello,
Just zodbbrowser with no prefix:
http://pypi.python.org/pypi/zodbbrowser
https://launchpad.net/zodbbrowser
It's a web-app: it can connect
).
the z3c.zoodbbrowser can open a ZODB with a pythin GUI.
There you can iterate over each objects in the ZODB.
You will probably see more then you see in the UI,
especialy if some objects get created which you
don't expect.
Marius Gedminas
--
There's a special hell 4 people who replace words with numbers
and then that instance is updated with the
values from the pickle.
Marius Gedminas
--
Every nonempty totally-disconnected perfect compact metric space is
homeomorphic to the Cantor set.
signature.asc
Description: Digital signature
___
For more
On Wed, May 27, 2009 at 03:35:26PM +0200, Hanno Schlichting wrote:
Marius Gedminas wrote:
On Wed, May 27, 2009 at 12:17:36PM +0200, Hanno Schlichting wrote:
Chris Withers wrote:
Hanno Schlichting wrote:
They are incredibly expensive to unpickle since all
the DWIM magic in their __init__
persistent objects.
Marius Gedminas
--
The only way to learn a new programming language is by writing programs in it.
-- Brian Kernighan
signature.asc
Description: Digital signature
___
For more information about ZODB, see the ZODB Wiki
and docstrings, and some jumping around following the flow of functions.
Marius Gedminas
--
I read I forget; I see I remember; I teach I understand.
signature.asc
Description: Digital signature
___
For more information about ZODB, see the ZODB Wiki:
http
previous backups with repozo
raises a CRC Error.
Has anyone ever experienced this? Any clues on how to solve this problem?
We'd really appreciate you could help us out, since this is becoming a
big issue here at CERN (a lot of people's work depends on this).
Good luck!
Marius Gedminas
--
Linux
classes
weren't subclasses of Persistent (and the fix would be: make them
subclass Persistent).
Marius Gedminas
--
I used to (somewhat) sneer at people who describe themselves thus: I program
HTML. Then I tried to make a web-site look as I wanted it to (ie. not
grotesquely ugly), wow - perhaps
with older revisions
seem to work.
I've a full svn mirror up to rev 92837 if it turns out to be needed.
Marius Gedminas
--
IBM motto: If you can't read our assembly language, you must be
borderline dyslexic, and we don't want you to mess with it anyway
-- Linus Torvalds
On Wed, Nov 05, 2008 at 03:59:07PM +0100, Christian Theune wrote:
On Wed, 2008-11-05 at 16:00 +0200, Marius Gedminas wrote:
On Wed, Nov 05, 2008 at 11:48:35AM +0100, Christian Theune wrote:
On Wed, 2008-11-05 at 11:31 +0100, Laurence Rowe wrote:
Broken objects occur when the class
that you don't get an exception when loading an object that refers to
a broken object.
Or do I misunderstand that broken is a sort of proxy for the missing
class that allows it to be around?
Yes, but being around is a rather narrow goal that doesn't allow you
to do anything with it.
Marius
On Fri, Oct 10, 2008 at 10:43:57AM -0700, Marius Gedminas wrote:
In the mean time I updated the buildbot config to run the tests
separately. I don't know offhand if buildbot 0.7.4 supports the
interlocks documented in 0.7.9's documentation[1], so I just created a
new scheduler that runs
projects will be to try to address this problem.
Speaking of temporary files, running the tests leaves over a 100 new
temporary files and directories in /tmp every night. I had to create a
cron script to clean them up to avoid completely filling up the disk.
Marius Gedminas
--
When we say we want
to all
the classes using their new locations.
or do I have to return to putting
all my .py files in one directory.
Third alternative: create modules for backwards compatibility (just the
step 1 described above).
Marius Gedminas
--
Those who can't write, write manuals.
signature.asc
makes me suspect you may be seeing that bug.
Running fsrefs.py on Data.fs gives 1507079 instances of refers to
invalid objects. This might indicate a problem, I would guess.
This is beyond my expertise. I'd be worried too.
Marius Gedminas
--
Just a note: quantum gravity discussions are _clearly_
. Or you could switch to Python 2.3 or 2.4.
Trying to use 3-year-old software (ZODB 3.4.2) in an unsupported
configuration (Python 2.5) may have downsides.
Marius Gedminas
--
Anything can be made to work if you fiddle with it long enough.
signature.asc
Description: Digital signature
key.
Usually you shouldn't need to do this. ZODB will detect conflicting
write transactions and raise ConflictError that you're supposed to catch
and retry up to a certain reasonable number of times (3 or 5).
Marius Gedminas
--
Key emulation:
[ ] Intuitive
[*] Emacs(Seen in an MCEdit
(Adding zodb-dev@zope.org back to Cc:)
On Thu, Jul 03, 2008 at 09:14:27AM -0400, Erik Dahl wrote:
On Jul 2, 2008, at 10:55 AM, Marius Gedminas wrote:
inst.__class__ = NewClass
Is inst a persistent object? Then your only chance to get this to
work
is to find *all* objects
to know and get this fixed
before my wife divorces me! She spends time entering books and we still
seem to not really know when the changes are going to permanently be saved.
Ouch.
Marius Gedminas
--
Nothing ever goes missing that they don't look at me, ever since that
time I lost my horse
stored
properly in the pickle (which I would expect).
The class is also stored in every reference to that object.
Any chance I can get zeo
to tell the other clients about the new class?
Marius Gedminas
--
It's my understanding that although in principle TCP can handle huge
throughputs
On Mon, Jan 21, 2008 at 07:15:42PM +0100, Dieter Maurer wrote:
Marius Gedminas wrote at 2008-1-21 00:08 +0200:
Personally, I'd be afraid to use deepcopy on a persistent object.
A deepcopy is likely to be no copy at all.
As Python's deepcopy does not know about object ids, it is likely
can dig into
object history from a debugzope console and figure what changed it and
when. Or restore deleted data, for that matter.
Marius Gedminas
--
MSDOS didn't get as bad as it is overnight -- it took over ten years
of careful development.
-- [EMAIL PROTECTED]
signature.asc
)
ConnectionStateError: Shouldn't load state for 0x01 when the connection is
closed
It seems that you're keeping a reference to a persistent object after
you close the ZODB connection. Don't do that.
Marius Gedminas
--
If Linux doesn't have the solution, you have the wrong problem.
signature.asc
, and figured
out that it's actually running:
/usr/bin/python /usr/bin/zdrun.py -S schema.xml -b 10
-s zdsock -u www -x 0,2 runzeo.py -a -f Data.fs -t 10 -m 18
I'd be inclined to look for invisible control characters such as CR at
the end of that line.
Marius Gedminas
--
The moral
with distutils may cause conflicts with the Zope instances.
Am I right? If so, then how should I install ZODB side-by-side the
consumer-producer application?
This sounds like a job for zc.buildout.
Marius Gedminas
--
Special bonus feature: absolutely nowhere in RetchMail's code
floating around that does something like that.
analyze.py by Matt Kromer. I think I got it from this list, or maybe it
comes with Zope 2. Or both ;)
Marius Gedminas
--
... one of the main causes of the fall of the Roman Empire was that,
lacking zero, they had no way to indicate successful
84 matches
Mail list logo