)]}'
{"id":"openstack%2Fpython-swiftclient~112139","triplet_id":"openstack%2Fpython-swiftclient~master~I3352f7a4eaf9970961af0cc84c4706fc1eab281d","project":"openstack/python-swiftclient","branch":"master","topic":"crash/kodiak","hashtags":[],"change_id":"I3352f7a4eaf9970961af0cc84c4706fc1eab281d","subject":"Fix crash when downloading a pseudo-directory","status":"MERGED","created":"2014-08-05 21:06:44.000000000","updated":"2014-08-18 15:05:25.000000000","submitted":"2014-08-17 19:08:15.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"87928481f22ab9ccc3132e4f42a95c5091d674ff","_number":112139,"virtual_id_number":112139,"owner":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":0,"_account_id":6968,"name":"Christian Schwede","email":"cschwede@redhat.com","username":"cschwede"},{"value":0,"date":"2014-08-18 05:51:30.000000000","post_submit":true,"_account_id":5189,"name":"Yuan Zhou","email":"dunk007@gmail.com","username":"yuan-zhou"},{"value":0,"date":"2014-08-18 14:30:26.000000000","post_submit":true,"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},{"value":0,"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},{"value":2,"date":"2014-08-17 19:08:15.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@redhat.com","username":"cschwede"},"all":[{"value":2,"date":"2014-08-17 17:13:07.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":6968,"name":"Christian Schwede","email":"cschwede@redhat.com","username":"cschwede"},{"value":0,"_account_id":5189,"name":"Yuan Zhou","email":"dunk007@gmail.com","username":"yuan-zhou"},{"value":0,"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},{"value":2,"date":"2014-08-16 19:58:18.000000000","_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@redhat.com","username":"cschwede"},"all":[{"value":1,"date":"2014-08-17 17:13:07.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":6968,"name":"Christian Schwede","email":"cschwede@redhat.com","username":"cschwede"},{"value":0,"_account_id":5189,"name":"Yuan Zhou","email":"dunk007@gmail.com","username":"yuan-zhou"},{"value":0,"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},{"value":0,"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},{"_account_id":5189,"name":"Yuan Zhou","email":"dunk007@gmail.com","username":"yuan-zhou"},{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@redhat.com","username":"cschwede"},{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2014-08-16 19:58:18.000000000","updated_by":{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"reviewer":{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"state":"REVIEWER"},{"updated":"2014-08-17 17:13:07.000000000","updated_by":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@redhat.com","username":"cschwede"},"reviewer":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@redhat.com","username":"cschwede"},"state":"REVIEWER"},{"updated":"2014-08-17 19:08:15.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"},{"updated":"2014-08-18 05:51:30.000000000","updated_by":{"_account_id":5189,"name":"Yuan Zhou","email":"dunk007@gmail.com","username":"yuan-zhou"},"reviewer":{"_account_id":5189,"name":"Yuan Zhou","email":"dunk007@gmail.com","username":"yuan-zhou"},"state":"REVIEWER"}],"messages":[{"id":"259befd8550953140d4be62416de392e0f64c3d5","author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"date":"2014-08-05 21:06:44.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"88ce360b75292856b80f8f247b7ede2f8ab42340","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-08-05 21:06:45.000000000","message":"Patch Set 1:\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":1},{"id":"d189373b807d333278c92a5eb4ebfed7a2bd437d","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-08-05 23:57:16.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded.\n\n- gate-python-swiftclient-pep8 http://logs.openstack.org/39/112139/1/check/gate-python-swiftclient-pep8/8ed7185 : SUCCESS in 2m 00s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/39/112139/1/check/gate-python-swiftclient-docs/96e6909/doc/build/html/ : SUCCESS in 2m 42s\n- gate-python-swiftclient-python26 http://logs.openstack.org/39/112139/1/check/gate-python-swiftclient-python26/43b517e : SUCCESS in 3m 43s\n- gate-python-swiftclient-python27 http://logs.openstack.org/39/112139/1/check/gate-python-swiftclient-python27/79c41d4 : SUCCESS in 1m 43s\n- check-tempest-dsvm-full http://logs.openstack.org/39/112139/1/check/check-tempest-dsvm-full/d7aad9d : SUCCESS in 44m 04s\n- check-tempest-dsvm-postgres-full http://logs.openstack.org/39/112139/1/check/check-tempest-dsvm-postgres-full/5d7f2e0 : SUCCESS in 44m 50s\n- check-tempest-dsvm-neutron http://logs.openstack.org/39/112139/1/check/check-tempest-dsvm-neutron/62e995a : SUCCESS in 52m 21s\n- check-tempest-dsvm-neutron-heat-slow http://logs.openstack.org/39/112139/1/check/check-tempest-dsvm-neutron-heat-slow/c2505a8 : SUCCESS in 18m 47s\n- check-grenade-dsvm http://logs.openstack.org/39/112139/1/check/check-grenade-dsvm/f59c189 : SUCCESS in 37m 44s\n- gate-tempest-dsvm-large-ops http://logs.openstack.org/39/112139/1/check/gate-tempest-dsvm-large-ops/801da74 : SUCCESS in 18m 55s\n- gate-tempest-dsvm-neutron-large-ops http://logs.openstack.org/39/112139/1/check/gate-tempest-dsvm-neutron-large-ops/2b5f32a : SUCCESS in 16m 38s\n- check-tempest-dsvm-full-havana http://logs.openstack.org/39/112139/1/check/check-tempest-dsvm-full-havana/a9fd812 : SUCCESS in 36m 27s (non-voting)\n- check-tempest-dsvm-neutron-havana http://logs.openstack.org/39/112139/1/check/check-tempest-dsvm-neutron-havana/6608031 : SUCCESS in 34m 18s (non-voting)\n- check-tempest-dsvm-full-icehouse http://logs.openstack.org/39/112139/1/check/check-tempest-dsvm-full-icehouse/1610b5e : SUCCESS in 47m 01s\n- check-tempest-dsvm-neutron-icehouse http://logs.openstack.org/39/112139/1/check/check-tempest-dsvm-neutron-icehouse/5ccb4d1 : SUCCESS in 58m 27s\n- gate-python-swiftclient-python33 http://logs.openstack.org/39/112139/1/check/gate-python-swiftclient-python33/4ed6100 : SUCCESS in 5m 38s\n- gate-python-swiftclient-pypy http://logs.openstack.org/39/112139/1/check/gate-python-swiftclient-pypy/d9f69f3 : SUCCESS in 2m 48s\n- check-swift-dsvm-functional http://logs.openstack.org/39/112139/1/check/check-swift-dsvm-functional/87d82c4 : SUCCESS in 17m 02s","accounts_in_message":[],"_revision_number":1},{"id":"4c8f688c7f385a8725a7b3ecac4b2a59043fcab2","author":{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"date":"2014-08-11 19:26:37.000000000","message":"Patch Set 1:\n\nno message back to the user?","accounts_in_message":[],"_revision_number":1},{"id":"15f971cb251e056f770aac53d2993e080e18eff0","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-08-11 19:26:39.000000000","message":"Patch Set 1: -Verified\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":1},{"id":"7a015c5ca1fa6df2046750214853cc89625c1dbc","author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"date":"2014-08-11 19:38:11.000000000","message":"Patch Set 1:\n\nThe file name is printed, as usual.\n\nI was actually thinking about avoiding the download entirely, in which case an additional message would be needed.","accounts_in_message":[],"_revision_number":1},{"id":"10c4b3503317db2e1c613e8650e6e607db8026ab","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-08-12 01:33:06.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded.\n\n- gate-python-swiftclient-pep8 http://logs.openstack.org/39/112139/1/check/gate-python-swiftclient-pep8/0aa6f7e : SUCCESS in 2m 43s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/39/112139/1/check/gate-python-swiftclient-docs/b439be9/doc/build/html/ : SUCCESS in 2m 24s\n- gate-python-swiftclient-python26 http://logs.openstack.org/39/112139/1/check/gate-python-swiftclient-python26/8b16270 : SUCCESS in 2m 59s\n- gate-python-swiftclient-python27 http://logs.openstack.org/39/112139/1/check/gate-python-swiftclient-python27/d822d11 : SUCCESS in 2m 10s\n- check-tempest-dsvm-full http://logs.openstack.org/39/112139/1/check/check-tempest-dsvm-full/41a49bf : SUCCESS in 37m 27s\n- check-tempest-dsvm-postgres-full http://logs.openstack.org/39/112139/1/check/check-tempest-dsvm-postgres-full/a940ad7 : SUCCESS in 40m 53s\n- check-tempest-dsvm-neutron http://logs.openstack.org/39/112139/1/check/check-tempest-dsvm-neutron/4d439bc : SUCCESS in 48m 55s\n- check-tempest-dsvm-neutron-heat-slow http://logs.openstack.org/39/112139/1/check/check-tempest-dsvm-neutron-heat-slow/e3bd86d : SUCCESS in 18m 35s\n- check-grenade-dsvm http://logs.openstack.org/39/112139/1/check/check-grenade-dsvm/15e191d : SUCCESS in 44m 16s\n- gate-tempest-dsvm-large-ops http://logs.openstack.org/39/112139/1/check/gate-tempest-dsvm-large-ops/d686fe5 : SUCCESS in 24m 23s\n- gate-tempest-dsvm-neutron-large-ops http://logs.openstack.org/39/112139/1/check/gate-tempest-dsvm-neutron-large-ops/4e3445a : SUCCESS in 20m 31s\n- check-tempest-dsvm-full-havana http://logs.openstack.org/39/112139/1/check/check-tempest-dsvm-full-havana/9818354 : SUCCESS in 35m 49s (non-voting)\n- check-tempest-dsvm-neutron-havana http://logs.openstack.org/39/112139/1/check/check-tempest-dsvm-neutron-havana/4073edf : SUCCESS in 34m 21s (non-voting)\n- check-tempest-dsvm-full-icehouse http://logs.openstack.org/39/112139/1/check/check-tempest-dsvm-full-icehouse/035b8a5 : SUCCESS in 49m 39s\n- check-tempest-dsvm-neutron-icehouse http://logs.openstack.org/39/112139/1/check/check-tempest-dsvm-neutron-icehouse/9f60993 : SUCCESS in 56m 40s\n- gate-python-swiftclient-python33 http://logs.openstack.org/39/112139/1/check/gate-python-swiftclient-python33/41abb86 : SUCCESS in 6m 57s\n- gate-python-swiftclient-pypy http://logs.openstack.org/39/112139/1/check/gate-python-swiftclient-pypy/19ffa93 : SUCCESS in 3m 18s\n- check-swift-dsvm-functional http://logs.openstack.org/39/112139/1/check/check-swift-dsvm-functional/c16e663 : SUCCESS in 17m 32s","accounts_in_message":[],"_revision_number":1},{"id":"51227530fbbf691529f826f3235779abd40bda28","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@redhat.com","username":"cschwede"},"date":"2014-08-14 12:54:45.000000000","message":"Patch Set 1: Code-Review-1\n\n(1 comment)\n\nI would prefer to skip the download in this case and to notify the user. Please have a look at my comment inline.","accounts_in_message":[],"_revision_number":1},{"id":"5dbde374c1dd8694aff0e3fced323cbbe55ba563","author":{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"date":"2014-08-14 16:32:41.000000000","message":"Patch Set 1:\n\nagree w/Christian\u0027s suggestion...","accounts_in_message":[],"_revision_number":1},{"id":"09298ea1925dc1ee540ee16beb2f0034b560f72b","author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"date":"2014-08-14 17:40:36.000000000","message":"Patch Set 1:\n\nSkipping the download is a good idea, but speweing error messages is not, if everything is working as expected. If we document that trailing slash objects are special in this way, then warnings are plain rude.","accounts_in_message":[],"_revision_number":1},{"id":"f201a7ba6ed7cc2e073677746948e46319cfe335","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-08-14 20:01:07.000000000","message":"Patch Set 2:\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":2},{"id":"fab40678e35fb8a037068d4ab5c0b99c89d24c2c","author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"date":"2014-08-14 20:01:07.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"7226ad202be8f1c905999b2744438cd1b9ccdca7","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-08-14 21:11:57.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded.\n\n- gate-python-swiftclient-pep8 http://logs.openstack.org/39/112139/2/check/gate-python-swiftclient-pep8/e033bff : SUCCESS in 2m 36s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/39/112139/2/check/gate-python-swiftclient-docs/6ce48cb/doc/build/html/ : SUCCESS in 2m 51s\n- gate-python-swiftclient-python26 http://logs.openstack.org/39/112139/2/check/gate-python-swiftclient-python26/deca3a9 : SUCCESS in 2m 44s\n- gate-python-swiftclient-python27 http://logs.openstack.org/39/112139/2/check/gate-python-swiftclient-python27/40932cc : SUCCESS in 1m 35s\n- check-tempest-dsvm-full http://logs.openstack.org/39/112139/2/check/check-tempest-dsvm-full/d639b35 : SUCCESS in 49m 54s\n- check-tempest-dsvm-postgres-full http://logs.openstack.org/39/112139/2/check/check-tempest-dsvm-postgres-full/e1c2a9c : SUCCESS in 42m 01s\n- check-tempest-dsvm-neutron http://logs.openstack.org/39/112139/2/check/check-tempest-dsvm-neutron/19e261b : SUCCESS in 53m 58s\n- check-tempest-dsvm-neutron-full http://logs.openstack.org/39/112139/2/check/check-tempest-dsvm-neutron-full/b7f2b45 : SUCCESS in 1h 03m 54s (non-voting)\n- check-tempest-dsvm-neutron-heat-slow http://logs.openstack.org/39/112139/2/check/check-tempest-dsvm-neutron-heat-slow/12755fb : SUCCESS in 23m 55s\n- check-grenade-dsvm http://logs.openstack.org/39/112139/2/check/check-grenade-dsvm/ba20828 : SUCCESS in 46m 43s\n- gate-tempest-dsvm-large-ops http://logs.openstack.org/39/112139/2/check/gate-tempest-dsvm-large-ops/de61707 : SUCCESS in 24m 41s\n- gate-tempest-dsvm-neutron-large-ops http://logs.openstack.org/39/112139/2/check/gate-tempest-dsvm-neutron-large-ops/6e07625 : SUCCESS in 24m 11s\n- check-tempest-dsvm-full-havana http://logs.openstack.org/39/112139/2/check/check-tempest-dsvm-full-havana/64d69f4 : FAILURE in 37m 09s (non-voting)\n- check-tempest-dsvm-neutron-havana http://logs.openstack.org/39/112139/2/check/check-tempest-dsvm-neutron-havana/720803b : SUCCESS in 36m 33s (non-voting)\n- check-tempest-dsvm-full-icehouse http://logs.openstack.org/39/112139/2/check/check-tempest-dsvm-full-icehouse/278dea8 : SUCCESS in 50m 14s\n- check-tempest-dsvm-neutron-icehouse http://logs.openstack.org/39/112139/2/check/check-tempest-dsvm-neutron-icehouse/71b0e71 : SUCCESS in 1h 05m 33s\n- gate-python-swiftclient-python33 http://logs.openstack.org/39/112139/2/check/gate-python-swiftclient-python33/35157f8 : SUCCESS in 5m 58s\n- gate-python-swiftclient-pypy http://logs.openstack.org/39/112139/2/check/gate-python-swiftclient-pypy/a09599a : SUCCESS in 2m 53s\n- check-swift-dsvm-functional http://logs.openstack.org/39/112139/2/check/check-swift-dsvm-functional/b26f1f0 : SUCCESS in 19m 33s","accounts_in_message":[],"_revision_number":2},{"id":"97c81c9cdfba9950d084df61c852291b1458bf65","author":{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"date":"2014-08-16 19:58:18.000000000","message":"Patch Set 2: Code-Review+2\n\nHeh, I like this comment \"Note that this is not a\ncompatibility issue because previously there was crash in such case\" and I think the pseudodir-specific print covers what I was asking about","accounts_in_message":[],"_revision_number":2},{"id":"dc82ffa57c17b5fc123f915cfbb03511c27a2b6b","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-08-17 17:13:07.000000000","message":"Patch Set 2: -Verified\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":2},{"id":"552806bfb0282444521bb0dd43fdcc4310547c8e","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@redhat.com","username":"cschwede"},"date":"2014-08-17 17:13:07.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1\n\nYes, same for me - I think this looks good now, let\u0027s merge it!","accounts_in_message":[],"_revision_number":2},{"id":"85d1ec3571216323eb39ec3091212663ab0fd264","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-08-17 18:15:59.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded.\n\n- gate-python-swiftclient-pep8 http://logs.openstack.org/39/112139/2/check/gate-python-swiftclient-pep8/7cf3de3 : SUCCESS in 2m 19s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/39/112139/2/check/gate-python-swiftclient-docs/67cc81b/doc/build/html/ : SUCCESS in 1m 40s\n- gate-python-swiftclient-python26 http://logs.openstack.org/39/112139/2/check/gate-python-swiftclient-python26/b82fe7a : SUCCESS in 1m 47s\n- gate-python-swiftclient-python27 http://logs.openstack.org/39/112139/2/check/gate-python-swiftclient-python27/d28d1b6 : SUCCESS in 2m 30s\n- check-tempest-dsvm-full http://logs.openstack.org/39/112139/2/check/check-tempest-dsvm-full/3d0e2c5 : SUCCESS in 47m 06s\n- check-tempest-dsvm-postgres-full http://logs.openstack.org/39/112139/2/check/check-tempest-dsvm-postgres-full/bdc97b0 : SUCCESS in 53m 10s\n- check-tempest-dsvm-neutron-full http://logs.openstack.org/39/112139/2/check/check-tempest-dsvm-neutron-full/b3648d2 : SUCCESS in 1h 02m 49s\n- check-tempest-dsvm-neutron-heat-slow http://logs.openstack.org/39/112139/2/check/check-tempest-dsvm-neutron-heat-slow/851431f : SUCCESS in 22m 14s\n- check-grenade-dsvm http://logs.openstack.org/39/112139/2/check/check-grenade-dsvm/0d0b3cc : SUCCESS in 36m 18s\n- gate-tempest-dsvm-large-ops http://logs.openstack.org/39/112139/2/check/gate-tempest-dsvm-large-ops/cdf809c : SUCCESS in 20m 42s\n- gate-tempest-dsvm-neutron-large-ops http://logs.openstack.org/39/112139/2/check/gate-tempest-dsvm-neutron-large-ops/1953f26 : SUCCESS in 17m 04s\n- check-tempest-dsvm-full-havana http://logs.openstack.org/39/112139/2/check/check-tempest-dsvm-full-havana/1615f55 : FAILURE in 8m 32s (non-voting)\n- check-tempest-dsvm-neutron-havana http://logs.openstack.org/39/112139/2/check/check-tempest-dsvm-neutron-havana/b64440f : FAILURE in 10m 09s (non-voting)\n- check-tempest-dsvm-full-icehouse http://logs.openstack.org/39/112139/2/check/check-tempest-dsvm-full-icehouse/87187cb : SUCCESS in 49m 40s\n- check-tempest-dsvm-neutron-icehouse http://logs.openstack.org/39/112139/2/check/check-tempest-dsvm-neutron-icehouse/c97c150 : SUCCESS in 58m 24s\n- gate-python-swiftclient-python33 http://logs.openstack.org/39/112139/2/check/gate-python-swiftclient-python33/ede5981 : SUCCESS in 4m 00s\n- gate-python-swiftclient-pypy http://logs.openstack.org/39/112139/2/check/gate-python-swiftclient-pypy/17079ee : SUCCESS in 1m 56s\n- check-swift-dsvm-functional http://logs.openstack.org/39/112139/2/check/check-swift-dsvm-functional/dc128a5 : SUCCESS in 16m 41s","accounts_in_message":[],"_revision_number":2},{"id":"2600ec8588cd71605792784ab4ccbbaf3825ae4c","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-08-17 18:16:00.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":2},{"id":"8f18d51964954bbc5e3fe0fded98d20f1a695def","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-08-17 19:08:15.000000000","message":"Change has been successfully merged into the git repository.","accounts_in_message":[],"_revision_number":2},{"id":"768433941de08b1fa320c4c640c7be9fc7a6d446","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-08-17 19:08:15.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded.\n\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/39/112139/2/gate/gate-python-swiftclient-docs/6633b1a/doc/build/html/ : SUCCESS in 2m 35s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/39/112139/2/gate/gate-python-swiftclient-pep8/5f7bb96 : SUCCESS in 2m 22s\n- gate-python-swiftclient-python26 http://logs.openstack.org/39/112139/2/gate/gate-python-swiftclient-python26/fbc0686 : SUCCESS in 1m 45s\n- gate-python-swiftclient-python27 http://logs.openstack.org/39/112139/2/gate/gate-python-swiftclient-python27/4a8b308 : SUCCESS in 2m 37s\n- gate-tempest-dsvm-full http://logs.openstack.org/39/112139/2/gate/gate-tempest-dsvm-full/30a1441 : SUCCESS in 40m 10s\n- gate-tempest-dsvm-postgres-full http://logs.openstack.org/39/112139/2/gate/gate-tempest-dsvm-postgres-full/8f7bfe5 : SUCCESS in 52m 12s\n- gate-tempest-dsvm-neutron-full http://logs.openstack.org/39/112139/2/gate/gate-tempest-dsvm-neutron-full/f852915 : SUCCESS in 48m 58s\n- gate-tempest-dsvm-neutron-heat-slow http://logs.openstack.org/39/112139/2/gate/gate-tempest-dsvm-neutron-heat-slow/cac94ad : SUCCESS in 21m 35s\n- gate-grenade-dsvm http://logs.openstack.org/39/112139/2/gate/gate-grenade-dsvm/49488b7 : SUCCESS in 32m 27s\n- gate-tempest-dsvm-large-ops http://logs.openstack.org/39/112139/2/gate/gate-tempest-dsvm-large-ops/624cc6e : SUCCESS in 23m 43s\n- gate-tempest-dsvm-neutron-large-ops http://logs.openstack.org/39/112139/2/gate/gate-tempest-dsvm-neutron-large-ops/7f7190b : SUCCESS in 22m 05s\n- gate-python-swiftclient-python33 http://logs.openstack.org/39/112139/2/gate/gate-python-swiftclient-python33/9608c92 : SUCCESS in 4m 15s\n- gate-python-swiftclient-pypy http://logs.openstack.org/39/112139/2/gate/gate-python-swiftclient-pypy/2fc5b0e : SUCCESS in 2m 11s\n- gate-swift-dsvm-functional http://logs.openstack.org/39/112139/2/gate/gate-swift-dsvm-functional/dada110 : SUCCESS in 19m 25s","accounts_in_message":[],"_revision_number":2},{"id":"f941468853fe4e2f9f3472183e3ebbfd94a5397f","author":{"_account_id":5189,"name":"Yuan Zhou","email":"dunk007@gmail.com","username":"yuan-zhou"},"date":"2014-08-18 05:51:30.000000000","message":"Patch Set 2:\n\n@Pete, It seems with this patch some \u0027pseudo\u0027 folder will occur in the src directory after ./run_tests.sh ?","accounts_in_message":[],"_revision_number":2},{"id":"1532432e0a125f520099ea841003a064136edb95","author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"date":"2014-08-18 14:30:26.000000000","message":"Patch Set 2:\n\nThanks for the pointer about the directory. Another thing I noticed, if one saves such a file with --output, a directory is created, although it\u0027s unnecessary. I\u0027ll fix it all up ASAP.","accounts_in_message":[],"_revision_number":2},{"id":"6c5c1e144a8ebf1f29ccb3947724b97f05163d01","author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"date":"2014-08-18 15:05:25.000000000","message":"Patch Set 2:\n\nI feel compelled to add that the condition that creates that directory existed before, but we did not test the parameters that lead to the crash (or we would find the crash), therefore the directory was not created.","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"3d56b65c898d7997819f2627a2fb722bd0c33b69","revisions":{"5fb42c20e9e3855f332ff2fa3e230bb9a7096462":{"kind":"REWORK","_number":1,"created":"2014-08-05 21:06:44.000000000","uploader":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"ref":"refs/changes/39/112139/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/39/112139/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/39/112139/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/39/112139/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/39/112139/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/39/112139/1"}}},"commit":{"parents":[{"commit":"6b836ac3686d6842bf50ac24f09aca8dfac3f41b","subject":"Update theme for docs","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/6b836ac3686d6842bf50ac24f09aca8dfac3f41b"}]}],"author":{"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","date":"2014-08-05 21:00:56.000000000","tz":-360},"committer":{"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","date":"2014-08-05 21:00:56.000000000","tz":-360},"subject":"Fix crash when downloading a pseudo-directory","message":"Fix crash when downloading a pseudo-directory\n\nIf a user creates an object with name ending with a slash, then\ndownloading such container ends in a traceback like this:\n\n..............\ntest5g.file [auth 1.516s, headers 1.560s, total 244.565s, 22.089 MB/s]\nTraceback (most recent call last):\n  File \"/usr/lib/python2.6/site-packages/swiftclient/multithreading.py\", line 74, in run\n    result \u003d self.func(item, *self.args, **self.kwargs)\n  File \"/usr/lib/python2.6/site-packages/swiftclient/shell.py\", line 403, in _download_object\n    fp \u003d open(path, \u0027wb\u0027)\nIOError: [Errno 21] Is a directory: \u0027first-pseudo-folder/\u0027\n\nThe proposed fix is not to save this object. Note that the contents of\nthe object are available with --output option, as before. Only the\ncrash is fixed.\n\nChange-Id: I3352f7a4eaf9970961af0cc84c4706fc1eab281d\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/5fb42c20e9e3855f332ff2fa3e230bb9a7096462"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/5fb42c20e9e3855f332ff2fa3e230bb9a7096462"}]},"branch":"refs/heads/master"},"3d56b65c898d7997819f2627a2fb722bd0c33b69":{"kind":"REWORK","_number":2,"created":"2014-08-14 20:01:07.000000000","uploader":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"ref":"refs/changes/39/112139/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/39/112139/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/39/112139/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/39/112139/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/39/112139/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/39/112139/2"}}},"commit":{"parents":[{"commit":"8664eadd19915db3c9b9fc009fc2accbac8f1b93","subject":"Merge \"Clean up raw policy stats in account stat\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/8664eadd19915db3c9b9fc009fc2accbac8f1b93"}]}],"author":{"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","date":"2014-08-14 19:57:53.000000000","tz":-360},"committer":{"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","date":"2014-08-14 19:57:53.000000000","tz":-360},"subject":"Fix crash when downloading a pseudo-directory","message":"Fix crash when downloading a pseudo-directory\n\nIf a user creates an object with name ending with a slash, then\ndownloading such container ends in a traceback like this:\n\n..............\ntest5g.file [auth 1.516s, headers 1.560s, total 244.565s, 22.089 MB/s]\nTraceback (most recent call last):\n  File \"/usr/lib/python2.6/site-packages/swiftclient/multithreading.py\", lin\n    result \u003d self.func(item, *self.args, **self.kwargs)\n  File \"/usr/lib/python2.6/site-packages/swiftclient/shell.py\", line 403, in\n    fp \u003d open(path, \u0027wb\u0027)\nIOError: [Errno 21] Is a directory: \u0027first-pseudo-folder/\u0027\n\nThe proposed fix is not to save this object. Note that the contents of\nthe object are available with --output option, as before. Only the\ncrash is fixed.\n\nEven though we do not use the contents, we download the object and\ncheck its Etag, in case. We also create a corresponding directory,\nin case the pseudo-directory contains no objects.\n\nThe format of printout is changed, so user realizes easier when\npseudo-directory convention is in effect. Note that this is not a\ncompatibility issue because previously there was crash in such case.\n\nChange-Id: I3352f7a4eaf9970961af0cc84c4706fc1eab281d\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/3d56b65c898d7997819f2627a2fb722bd0c33b69"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/3d56b65c898d7997819f2627a2fb722bd0c33b69"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
