{"action":"created","issue":{"url":"https://api.github.com/repos/JCTools/JCTools/issues/123","repository_url":"https://api.github.com/repos/JCTools/JCTools","labels_url":"https://api.github.com/repos/JCTools/JCTools/issues/123/labels{/name}","comments_url":"https://api.github.com/repos/JCTools/JCTools/issues/123/comments","events_url":"https://api.github.com/repos/JCTools/JCTools/issues/123/events","html_url":"https://github.com/JCTools/JCTools/issues/123","id":168667412,"number":123,"title":"Why does the SpSc impl requires two ordered stores?","user":{"login":"ChristianWulf","id":3480324,"avatar_url":"https://avatars.githubusercontent.com/u/3480324?v=3","gravatar_id":"","url":"https://api.github.com/users/ChristianWulf","html_url":"https://github.com/ChristianWulf","followers_url":"https://api.github.com/users/ChristianWulf/followers","following_url":"https://api.github.com/users/ChristianWulf/following{/other_user}","gists_url":"https://api.github.com/users/ChristianWulf/gists{/gist_id}","starred_url":"https://api.github.com/users/ChristianWulf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ChristianWulf/subscriptions","organizations_url":"https://api.github.com/users/ChristianWulf/orgs","repos_url":"https://api.github.com/users/ChristianWulf/repos","events_url":"https://api.github.com/users/ChristianWulf/events{/privacy}","received_events_url":"https://api.github.com/users/ChristianWulf/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-08-01T15:01:45Z","updated_at":"2016-08-01T15:11:49Z","closed_at":null,"body":"The SpScArrayQueue uses two ordered stores. However, I do not understand why the  [first one](https://github.com/JCTools/JCTools/blob/master/jctools-core/src/main/java/org/jctools/queues/SpscArrayQueue.java#L128) is important. Unfortunately, there is no explaination in the code except \"StoreStore\".\r\nI think it is sufficient to store the producer index in an ordered way to also make the element visible for the consumer. What am I missing?"},"comment":{"url":"https://api.github.com/repos/JCTools/JCTools/issues/comments/236609821","html_url":"https://github.com/JCTools/JCTools/issues/123#issuecomment-236609821","issue_url":"https://api.github.com/repos/JCTools/JCTools/issues/123","id":236609821,"user":{"login":"akarnokd","id":1269832,"avatar_url":"https://avatars.githubusercontent.com/u/1269832?v=3","gravatar_id":"","url":"https://api.github.com/users/akarnokd","html_url":"https://github.com/akarnokd","followers_url":"https://api.github.com/users/akarnokd/followers","following_url":"https://api.github.com/users/akarnokd/following{/other_user}","gists_url":"https://api.github.com/users/akarnokd/gists{/gist_id}","starred_url":"https://api.github.com/users/akarnokd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akarnokd/subscriptions","organizations_url":"https://api.github.com/users/akarnokd/orgs","repos_url":"https://api.github.com/users/akarnokd/repos","events_url":"https://api.github.com/users/akarnokd/events{/privacy}","received_events_url":"https://api.github.com/users/akarnokd/received_events","type":"User","site_admin":false},"created_at":"2016-08-01T15:11:49Z","updated_at":"2016-08-01T15:11:49Z","body":"I'm not an expert on this like Nitsan but here is my understanding: 1) prevent that store to move further up (too early and gets too inconsistent with size/isEmpty()), 2) make sure the emptiness/fullness checking (aka fast-flow) works properly as they form aquire-release pairs."}}
{"actor":{"display_login":"akarnokd"}}