# <!-- METAHEADER
# –––––––––––––––––––––––––––––––––––––––––––––––––– -->
"*": "https://raw.githubusercontent.com/wefindx/schema/master/intent/oo-item.yaml"
# <!-- HEADER
# –––––––––––––––––––––––––––––––––––––––––––––––––– -->
"base:title": "0oo - Eventual consistency strategies"
"og:title": "Eventual consistency strategies"
"og:description": "I have some thoughts and ideas on how to resolve partitions after resynchronization with lost peers. Essentially we want to merge data that is on every replica together CRDTs help a bit but do not provide an out of the box solution to conflicting updates. We don&#x27;t want one person&#x27;s changes to be lost. I propose that GUIs of editor interfaces present conflicts with a record simultaneously for resolution. Which value gets used is in dispute as the data is conflicting. You kind of need to skip conflicting records! As you don&#x27;t know which value is correct. You could have …"
"og:image": "https://avatars0.githubusercontent.com/u/28134655"
"og:url": "/intent/172001/"
"base:css": "/static/css/bootstrap.min.9c25540d6272.css"
"base:extra-css": "/static/css/base.57997aeac1df.css"
"base:favicon": "/static/favicon.acaa334f0136.ico"
"base:body_class": ""
"layout:logo": "/static/0oo.8d2a8bbef612.svg"
"layout:index": "/"
"layout:menu": "/menu/"
"layout:categories": "/intents/"
"layout:ideas": "/methods/"
"layout:projects": "/projects/"
"layout:users": "/users/"
"layout:about": "/about/"
"layout:help": "/help/"
"layout:bug_report": "https://github.com/wefindx/0oo"
"layout:login": "/accounts/login/"
"layout:light-off": "/darken/?darken=true"
"layout:set-multilingual": "/mulang/?mulang=true"
"layout:lang": "语言"
"layout:set-language-post-action": "/i18n/setlang/"
"layout:csrf-token": "TTUyyJTpIUafn8xe4HgmqMuDn8WQILYAV1cA3FSYH0Os34Th6XkP2wgsxJIq25x6"
"layout:input-next": "/intent/172001/"
"layout:languages": [{"code": "ja", "is-active": "false", "name": "日本語"}, {"code": "lt", "is-active": "false", "name": "Lietuviškai"}, {"code": "zh-hans", "is-active": "true", "name": "简体中文"}, {"code": "en", "is-active": "false", "name": "English"}, {"code": "ru", "is-active": "false", "name": "Русский"}, {"code": "oo", "is-active": "false", "name": "O;o,"}]
# <!-- TOPIC
# –––––––––––––––––––––––––––––––––––––––––––––––––– -->
"item:parent:intents": [{"title": "Distributed data storage", "url": "/intent/74001/"}]
"item:title": "Eventual consistency strategies"
"item:votes": 0
"item:add-vote": "#addnote"
"item:intent": "/intent/172001/?l=cn"
"item:base-administration": false
"item:body": |
    I have some thoughts and ideas on how to resolve partitions after resynchronization with lost peers.
    
    Essentially we want to merge data that is on every replica together 
    
    CRDTs help a bit but do not provide an out of the box solution to conflicting updates. We don't want one person's changes to be lost.
    
    I propose that GUIs of editor interfaces present conflicts with a record simultaneously for resolution.
    
    Which value gets used is in dispute as the data is conflicting.
    
    You kind of need to skip conflicting records! As you don't know which value is correct.
    
    You could have a SLA where you pick the latest update, the majority update or the update that was seen the least and so on.
"item:permalink": "/intent/172001/?l=cn"
"item:source-date": ""
"item:owner": "chronological"
"item:ownerlink": "/user/198/chronological"
"item:created": "2022-07-21T17:41:39.862137"
"item:intent:child:add": "/admin/hlog/intent/add/?parent=172001"
# <!-- LINKS
# –––––––––––––––––––––––––––––––––––––––––––––––––– -->
"item:method:items":
"item:method:add": "/admin/hlog/method/add/?parent=172001"
"item:comment:add": "/intents/addnote?parent=172001"
"item:comment:add:csrf_token": "TTUyyJTpIUafn8xe4HgmqMuDn8WQILYAV1cA3FSYH0Os34Th6XkP2wgsxJIq25x6"
"item:comment:form": |
    <li> <textarea name="text" cols="40" rows="10" id="addnote" class="comment-textarea" required>
    </textarea></li>
    <li><label for="id_vote">投票：</label> <select name="vote" id="id_vote">
      <option value="-1">[−]</option>
      <option value="0" selected>-</option>
      <option value="1">[+]</option>
    </select></li>
    <li><label for="id_crawl">安静地：</label> <input type="checkbox" name="crawl" onchange="handleSilently(this)" id="id_crawl"></li>
    <li><label for="id_has_questions">概念：</label> <input type="checkbox" name="has_questions" id="id_has_questions"> <span class="helptext">标记评论提出新问题。</span></li>
    <li><label for="id_has_ideas">想法：</label> <input type="checkbox" name="has_ideas" id="id_has_ideas"> <span class="helptext">标记评论有潜在解决方案。</span></li>
    <li><label for="id_has_facts">事实：</label> <input type="checkbox" name="has_facts" id="id_has_facts"> <span class="helptext">标记评论有助于推理的事实。</span></li>
    <a href="/accounts/login/">请，<i><u>登录</u></i>。</a>
# <!-- COMMENTS
# –––––––––––––––––––––––––––––––––––––––––––––––––– -->
"item:comment:items":
"base:js": "/static/js/base.c7357c06cc89.js"
