[tahoe-lafs-trac-stream] [tahoe-lafs] #1670: add tests for KeyError in mutable read-modify-write

tahoe-lafs trac at tahoe-lafs.org
Tue Nov 13 23:28:41 UTC 2012


#1670: add tests for KeyError in mutable read-modify-write
-------------------------+-------------------------------------------------
     Reporter:  vikarti  |      Owner:  zooko
         Type:  defect   |     Status:  assigned
     Priority:  normal   |  Milestone:  1.10.0
    Component:  code-    |    Version:  1.9.1
  mutable                |   Keywords:  mutable retrieve error tahoe-backup
   Resolution:           |  regression test-needed
Launchpad Bug:           |
-------------------------+-------------------------------------------------
Changes (by zooko):

 * priority:  critical => normal


Old description:

> Mac OS X 10.7 gateway,
>
> mutable.format is set to mdmf
>
> sometimes tahoe backup process several files fine and later stops
> if it stops - it's always same place
> like this
> {{{
> skipping "/Users/vikarti/Calibre Library/Zooko Wilcox-O'Hearn_ Brian
> Warner/Tahoe - The Least-Authority Filesystem (1347)/Tahoe - The Least-
> Authority Filesystem - Zooko Wilcox-O'Hearn_ Brian Warner.pdf"..
>  re-using old directory for "/Users/vikarti/Calibre Library/Zooko
> Wilcox-O'Hearn_ Brian Warner/Tahoe - The Least-Authority Filesystem
> (1347)"
>  re-using old directory for "/Users/vikarti/Calibre Library/Zooko
> Wilcox-O'Hearn_ Brian Warner"
>  re-using old directory for '/Users/vikarti/Calibre Library'
> Traceback (most recent call last):
>   File "/Users/vikarti/tahoe-new/allmydata-
> tahoe-1.9.1/support/bin/tahoe", line 9, in <module>
>     load_entry_point('allmydata-tahoe==1.9.1', 'console_scripts',
> 'tahoe')()
>   File "/Users/vikarti/tahoe-new/allmydata-
> tahoe-1.9.1/src/allmydata/scripts/runner.py", line 113, in run
>     rc = runner(sys.argv[1:], install_node_control=install_node_control)
>   File "/Users/vikarti/tahoe-new/allmydata-
> tahoe-1.9.1/src/allmydata/scripts/runner.py", line 99, in runner
>     rc = cli.dispatch[command](so)
>   File "/Users/vikarti/tahoe-new/allmydata-
> tahoe-1.9.1/src/allmydata/scripts/cli.py", line 569, in backup
>     rc = tahoe_backup.backup(options)
>   File "/Users/vikarti/tahoe-new/allmydata-
> tahoe-1.9.1/src/allmydata/scripts/tahoe_backup.py", line 325, in backup
>     return bu.run()
>   File "/Users/vikarti/tahoe-new/allmydata-
> tahoe-1.9.1/src/allmydata/scripts/tahoe_backup.py", line 123, in run
>     put_child(archives_url, now, new_backup_dircap)
>   File "/Users/vikarti/tahoe-new/allmydata-
> tahoe-1.9.1/src/allmydata/scripts/tahoe_backup.py", line 57, in put_child
>     raise HTTPError("Error during put_child", resp)
> allmydata.scripts.common_http.HTTPError: Error during put_child: 500
> Internal Server Error
> "Traceback (most recent call last):
>   File
> \"/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/base.py\",
> line 793, in runUntilCurrent
>     call.func(*call.args, **call.kw)
>   File \"/Users/vikarti/tahoe-new/allmydata-
> tahoe-1.9.1/support/lib/python2.7/site-
> packages/foolscap-0.6.3-py2.7.egg/foolscap/eventual.py\", line 26, in
> _turn
>     cb(*args, **kwargs)\x0a  File
> \"/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/defer.py\",
> line 361, in callback
>     self._startRunCallbacks(result)\x0a  File
> \"/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/defer.py\",
> line 455, in _startRunCallbacks
>     self._runCallbacks()
> --- <exception caught here> ---
>   File
> \"/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/defer.py\",
> line 542, in _runCallbacks
>     current.result = callback(current.result, *args, **kw)
>   File \"/Users/vikarti/tahoe-new/allmydata-
> tahoe-1.9.1/src/allmydata/mutable/filenode.py\", line 855, in
> <lambda>\x0a    self._modify_once(modifier, first_time))\x0a  File
> \"/Users/vikarti/tahoe-new/allmydata-
> tahoe-1.9.1/src/allmydata/mutable/filenode.py\", line 881, in
> _modify_once
>     d = self._try_to_download_data()
>   File \"/Users/vikarti/tahoe-new/allmydata-
> tahoe-1.9.1/src/allmydata/mutable/filenode.py\", line 959, in
> _try_to_download_data
>     d = self._read(c, fetch_privkey=True)
>   File \"/Users/vikarti/tahoe-new/allmydata-
> tahoe-1.9.1/src/allmydata/mutable/filenode.py\", line 980, in _read
>     d = r.download(consumer, offset, size)
>   File \"/Users/vikarti/tahoe-new/allmydata-
> tahoe-1.9.1/src/allmydata/mutable/retrieve.py\", line 237, in download
>     self._setup_download()
>   File \"/Users/vikarti/tahoe-new/allmydata-
> tahoe-1.9.1/src/allmydata/mutable/retrieve.py\", line 277, in
> _setup_download
>     shares = versionmap[self.verinfo]\x0aexceptions.KeyError: (5,
> '\\x11c\\x1c\\xf7\\xc9\\xae1e\\xa2\\xdaF\\xaf\\xb6S\\x03IH\\x84\\x11#\\xb5\\xf2TS\\xfb\\xde\\x08\\x81\\x01\\xf0\\xd3\\xec',
> None, 131073, 1080, 3, 10,
> '\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x05\\x11c\\x1c\\xf7\\xc9\\xae1e\\xa2\\xdaF\\xaf\\xb6S\\x03IH\\x84\\x11#\\xb5\\xf2TS\\xfb\\xde\\x08\\x81\\x01\\xf0\\xd3\\xec\\x03\\n\\x00\\x00\\x00\\x00\\x00\\x02\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x048',
> (('EOF', 2575), ('verification_key', 1729), ('enc_privkey', 123),
> ('share_data', 2167), ('signature', 1473), ('block_hash_tree', 2543),
> ('share_hash_chain', 1337), ('verification_key_end', 2021)))
> "
> }}}

New description:

 Mac OS X 10.7 gateway,

 mutable.format is set to mdmf

 sometimes tahoe backup process several files fine and later stops
 if it stops - it's always same place
 like this
 {{{
 skipping "/Users/vikarti/Calibre Library/Zooko Wilcox-O'Hearn_ Brian
 Warner/Tahoe - The Least-Authority Filesystem (1347)/Tahoe - The Least-
 Authority Filesystem - Zooko Wilcox-O'Hearn_ Brian Warner.pdf"..
  re-using old directory for "/Users/vikarti/Calibre Library/Zooko
 Wilcox-O'Hearn_ Brian Warner/Tahoe - The Least-Authority Filesystem
 (1347)"
  re-using old directory for "/Users/vikarti/Calibre Library/Zooko
 Wilcox-O'Hearn_ Brian Warner"
  re-using old directory for '/Users/vikarti/Calibre Library'
 Traceback (most recent call last):
   File "/Users/vikarti/tahoe-new/allmydata-tahoe-1.9.1/support/bin/tahoe",
 line 9, in <module>
     load_entry_point('allmydata-tahoe==1.9.1', 'console_scripts',
 'tahoe')()
   File "/Users/vikarti/tahoe-new/allmydata-
 tahoe-1.9.1/src/allmydata/scripts/runner.py", line 113, in run
     rc = runner(sys.argv[1:], install_node_control=install_node_control)
   File "/Users/vikarti/tahoe-new/allmydata-
 tahoe-1.9.1/src/allmydata/scripts/runner.py", line 99, in runner
     rc = cli.dispatch[command](so)
   File "/Users/vikarti/tahoe-new/allmydata-
 tahoe-1.9.1/src/allmydata/scripts/cli.py", line 569, in backup
     rc = tahoe_backup.backup(options)
   File "/Users/vikarti/tahoe-new/allmydata-
 tahoe-1.9.1/src/allmydata/scripts/tahoe_backup.py", line 325, in backup
     return bu.run()
   File "/Users/vikarti/tahoe-new/allmydata-
 tahoe-1.9.1/src/allmydata/scripts/tahoe_backup.py", line 123, in run
     put_child(archives_url, now, new_backup_dircap)
   File "/Users/vikarti/tahoe-new/allmydata-
 tahoe-1.9.1/src/allmydata/scripts/tahoe_backup.py", line 57, in put_child
     raise HTTPError("Error during put_child", resp)
 allmydata.scripts.common_http.HTTPError: Error during put_child: 500
 Internal Server Error
 "Traceback (most recent call last):
   File
 \"/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/base.py\",
 line 793, in runUntilCurrent
     call.func(*call.args, **call.kw)
   File \"/Users/vikarti/tahoe-new/allmydata-
 tahoe-1.9.1/support/lib/python2.7/site-
 packages/foolscap-0.6.3-py2.7.egg/foolscap/eventual.py\", line 26, in
 _turn
     cb(*args, **kwargs)\x0a  File
 \"/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/defer.py\",
 line 361, in callback
     self._startRunCallbacks(result)\x0a  File
 \"/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/defer.py\",
 line 455, in _startRunCallbacks
     self._runCallbacks()
 --- <exception caught here> ---
   File
 \"/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/defer.py\",
 line 542, in _runCallbacks
     current.result = callback(current.result, *args, **kw)
   File \"/Users/vikarti/tahoe-new/allmydata-
 tahoe-1.9.1/src/allmydata/mutable/filenode.py\", line 855, in <lambda>\x0a
 self._modify_once(modifier, first_time))\x0a  File \"/Users/vikarti/tahoe-
 new/allmydata-tahoe-1.9.1/src/allmydata/mutable/filenode.py\", line 881,
 in _modify_once
     d = self._try_to_download_data()
   File \"/Users/vikarti/tahoe-new/allmydata-
 tahoe-1.9.1/src/allmydata/mutable/filenode.py\", line 959, in
 _try_to_download_data
     d = self._read(c, fetch_privkey=True)
   File \"/Users/vikarti/tahoe-new/allmydata-
 tahoe-1.9.1/src/allmydata/mutable/filenode.py\", line 980, in _read
     d = r.download(consumer, offset, size)
   File \"/Users/vikarti/tahoe-new/allmydata-
 tahoe-1.9.1/src/allmydata/mutable/retrieve.py\", line 237, in download
     self._setup_download()
   File \"/Users/vikarti/tahoe-new/allmydata-
 tahoe-1.9.1/src/allmydata/mutable/retrieve.py\", line 277, in
 _setup_download
     shares = versionmap[self.verinfo]\x0aexceptions.KeyError: (5,
 '\\x11c\\x1c\\xf7\\xc9\\xae1e\\xa2\\xdaF\\xaf\\xb6S\\x03IH\\x84\\x11#\\xb5\\xf2TS\\xfb\\xde\\x08\\x81\\x01\\xf0\\xd3\\xec',
 None, 131073, 1080, 3, 10,
 '\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x05\\x11c\\x1c\\xf7\\xc9\\xae1e\\xa2\\xdaF\\xaf\\xb6S\\x03IH\\x84\\x11#\\xb5\\xf2TS\\xfb\\xde\\x08\\x81\\x01\\xf0\\xd3\\xec\\x03\\n\\x00\\x00\\x00\\x00\\x00\\x02\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x048',
 (('EOF', 2575), ('verification_key', 1729), ('enc_privkey', 123),
 ('share_data', 2167), ('signature', 1473), ('block_hash_tree', 2543),
 ('share_hash_chain', 1337), ('verification_key_end', 2021)))
 "
 }}}

--

-- 
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1670#comment:30>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list