Hello,

    I have a customer using RelStorage 1.5.0 in production, and he cannot pack 
anymore his Data.fs. When he tries he have the following error:

> 2011-08-29 15:43:03,459 [zodbpack] INFO Opening storage (RelStorageFactory)...
> 2011-08-29 15:43:03,966 [zodbpack] INFO Packing storage (RelStorageFactory).
> 2011-08-29 15:43:03,974 [relstorage] INFO pack: analyzing transactions 
> committed Fri Aug 26 18:04:56 2011 or before
> 2011-08-29 15:43:03,977 [relstorage.adapters.packundo] INFO pre_pack: start 
> with gc enabled
> 2011-08-29 15:43:04,784 [relstorage.adapters.packundo] INFO analyzing 
> references from objects in 436309 new transaction(s)
> /var/www/env_ucpa_silva/ucpa_silva/eggs/RelStorage-1.5.0-py2.6.egg/relstorage/adapters/scriptrunner.py:52:
>  Warning: Field 'zoid' doesn't have a default value
> cursor.execute(stmt, generic_params)
> 2011-08-29 15:43:04,799 [relstorage.adapters.scriptrunner] WARNING script 
> statement failed: '\n        INSERT INTO object_refs_added (tid)\n VALUES 
> (%(tid)s)\n        '; parameters: {'tid': 247097224207245124L}
> 2011-08-29 15:43:04,799 [relstorage.adapters.packundo] ERROR pre_pack: failed
> Traceback (most recent call last):
> File 
> "/var/www/env_ucpa_silva/ucpa_silva/eggs/RelStorage-1.5.0-py2.6.egg/relstorage/adapters/packundo.py",
>  line 486, in pre_pack
>   conn, cursor, pack_tid, get_references)
> File 
> "/var/www/env_ucpa_silva/ucpa_silva/eggs/RelStorage-1.5.0-py2.6.egg/relstorage/adapters/packundo.py",
>  line 580, in _pre_pack_with_gc
>   self.fill_object_refs(conn, cursor, get_references)
> File 
> "/var/www/env_ucpa_silva/ucpa_silva/eggs/RelStorage-1.5.0-py2.6.egg/relstorage/adapters/packundo.py",
>  line 387, in fill_object_refs
>   self._add_refs_for_tid(cursor, tid, get_references)
> File 
> "/var/www/env_ucpa_silva/ucpa_silva/eggs/RelStorage-1.5.0-py2.6.egg/relstorage/adapters/packundo.py",
>  line 459, in _add_refs_for_tid
>   self.runner.run_script_stmt(cursor, stmt, {'tid': tid})
> File 
> "/var/www/env_ucpa_silva/ucpa_silva/eggs/RelStorage-1.5.0-py2.6.egg/relstorage/adapters/scriptrunner.py",
>  line 52, in run_script_stmt
>   cursor.execute(stmt, generic_params)
> File 
> "/var/www/env_ucpa_silva/ucpa_silva/eggs/MySQL_python-1.2.3-py2.6-linux-x86_64.egg/MySQLdb/cursors.py",
>  line 174, in execute
>   self.errorhandler(self, exc, value)
> File 
> "/var/www/env_ucpa_silva/ucpa_silva/eggs/MySQL_python-1.2.3-py2.6-linux-x86_64.egg/MySQLdb/connections.py",
>  line 36, in defaulterrorhandler
>   raise errorclass, errorvalue
> IntegrityError: (1062, "Duplicate entry '0' for key 'PRIMARY'")

  He tried to cleanup the tables object_refs_added and object_refs but the 
error persist and seems to stay the same.

  Before 1.5.0 they had 1.4.1 (the database have been created using that 
version), and when this problem appear, I recommended as 1.5.0 contains various 
fixes for pack on large database. 

  Do you have any ideas on how to fix this pack ?

  Regards,

  Sylvain,


-- 
Sylvain Viollon -- Infrae
t +31 10 243 7051 -- http://infrae.com
Hoevestraat 10 3033GC Rotterdam -- The Netherlands



_______________________________________________
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev

Reply via email to