{"action":"created","issue":{"url":"https://api.github.com/repos/ipfs/go-ipfs/issues/1738","labels_url":"https://api.github.com/repos/ipfs/go-ipfs/issues/1738/labels{/name}","comments_url":"https://api.github.com/repos/ipfs/go-ipfs/issues/1738/comments","events_url":"https://api.github.com/repos/ipfs/go-ipfs/issues/1738/events","html_url":"https://github.com/ipfs/go-ipfs/issues/1738","id":107618390,"number":1738,"title":"UDT Transition path","user":{"login":"whyrusleeping","id":1243164,"avatar_url":"https://avatars.githubusercontent.com/u/1243164?v=3","gravatar_id":"","url":"https://api.github.com/users/whyrusleeping","html_url":"https://github.com/whyrusleeping","followers_url":"https://api.github.com/users/whyrusleeping/followers","following_url":"https://api.github.com/users/whyrusleeping/following{/other_user}","gists_url":"https://api.github.com/users/whyrusleeping/gists{/gist_id}","starred_url":"https://api.github.com/users/whyrusleeping/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/whyrusleeping/subscriptions","organizations_url":"https://api.github.com/users/whyrusleeping/orgs","repos_url":"https://api.github.com/users/whyrusleeping/repos","events_url":"https://api.github.com/users/whyrusleeping/events{/privacy}","received_events_url":"https://api.github.com/users/whyrusleeping/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-09-21T23:31:36Z","updated_at":"2015-09-22T16:11:03Z","closed_at":null,"body":"Once we get UDT into go-ipfs, we need to have a plan for how to transition the network to use it. My thoughts are as follows:\r\n\r\n1. Change default config to include a UDT listener address, and provide instructions in release notes for users with prexisting configs to add it manually.\r\n2. Update all bootstrap nodes to have both TCP and UDT listeners.\r\n3. Somehow make go-ipfs prefer UDT addresses when given the choice between UDT and TCP.\r\n4. update default config so that bootstrap node addrs are all UDT (or maybe just some of them)\r\n5. update *some* of the bootstrap nodes to have only UDT listener addresses (2-3 nodes, definitely less than half)\r\n6. change default config to *only* have a UDT listener (note: nodes will always have the ability to dial tcp)\r\n\r\nThese steps should be spaced a few days or so apart each, to give the network time to adapt to each change and to observe any issues along the way. Any bugs that get found and fixed related to the UDT transition process should increase the time between the relevant steps (allowing more time for users to update to the fixed code)"},"comment":{"url":"https://api.github.com/repos/ipfs/go-ipfs/issues/comments/142335900","html_url":"https://github.com/ipfs/go-ipfs/issues/1738#issuecomment-142335900","issue_url":"https://api.github.com/repos/ipfs/go-ipfs/issues/1738","id":142335900,"user":{"login":"whyrusleeping","id":1243164,"avatar_url":"https://avatars.githubusercontent.com/u/1243164?v=3","gravatar_id":"","url":"https://api.github.com/users/whyrusleeping","html_url":"https://github.com/whyrusleeping","followers_url":"https://api.github.com/users/whyrusleeping/followers","following_url":"https://api.github.com/users/whyrusleeping/following{/other_user}","gists_url":"https://api.github.com/users/whyrusleeping/gists{/gist_id}","starred_url":"https://api.github.com/users/whyrusleeping/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/whyrusleeping/subscriptions","organizations_url":"https://api.github.com/users/whyrusleeping/orgs","repos_url":"https://api.github.com/users/whyrusleeping/repos","events_url":"https://api.github.com/users/whyrusleeping/events{/privacy}","received_events_url":"https://api.github.com/users/whyrusleeping/received_events","type":"User","site_admin":false},"created_at":"2015-09-22T16:11:03Z","updated_at":"2015-09-22T16:11:03Z","body":"@zignig me too... but none such libraries exist with any sort of reasonable performance."}}