)]}'
{"id":"openstack%2Fswift~796982","triplet_id":"openstack%2Fswift~master~I7d5d6856e17cc2f83595e8bfede5485e5bc218ee","project":"openstack/swift","branch":"master","hashtags":[],"change_id":"I7d5d6856e17cc2f83595e8bfede5485e5bc218ee","subject":"ec: Refuse to sync non-durables that are fresh on disk","status":"ABANDONED","created":"2021-06-18 01:24:05.000000000","updated":"2022-03-23 22:41:28.000000000","total_comment_count":3,"unresolved_comment_count":3,"has_review_started":true,"meta_rev_id":"1f204ca21e2642775da8c0f61ecd031c03dec8de","_number":796982,"virtual_id_number":796982,"owner":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"tag":"autogenerated:zuul:check","value":-1,"date":"2021-06-18 02:37:41.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":-1,"default_value":0,"optional":true},"Code-Review":{"disliked":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"all":[{"value":-1,"date":"2021-06-22 17:09:39.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":"","value":-1,"default_value":0,"optional":true},"Workflow":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2021-06-18 02:07:21.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2021-06-18 02:37:41.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2021-06-22 17:09:39.000000000","updated_by":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"reviewer":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"state":"REVIEWER"}],"messages":[{"id":"b8d8ab174fdfc42eaf0d19c98e6bfa9d92adcbe7","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-06-18 01:24:05.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"abaa1814fad163aecd5e4af1d717e021e4f1189d","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-06-18 02:07:21.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/4510fbb1dacb4daaaac8d4c5b30acaff : FAILURE in 38m 33s (non-voting)\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/daf89974cf964874823cbe2832df3b12 : FAILURE in 41m 20s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"25222e6c740406be8f6b1c0a853a56719a6653b8","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-06-18 02:37:41.000000000","message":"Patch Set 1: Verified-1\n\n(2 comments)\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/bdddd5587ac64cf696605fedb8553c94 : SUCCESS in 11m 39s\n- grenade https://zuul.opendev.org/t/openstack/build/8577c61e86914a51bcf19c29498f4a6d : SUCCESS in 1h 08m 51s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/36649feec18a41fabaf89f8394230252 : SUCCESS in 46m 23s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/5bce8b25b92e48699e1befabb05ddd87 : SUCCESS in 8m 13s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/dd1d2f6772504f56b2e204915c404bc5 : SUCCESS in 8m 43s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/53f2a83e04a9400c977e2e3e897c7712 : FAILURE in 16m 11s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/e9b1c2ecfb354f5781873aa3d90fc02b : FAILURE in 15m 58s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/aaa2735fe9ea455380c4809caaa3466f : FAILURE in 14m 54s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/e6a8ee2e2b1045f48fb6033d08b223ef : FAILURE in 15m 47s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/3c5a799294224be0821cd6328612bf45 : FAILURE in 16m 21s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/6d1cf85b61e14148962d9fef939df673 : SUCCESS in 18m 13s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/90d1b004419749788062e756efd3c02c : SUCCESS in 19m 05s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/46bb934aaed9488b8a44a7340cd7dd2a : SUCCESS in 18m 08s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/7415f6ec42a740b0bd1c2875af098469 : SUCCESS in 17m 24s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/89d5cf4a61fc46fb9cc5ec83b25a0657 : SUCCESS in 16m 59s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/f8ab74e3803f46efa44c40b428f1f2ab : SUCCESS in 19m 15s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/61c60398ec85418b87e3e8cc30f10114 : SUCCESS in 6m 27s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/08f52b1f1a47469c9a95ad3a87c4d1eb : SUCCESS in 21m 14s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/8e5e655615604d8ab8fc36186513dd0a : FAILURE in 51m 50s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/a2357a8be64e4b77b293e6d6dfc2902e : FAILURE in 52m 25s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/05be2619a5c74cf98ba87603c46648c9 : SUCCESS in 44m 14s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/3058d36ffb9040f0b6e26ed5af7cd63d : SUCCESS in 57m 54s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/b3d76eef8c8943f3bb626706fc2025da : FAILURE in 35m 08s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/24d4842f4d49421e8d252c4f66121864 : FAILURE in 9m 50s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/2621bd3da5294cd1b0135ef9e8265a3c : FAILURE in 14m 58s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/75090157b25a432488afb60c527ae867 : SUCCESS in 58m 02s","accounts_in_message":[],"_revision_number":1},{"id":"3e05830a111428f41177dfe32c899592f358823e","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-06-22 17:09:39.000000000","message":"Patch Set 1: Code-Review-1\n\n(3 comments)\n\nI think the time window is ok - it\u0027s a little annoying but I like that we don\u0027t just throw away the durable state is about to come from the object server PUT by keeping the non-durable around.\n\nI tried a slightly different approach here https://review.opendev.org/c/openstack/swift/+/797515\nwhere I proceed to revert the nondurable but delay it being deleted.","accounts_in_message":[],"_revision_number":1},{"id":"1f204ca21e2642775da8c0f61ecd031c03dec8de","tag":"autogenerated:gerrit:abandon","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2022-03-23 22:41:28.000000000","message":"Abandoned\n\nMerged the alternate approach at https://review.opendev.org/c/openstack/swift/+/797515","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"f615b14024fec1f266e71a244d6319526241213e","revisions":{"f615b14024fec1f266e71a244d6319526241213e":{"kind":"REWORK","_number":1,"created":"2021-06-18 01:24:05.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/82/796982/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/82/796982/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/82/796982/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/82/796982/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/82/796982/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/82/796982/1"}}},"commit":{"parents":[{"commit":"977f1bcc61077833c8473f7dee7a53e5605def2f","subject":"Merge \"Add unit test for missing whole EC fragments\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/977f1bcc61077833c8473f7dee7a53e5605def2f"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2021-06-18 01:10:31.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2021-06-18 01:10:31.000000000","tz":-420},"subject":"ec: Refuse to sync non-durables that are fresh on disk","message":"ec: Refuse to sync non-durables that are fresh on disk\n\nThere\u0027s always this window between when an object server writes down\nnon-durable data and when it marks it durable. If we\u0027re writing to a\nhandoff and an aggressive reconstructor reverts the non-durable data\nback to the primary during that window, the object server gets an ENOENT\nwhen it tries to mark the reverted data durable:\n\n  Traceback (most recent call last):\n    File \".../swift/obj/diskfile.py\", line 3129, in _finalize_durable\n      files \u003d os.listdir(self._datadir)\n  OSError: [Errno 2]  No such file or directory: ...\n\n  Traceback (most recent call last):\n    File \".../swift/obj/server.py\", line 1338, in __call__\n      res \u003d getattr(self, req.method)(req)\n    File \".../swift/common/utils.py\", line 2067, in _timing_stats\n      resp \u003d func(ctrl, *args, **kwargs)\n    File \".../swift/obj/server.py\", line 1053, in PUT\n      writer.commit(request.timestamp)\n    File \".../swift/obj/diskfile.py\", line 3191, in commit\n      timestamp)\n    File \".../eventlet/tpool.py\", line 129, in execute\n      six.reraise(c, e, tb)\n    File \".../eventlet/tpool.py\", line 83, in tworker\n      rv \u003d meth(*args, **kwargs)\n    File \".../swift/obj/diskfile.py\", line 3170, in _finalize_durable\n      raise exc\n  DiskFileError: Problem making data file durable ... ([Errno 2]  No such file or directory: ...)\n\nIntroduce a delay in the reconstructor\u0027s handling of nondurable data: if\nthe mtime is within the last min_nondurable_age (default 60) seconds,\nskip it on the assumption that we\u0027ll get on in the next pass. Use mtime\nrather than object timestamp since the reconciler (or other processes)\nmay back-date writes.\n\nChange-Id: I7d5d6856e17cc2f83595e8bfede5485e5bc218ee\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f615b14024fec1f266e71a244d6319526241213e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f615b14024fec1f266e71a244d6319526241213e"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
