{"action":"created","issue":{"url":"https://api.github.com/repos/cockroachdb/cockroach/issues/23176","repository_url":"https://api.github.com/repos/cockroachdb/cockroach","labels_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/23176/labels{/name}","comments_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/23176/comments","events_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/23176/events","html_url":"https://github.com/cockroachdb/cockroach/issues/23176","id":300768606,"node_id":"MDU6SXNzdWUzMDA3Njg2MDY=","number":23176,"title":"storage: UPSERT in SNAPSHOT isolation can write incorrect index records","user":{"login":"bsnyder788","id":3028415,"node_id":"MDQ6VXNlcjMwMjg0MTU=","avatar_url":"https://avatars3.githubusercontent.com/u/3028415?v=4","gravatar_id":"","url":"https://api.github.com/users/bsnyder788","html_url":"https://github.com/bsnyder788","followers_url":"https://api.github.com/users/bsnyder788/followers","following_url":"https://api.github.com/users/bsnyder788/following{/other_user}","gists_url":"https://api.github.com/users/bsnyder788/gists{/gist_id}","starred_url":"https://api.github.com/users/bsnyder788/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bsnyder788/subscriptions","organizations_url":"https://api.github.com/users/bsnyder788/orgs","repos_url":"https://api.github.com/users/bsnyder788/repos","events_url":"https://api.github.com/users/bsnyder788/events{/privacy}","received_events_url":"https://api.github.com/users/bsnyder788/received_events","type":"User","site_admin":false},"labels":[{"id":912741766,"node_id":"MDU6TGFiZWw5MTI3NDE3NjY=","url":"https://api.github.com/repos/cockroachdb/cockroach/labels/A-core-concurrency","name":"A-core-concurrency","color":"c2e0c6","default":false},{"id":78928345,"node_id":"MDU6TGFiZWw3ODkyODM0NQ==","url":"https://api.github.com/repos/cockroachdb/cockroach/labels/C-bug","name":"C-bug","color":"c5def5","default":false},{"id":239311849,"node_id":"MDU6TGFiZWwyMzkzMTE4NDk=","url":"https://api.github.com/repos/cockroachdb/cockroach/labels/C-investigation","name":"C-investigation","color":"c5def5","default":false},{"id":560660618,"node_id":"MDU6TGFiZWw1NjA2NjA2MTg=","url":"https://api.github.com/repos/cockroachdb/cockroach/labels/O-community","name":"O-community","color":"666ad1","default":false},{"id":912295675,"node_id":"MDU6TGFiZWw5MTIyOTU2NzU=","url":"https://api.github.com/repos/cockroachdb/cockroach/labels/S-0-corruption-or-data-loss","name":"S-0-corruption-or-data-loss","color":"a00000","default":false}],"state":"open","locked":false,"assignee":{"login":"bdarnell","id":160562,"node_id":"MDQ6VXNlcjE2MDU2Mg==","avatar_url":"https://avatars1.githubusercontent.com/u/160562?v=4","gravatar_id":"","url":"https://api.github.com/users/bdarnell","html_url":"https://github.com/bdarnell","followers_url":"https://api.github.com/users/bdarnell/followers","following_url":"https://api.github.com/users/bdarnell/following{/other_user}","gists_url":"https://api.github.com/users/bdarnell/gists{/gist_id}","starred_url":"https://api.github.com/users/bdarnell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bdarnell/subscriptions","organizations_url":"https://api.github.com/users/bdarnell/orgs","repos_url":"https://api.github.com/users/bdarnell/repos","events_url":"https://api.github.com/users/bdarnell/events{/privacy}","received_events_url":"https://api.github.com/users/bdarnell/received_events","type":"User","site_admin":false},"assignees":[{"login":"bdarnell","id":160562,"node_id":"MDQ6VXNlcjE2MDU2Mg==","avatar_url":"https://avatars1.githubusercontent.com/u/160562?v=4","gravatar_id":"","url":"https://api.github.com/users/bdarnell","html_url":"https://github.com/bdarnell","followers_url":"https://api.github.com/users/bdarnell/followers","following_url":"https://api.github.com/users/bdarnell/following{/other_user}","gists_url":"https://api.github.com/users/bdarnell/gists{/gist_id}","starred_url":"https://api.github.com/users/bdarnell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bdarnell/subscriptions","organizations_url":"https://api.github.com/users/bdarnell/orgs","repos_url":"https://api.github.com/users/bdarnell/repos","events_url":"https://api.github.com/users/bdarnell/events{/privacy}","received_events_url":"https://api.github.com/users/bdarnell/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/cockroachdb/cockroach/milestones/15","html_url":"https://github.com/cockroachdb/cockroach/milestone/15","labels_url":"https://api.github.com/repos/cockroachdb/cockroach/milestones/15/labels","id":3245437,"node_id":"MDk6TWlsZXN0b25lMzI0NTQzNw==","number":15,"title":"2.0.x","description":"","creator":{"login":"petermattis","id":6201335,"node_id":"MDQ6VXNlcjYyMDEzMzU=","avatar_url":"https://avatars0.githubusercontent.com/u/6201335?v=4","gravatar_id":"","url":"https://api.github.com/users/petermattis","html_url":"https://github.com/petermattis","followers_url":"https://api.github.com/users/petermattis/followers","following_url":"https://api.github.com/users/petermattis/following{/other_user}","gists_url":"https://api.github.com/users/petermattis/gists{/gist_id}","starred_url":"https://api.github.com/users/petermattis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/petermattis/subscriptions","organizations_url":"https://api.github.com/users/petermattis/orgs","repos_url":"https://api.github.com/users/petermattis/repos","events_url":"https://api.github.com/users/petermattis/events{/privacy}","received_events_url":"https://api.github.com/users/petermattis/received_events","type":"User","site_admin":false},"open_issues":9,"closed_issues":41,"state":"open","created_at":"2018-04-05T14:30:26Z","updated_at":"2018-07-30T00:13:17Z","due_on":null,"closed_at":null},"comments":29,"created_at":"2018-02-27T19:49:20Z","updated_at":"2018-08-01T14:11:39Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"**BUG REPORT**\r\n\r\n% cockroach version                                                                                                                                                                                                                                                               cockroach\r\nBuild Tag:    v1.1.5\r\nBuild Time:   2018/02/05 17:40:57\r\nDistribution: CCL\r\nPlatform:     linux amd64\r\nGo Version:   go1.8.3\r\nC Compiler:   gcc 6.3.0\r\nBuild SHA-1:  ec52ded95a5235d71f26b6cbc59924bd6733fb3a\r\nBuild Type:   release-gnu\r\n\r\n2. Please describe the issue you observed:\r\n\r\nWe have a strange issue where an index is out of sync and is violating a unique constraint and won't let us easily, manually fix the issue.\r\n\r\n```\r\nroot@cockroach:26257/ecs> SELECT * FROM task@task_by_location_synced WHERE ((location_id = 'xxx') AND (synchronized = false)) AND (initiation_time = '2018-02-27 15:19:24.281+00:00');\r\n+-----------------------------------------------------+------------+----------------------+--------+------------------------------+-----------------------------------------------------------------------------------+--------------------+-------------------------------+---------+-----------------+-----------------------+--------------------------------------------------------------------------+------------------+----------+------------------------------+---------+--------------+------------------------------------------------------+-----------+----------------+----------+\r\n|                        uuid                         |    crm     |     location_id      | active |           end_time           |                                    entity_uuid                                    | initiated_from_ecs |        initiation_time        | message |    operation    | operation_description |                                 org_uuid                                 | parent_task_uuid | progress |          start_time          | status  | synchronized |                       task_id                        | task_type | user_full_name | username |\r\n+-----------------------------------------------------+------------+----------------------+--------+------------------------------+-----------------------------------------------------------------------------------+--------------------+-------------------------------+---------+-----------------+-----------------------+--------------------------------------------------------------------------+------------------+----------+------------------------------+---------+--------------+------------------------------------------------------+-----------+----------------+----------+\r\n| urn:yyy:task:2a11a3e9-a071-4624-94a7-5fcbd4fb0657 | 0000 | xxx | false  | 2018-02-25 20:28:40.28+00:00 | xxx:urn:fake:entity:abcd | false              | 2018-02-27 15:19:24.281+00:00 | NULL    | fakeType | fakeType       | xxx:urn:fake:parent:abcd | NULL             |      100 | 2018-02-25 20:05:12.83+00:00 | success | false        | urn:yyy:task:d2e4018b-ebfc-4f26-ac21-cfc713f359c1 | test       | System         | tester    |\r\n+-----------------------------------------------------+------------+----------------------+--------+------------------------------+-----------------------------------------------------------------------------------+--------------------+-------------------------------+---------+-----------------+-----------------------+--------------------------------------------------------------------------+------------------+----------+------------------------------+---------+--------------+------------------------------------------------------+-----------+----------------+----------+\r\n(1 row)\r\n\r\nTime: 128.560204ms\r\n```\r\n\r\nEverything looks fine in that above return.  But if you change synchronized in the query to \"true\", we get:\r\n\r\n```\r\nroot@cockroach:26257/ecs> SELECT * FROM task@task_by_location_synced WHERE ((location_id = 'xxx') AND (synchronized = true)) AND (initiation_time = '2018-02-27 15:19:24.281+00:00');\r\n+-----------------------------------------------------+------------+----------------------+--------+------------------------------+-----------------------------------------------------------------------------------+--------------------+-------------------------------+---------+-----------------+-----------------------+--------------------------------------------------------------------------+------------------+----------+------------------------------+---------+--------------+------------------------------------------------------+-----------+----------------+----------+\r\n|                        uuid                         |    crm     |     location_id      | active |           end_time           |                                    entity_uuid                                    | initiated_from_ecs |        initiation_time        | message |    operation    | operation_description |                                 org_uuid                                 | parent_task_uuid | progress |          start_time          | status  | synchronized |                       task_id                        | task_type | user_full_name | username |\r\n+-----------------------------------------------------+------------+----------------------+--------+------------------------------+-----------------------------------------------------------------------------------+--------------------+-------------------------------+---------+-----------------+-----------------------+--------------------------------------------------------------------------+------------------+----------+------------------------------+---------+--------------+------------------------------------------------------+-----------+----------------+----------+\r\n| urn:yyy:task:2a11a3e9-a071-4624-94a7-5fcbd4fb0657 | 0000 | xxx | false  | 2018-02-25 20:28:40.28+00:00 | xxx:urn:fake:entity:abc | false              | 2018-02-27 15:19:24.281+00:00 | NULL    | fakeType | fakeType       | xxx:urn:fake:parent:abcd | NULL             |      100 | 2018-02-25 20:05:12.83+00:00 | success | false        | urn:yyy:task:d2e4018b-ebfc-4f26-ac21-cfc713f359c1 | test       | System         | tester    |\r\n+-----------------------------------------------------+------------+----------------------+--------+------------------------------+-----------------------------------------------------------------------------------+--------------------+-------------------------------+---------+-----------------+-----------------------+--------------------------------------------------------------------------+------------------+----------+------------------------------+---------+--------------+------------------------------------------------------+-----------+----------------+----------+\r\n(1 row)\r\n\r\nTime: 120.803796ms\r\n```\r\n\r\nAs you can see even though we query for synchronized=true directly the resulting data shows that synchronized is still false.\r\n\r\nIf I query it in the following manner the data comes back like so with it being correct in terms of what I queried for:\r\n\r\n```\r\nroot@cockroach:26257/ecs> SELECT synchronized FROM task@task_by_location_synced WHERE ((location_id = 'xxx') AND (synchronized = false)) AND (initiation_time = '2018-02-27 15:19:24.281+00:00');\r\n+--------------+\r\n| synchronized |\r\n+--------------+\r\n| false        |\r\n+--------------+\r\n(1 row)\r\n\r\nTime: 37.420711ms\r\n\r\nroot@cockroach:26257/ecs> SELECT synchronized FROM task@task_by_location_synced WHERE ((location_id = 'xxx') AND (synchronized = true)) AND (initiation_time = '2018-02-27 15:19:24.281+00:00');\r\n+--------------+\r\n| synchronized |\r\n+--------------+\r\n| true         |\r\n+--------------+\r\n(1 row)\r\n\r\nTime: 41.600935ms\r\n```\r\n\r\nIf I query just the base table on the PRIMARY key I get the following:\r\n\r\n```\r\nroot@cockroach:26257/ecs> SELECT * FROM task WHERE \"uuid\" = 'urn:xxx:task:2a11a3e9-a071-4624-94a7-5fcbd4fb0657';\r\n+-----------------------------------------------------+------------+----------------------+--------+------------------------------+-----------------------------------------------------------------------------------+--------------------+-------------------------------+---------+-----------------+-----------------------+--------------------------------------------------------------------------+------------------+----------+------------------------------+---------+--------------+------------------------------------------------------+-----------+----------------+----------+\r\n|                        uuid                         |    crm     |     location_id      | active |           end_time           |                                    entity_uuid                                    | initiated_from_ecs |        initiation_time        | message |    operation    | operation_description |                                 org_uuid                                 | parent_task_uuid | progress |          start_time          | status  | synchronized |                       task_id                        | task_type | user_full_name | username |\r\n+-----------------------------------------------------+------------+----------------------+--------+------------------------------+-----------------------------------------------------------------------------------+--------------------+-------------------------------+---------+-----------------+-----------------------+--------------------------------------------------------------------------+------------------+----------+------------------------------+---------+--------------+------------------------------------------------------+-----------+----------------+----------+\r\n| urn:xxx:task:2a11a3e9-a071-4624-94a7-5fcbd4fb0657 | 0000 | xxx | false  | 2018-02-25 20:28:40.28+00:00 | xxx:urn:fake:entity:abc | false              | 2018-02-27 15:19:24.281+00:00 | NULL    | fakeType | fakeType       | xxx:urn:fake:parent:abcd | NULL             |      100 | 2018-02-25 20:05:12.83+00:00 | success | false        | urn:yyy:task:d2e4018b-ebfc-4f26-ac21-cfc713f359c1 | test       | System         | tester    |\r\n+-----------------------------------------------------+------------+----------------------+--------+------------------------------+-----------------------------------------------------------------------------------+--------------------+-------------------------------+---------+-----------------+-----------------------+--------------------------------------------------------------------------+------------------+----------+------------------------------+---------+--------------+------------------------------------------------------+-----------+----------------+----------+\r\n(1 row)\r\n\r\nTime: 134.96595ms\r\n```\r\n\r\nIf I try to manually update the base row to show synchronized = false, I get the following error:\r\n\r\n```\r\nroot@cockroach:26257/ecs> UPDATE task SET synchronized = true WHERE \"uuid\" = 'urn:xxx:task:2a11a3e9-a071-4624-94a7-5fcbd4fb0657';\r\npq: duplicate key value (location_id,synchronized,initiation_time)=('urn:xxx:task:2a11a3e9-a071-4624-94a7-5fcbd4fb0657',true,'2018-02-27 15:19:24.281+00:00') violates unique constraint \"task_by_location_synced\"\r\n```\r\n\r\nThus, our row is stuck in a bad state where that field cannot be updated.\r\n\r\nThe schema is as follows:\r\n```\r\n+-----------------------+-----------+-------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\r\n|         Field         |   Type    | Null  | Default |                                                                                               Indices                                                                                                |\r\n+-----------------------+-----------+-------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\r\n| uuid                  | STRING    | false | NULL    | {\"primary\",\"task_by_native_id\",\"task_by_location_synced\",\"task_by_entity_synced\",\"task_by_org_synced\",\"task_by_org\",\"task_by_org_type\",\"task_by_entity\",\"task_by_org_user\",\"continuity_task_by_org\"} |\r\n| crm                   | STRING    | true  | NULL    | {}                                                                                                                                                                                                   |\r\n| location_id           | STRING    | true  | NULL    | {\"task_by_native_id\",\"task_by_location_synced\"}                                                                                                                                                      |\r\n| active                | BOOL      | true  | NULL    | {}                                                                                                                                                                                                   |\r\n| end_time              | TIMESTAMP | true  | NULL    | {}                                                                                                                                                                                                   |\r\n| entity_uuid           | STRING    | true  | NULL    | {\"task_by_entity_synced\",\"task_by_entity\"}                                                                                                                                                           |\r\n| initiated_from_ecs    | BOOL      | true  | NULL    | {}                                                                                                                                                                                                   |\r\n| initiation_time       | TIMESTAMP | true  | NULL    | {\"task_by_native_id\",\"task_by_location_synced\",\"task_by_entity_synced\",\"task_by_org_synced\",\"task_by_org\",\"task_by_org_type\",\"task_by_entity\",\"task_by_org_user\",\"continuity_task_by_org\"}           |\r\n| message               | STRING    | true  | NULL    | {}                                                                                                                                                                                                   |\r\n| operation             | STRING    | true  | NULL    | {\"continuity_task_by_org\"}                                                                                                                                                                           |\r\n| operation_description | STRING    | true  | NULL    | {}                                                                                                                                                                                                   |\r\n| org_uuid              | STRING    | true  | NULL    | {\"task_by_org_synced\",\"task_by_org\",\"task_by_org_type\",\"task_by_org_user\",\"continuity_task_by_org\"}                                                                                                  |\r\n| parent_task_uuid      | STRING    | true  | NULL    | {\"continuity_task_by_org\"}                                                                                                                                                                           |\r\n| progress              | INT       | true  | NULL    | {}                                                                                                                                                                                                   |\r\n| start_time            | TIMESTAMP | true  | NULL    | {}                                                                                                                                                                                                   |\r\n| status                | STRING    | true  | NULL    | {}                                                                                                                                                                                                   |\r\n| synchronized          | BOOL      | true  | NULL    | {\"task_by_location_synced\",\"task_by_entity_synced\",\"task_by_org_synced\",\"continuity_task_by_org\"}                                                                                                    |\r\n| task_id               | STRING    | true  | NULL    | {\"task_by_native_id\"}                                                                                                                                                                                |\r\n| task_type             | STRING    | true  | NULL    | {\"task_by_org_type\"}                                                                                                                                                                                 |\r\n| user_full_name        | STRING    | true  | NULL    | {}                                                                                                                                                                                                   |\r\n| username              | STRING    | true  | NULL    | {\"task_by_org_user\"}                                                                                                                                                                                 |\r\n+-----------------------+-----------+-------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\r\n\r\nroot@cockroach:26257/ecs> show indexes from task;\r\n+-------+-------------------------+--------+-----+------------------+-----------+---------+----------+\r\n| Table |          Name           | Unique | Seq |      Column      | Direction | Storing | Implicit |\r\n+-------+-------------------------+--------+-----+------------------+-----------+---------+----------+\r\n| task  | primary                 | true   |   1 | uuid             | ASC       | false   | false    |\r\n| task  | task_by_native_id       | false  |   1 | location_id      | ASC       | false   | false    |\r\n| task  | task_by_native_id       | false  |   2 | task_id          | ASC       | false   | false    |\r\n| task  | task_by_native_id       | false  |   3 | initiation_time  | DESC      | false   | false    |\r\n| task  | task_by_native_id       | false  |   4 | uuid             | ASC       | false   | true     |\r\n| task  | task_by_location_synced | false  |   1 | location_id      | ASC       | false   | false    |\r\n| task  | task_by_location_synced | false  |   2 | synchronized     | ASC       | false   | false    |\r\n| task  | task_by_location_synced | false  |   3 | initiation_time  | DESC      | false   | false    |\r\n| task  | task_by_location_synced | false  |   4 | uuid             | ASC       | false   | true     |\r\n| task  | task_by_entity_synced   | false  |   1 | entity_uuid      | ASC       | false   | false    |\r\n| task  | task_by_entity_synced   | false  |   2 | synchronized     | ASC       | false   | false    |\r\n| task  | task_by_entity_synced   | false  |   3 | initiation_time  | DESC      | false   | false    |\r\n| task  | task_by_entity_synced   | false  |   4 | uuid             | ASC       | false   | true     |\r\n| task  | task_by_org_synced      | false  |   1 | org_uuid         | ASC       | false   | false    |\r\n| task  | task_by_org_synced      | false  |   2 | synchronized     | ASC       | false   | false    |\r\n| task  | task_by_org_synced      | false  |   3 | initiation_time  | DESC      | false   | false    |\r\n| task  | task_by_org_synced      | false  |   4 | uuid             | ASC       | false   | true     |\r\n| task  | task_by_org             | false  |   1 | org_uuid         | ASC       | false   | false    |\r\n| task  | task_by_org             | false  |   2 | initiation_time  | DESC      | false   | false    |\r\n| task  | task_by_org             | false  |   3 | uuid             | ASC       | false   | true     |\r\n| task  | task_by_org_type        | false  |   1 | org_uuid         | ASC       | false   | false    |\r\n| task  | task_by_org_type        | false  |   2 | task_type        | ASC       | false   | false    |\r\n| task  | task_by_org_type        | false  |   3 | initiation_time  | DESC      | false   | false    |\r\n| task  | task_by_org_type        | false  |   4 | uuid             | ASC       | false   | true     |\r\n| task  | task_by_entity          | false  |   1 | entity_uuid      | ASC       | false   | false    |\r\n| task  | task_by_entity          | false  |   2 | initiation_time  | DESC      | false   | false    |\r\n| task  | task_by_entity          | false  |   3 | uuid             | ASC       | false   | true     |\r\n| task  | task_by_org_user        | false  |   1 | org_uuid         | ASC       | false   | false    |\r\n| task  | task_by_org_user        | false  |   2 | username         | ASC       | false   | false    |\r\n| task  | task_by_org_user        | false  |   3 | initiation_time  | DESC      | false   | false    |\r\n| task  | task_by_org_user        | false  |   4 | uuid             | ASC       | false   | true     |\r\n| task  | continuity_task_by_org  | false  |   1 | org_uuid         | ASC       | false   | false    |\r\n| task  | continuity_task_by_org  | false  |   2 | parent_task_uuid | ASC       | false   | false    |\r\n| task  | continuity_task_by_org  | false  |   3 | synchronized     | ASC       | false   | false    |\r\n| task  | continuity_task_by_org  | false  |   4 | operation        | ASC       | false   | false    |\r\n| task  | continuity_task_by_org  | false  |   5 | initiation_time  | DESC      | false   | false    |\r\n| task  | continuity_task_by_org  | false  |   6 | uuid             | ASC       | false   | true     |\r\n+-------+-------------------------+--------+-----+------------------+-----------+---------+----------+\r\n(37 rows)\r\n```\r\n\r\nLet me know if there is anything else I can provide to help get to the bottom of this issue. I am willing to screen share if necessary, etc.\r\n\r\nThanks!\r\n"},"comment":{"url":"https://api.github.com/repos/cockroachdb/cockroach/issues/comments/409588785","html_url":"https://github.com/cockroachdb/cockroach/issues/23176#issuecomment-409588785","issue_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/23176","id":409588785,"node_id":"MDEyOklzc3VlQ29tbWVudDQwOTU4ODc4NQ==","user":{"login":"tschottdorf","id":5076964,"node_id":"MDQ6VXNlcjUwNzY5NjQ=","avatar_url":"https://avatars1.githubusercontent.com/u/5076964?v=4","gravatar_id":"","url":"https://api.github.com/users/tschottdorf","html_url":"https://github.com/tschottdorf","followers_url":"https://api.github.com/users/tschottdorf/followers","following_url":"https://api.github.com/users/tschottdorf/following{/other_user}","gists_url":"https://api.github.com/users/tschottdorf/gists{/gist_id}","starred_url":"https://api.github.com/users/tschottdorf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tschottdorf/subscriptions","organizations_url":"https://api.github.com/users/tschottdorf/orgs","repos_url":"https://api.github.com/users/tschottdorf/repos","events_url":"https://api.github.com/users/tschottdorf/events{/privacy}","received_events_url":"https://api.github.com/users/tschottdorf/received_events","type":"User","site_admin":false},"created_at":"2018-08-01T14:11:39Z","updated_at":"2018-08-01T14:11:39Z","author_association":"MEMBER","body":"@bdarnell it's unsatisfying to never have gotten to the bottom of this, but we have already removed SNAPSHOT isolation for 2.1. Is there anything else to do here?"}}
{"actor":{"display_login":"tschottdorf"}}