{"action":"created","issue":{"url":"https://api.github.com/repos/silverstripe/silverstripe-framework/issues/5544","repository_url":"https://api.github.com/repos/silverstripe/silverstripe-framework","labels_url":"https://api.github.com/repos/silverstripe/silverstripe-framework/issues/5544/labels{/name}","comments_url":"https://api.github.com/repos/silverstripe/silverstripe-framework/issues/5544/comments","events_url":"https://api.github.com/repos/silverstripe/silverstripe-framework/issues/5544/events","html_url":"https://github.com/silverstripe/silverstripe-framework/issues/5544","id":155159756,"number":5544,"title":"Deal with eventually consistent assets more gracefully","user":{"login":"sminnee","id":59968,"avatar_url":"https://avatars.githubusercontent.com/u/59968?v=3","gravatar_id":"","url":"https://api.github.com/users/sminnee","html_url":"https://github.com/sminnee","followers_url":"https://api.github.com/users/sminnee/followers","following_url":"https://api.github.com/users/sminnee/following{/other_user}","gists_url":"https://api.github.com/users/sminnee/gists{/gist_id}","starred_url":"https://api.github.com/users/sminnee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sminnee/subscriptions","organizations_url":"https://api.github.com/users/sminnee/orgs","repos_url":"https://api.github.com/users/sminnee/repos","events_url":"https://api.github.com/users/sminnee/events{/privacy}","received_events_url":"https://api.github.com/users/sminnee/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/silverstripe/silverstripe-framework/labels/affects/v4","name":"affects/v4","color":"5319e7"},{"url":"https://api.github.com/repos/silverstripe/silverstripe-framework/labels/type/enhancement","name":"type/enhancement","color":"0e8a16"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/silverstripe/silverstripe-framework/milestones/41","html_url":"https://github.com/silverstripe/silverstripe-framework/milestones/CMS%204.0.0-alpha4","labels_url":"https://api.github.com/repos/silverstripe/silverstripe-framework/milestones/41/labels","id":2039149,"number":41,"title":"CMS 4.0.0-alpha4","description":"","creator":{"login":"sminnee","id":59968,"avatar_url":"https://avatars.githubusercontent.com/u/59968?v=3","gravatar_id":"","url":"https://api.github.com/users/sminnee","html_url":"https://github.com/sminnee","followers_url":"https://api.github.com/users/sminnee/followers","following_url":"https://api.github.com/users/sminnee/following{/other_user}","gists_url":"https://api.github.com/users/sminnee/gists{/gist_id}","starred_url":"https://api.github.com/users/sminnee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sminnee/subscriptions","organizations_url":"https://api.github.com/users/sminnee/orgs","repos_url":"https://api.github.com/users/sminnee/repos","events_url":"https://api.github.com/users/sminnee/events{/privacy}","received_events_url":"https://api.github.com/users/sminnee/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":0,"state":"open","created_at":"2016-09-30T02:27:00Z","updated_at":"2016-10-11T14:15:50Z","due_on":null,"closed_at":null},"comments":12,"created_at":"2016-05-17T01:47:22Z","updated_at":"2016-10-11T14:16:16Z","closed_at":null,"body":"Sometimes in multi-server configurations, assets are eventually consistent. Although session-stickiness can help mitigate this in some circumstances, it would be better to make the CMS deal with eventual consistency more gracefully.\r\n\r\nThe simplest way to do this is, wherever templates refer to an image that 404s, periodically attempt to refresh it. Starting with a 1 second delay, and doubling the length of the delay after each failure, would be a flexible solution.\r\n\r\nThere are 2 main places where this is an issue:\r\n\r\n * Just after uploading an image\r\n * Inserting a resampled into WYSIWYG\r\n\r\nAssets usually appear within a few seconds, so having an auto-refresh option in the CMS is important. It's also not critical to solve this in every possible place that it may be an issue; the two examples above are the main ones.\r\n\r\nTo help test this, I've created https://github.com/sminnee/silverstripe-framework/tree/asset-ec-test-stub which provides this commit: https://github.com/sminnee/silverstripe-framework/commit/dfdf411aaf2afb5dd6cee835e6ddb87b6d9dac27\r\n"},"comment":{"url":"https://api.github.com/repos/silverstripe/silverstripe-framework/issues/comments/252929476","html_url":"https://github.com/silverstripe/silverstripe-framework/issues/5544#issuecomment-252929476","issue_url":"https://api.github.com/repos/silverstripe/silverstripe-framework/issues/5544","id":252929476,"user":{"login":"sminnee","id":59968,"avatar_url":"https://avatars.githubusercontent.com/u/59968?v=3","gravatar_id":"","url":"https://api.github.com/users/sminnee","html_url":"https://github.com/sminnee","followers_url":"https://api.github.com/users/sminnee/followers","following_url":"https://api.github.com/users/sminnee/following{/other_user}","gists_url":"https://api.github.com/users/sminnee/gists{/gist_id}","starred_url":"https://api.github.com/users/sminnee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sminnee/subscriptions","organizations_url":"https://api.github.com/users/sminnee/orgs","repos_url":"https://api.github.com/users/sminnee/repos","events_url":"https://api.github.com/users/sminnee/events{/privacy}","received_events_url":"https://api.github.com/users/sminnee/received_events","type":"User","site_admin":false},"created_at":"2016-10-11T14:16:15Z","updated_at":"2016-10-11T14:16:15Z","body":"Placing this on the alpha4 milestone. This will be pretty critical in providing an S3-backed CMS that has a good experience."}}
{"actor":{"display_login":"sminnee"}}