collective.recipe.filestorage needs to lowercase "storage" ids
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
collective.buildout |
New
|
Undecided
|
Unassigned |
Bug Description
When collective.
The error for mixed case storage names looks like:
2008-10-20T21:48:45 INFO ZEO.ClientStorage (9697) ClientStorage (pid=9697) created RW/normal for storage: 'CHONe'
------
2008-10-20T21:48:45 INFO ZEO.cache created temporary cache file '<fdopen>'
------
2008-10-20T21:48:45 INFO ZEO.ClientStorage (9697) Testing connection <ManagedClientC
------
2008-10-20T21:48:45 INFO ZEO.zrpc.
------
2008-10-20T21:48:45 INFO ZEO.ClientStorage (9697) Server authentication protocol None
------
2008-10-20T21:48:45 ERROR ZEO.zrpc (9697) CW: error in testConnection (('127.0.0.1', 11100))
Traceback (most recent call last):
File "/home/
self.preferred = self.client.
File "/home/
stub.
File "/home/
self.
File "/home/
raise inst # error raised by server
ValueError: unknown storage: CHONe
Ah, this was the bug my comment on https:/ /bugs.launchpad .net/zope2/ +bug/287550 should have applied to. For a buildout recipe it is a very bad idea trying to change the configured values in any way. It should pass them on, in exactly the way you specified them. If the underlying machinery has a problem it should be fixed there.
If you used this patch the following can happen:
1. You specify the storage in mixed case
2. You use this recipe in version A which lower-cases the value automatically
3. Some month pass by
4. You upgrade to a new minor version of Zope
5. Your database connection doesn't work anymore, as someone fixed the problem in Zope
Step 4 here is bad. With your patch an operation that is perceived to be safe, suddenly has a risk to it, which is not documented in the update notes for Zope itself.
The easiest approach for you is to change your storage names to be all lower-case in the first place.