<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Dear Job, Working Group,<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 7 Nov 2017, at 23:11, Job Snijders via db-wg <<a href="mailto:db-wg@ripe.net" class="">db-wg@ripe.net</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Dear all,<br class=""><br class="">There may be some improvement opportunity for NRTMv3.<br class=""><br class="">The problem with the RIPE NRTMv2/NRTMv3 format is that it has no<br class="">'end-of-stream' indicator, thus making the only way to know that the<br class="">output has ended (vs. hung/stalled/server dead) is either by observing a<br class="">time-out & reconnect & compare last serial, or by using single-command<br class="">connections to the NRTM server - which means even worse performance.<br class=""><br class="">When connecting to the RIPE NRTM service and issuing a command like:<br class=""><br class=""> "-g RIPE:3:11012700-LAST -k"<br class=""><br class="">It would be good that when the RIPE NRTM server is done sending its<br class="">inital blurp of backlogged data, the end of that phase of the stream of<br class="">objects is marked by the server sending something like: <br class=""><br class=""> "%CURRENT $TS You are now up to date" ($TS can be a unix timestamp)<br class=""><br class="">after this server message the client knows that it can stay connected<br class="">and that it has received all information so far.<br class=""><br class="">I would also welcome an investigation into alternative approaches, (some<br class="">not-via-WHOIS replication mechanisms), perhaps something over HTTPS can<br class="">be done? Either way, something more robust would be useful.<br class=""><br class="">Kind regards,<br class=""><br class="">Job<br class=""><br class="">ps. An analogy can be made between BGP route refresh as described in RFC<br class="">2918 and Enhanced Route Refresh as described in RFC 7313. One first one<br class="">didn't have an "End of blurp" marker which negatively impacted its<br class="">usefulness, the later RFCintroduced the End-of-RIB marker which is<br class="">very useful.<br class=""><br class=""></div></div></blockquote></div><br class=""><div class=""><br class=""></div><div class="">as part of the Whois 1.91 release, we've added an NRTM "end of stream" comment, and deployed to the Release Candidate environment.</div><div class=""><br class=""></div><div class="">Try connecting to <a href="http://whois-rc.ripe.net" class="">whois-rc.ripe.net</a> on TCP port 4444, and enter the command "-g RIPE:3:40956391-LAST -k". Each set of changes will be followed by an "end of stream" comment.</div><div class=""><br class=""></div><div class="">Changes to objects in RC will appear in the NRTM stream. Changes can be made in RC using the mntner-id (in uppercase) as the password.</div><div class=""><br class=""></div><div class="">Query for existing data: <a href="https://rc.db.ripe.net/db-web-ui/#/query" class="">https://rc.db.ripe.net/db-web-ui/#/query</a></div><div class="">Create a new object: <a href="https://rc.db.ripe.net/db-web-ui/#/webupdates/select" class="">https://rc.db.ripe.net/db-web-ui/#/webupdates/select</a></div><div class="">Multiple changes can be made at once using Syncupdates: <a href="https://rc.db.ripe.net/db-web-ui/#/syncupdates" class="">https://rc.db.ripe.net/db-web-ui/#/syncupdates</a></div><div class=""><br class=""></div><div class="">For more information on the Release Candidate environment, refer to:</div><div class=""><a href="https://www.ripe.net/manage-ips-and-asns/db/release-notes/rc-release-candidate-environment" class="">https://www.ripe.net/manage-ips-and-asns/db/release-notes/rc-release-candidate-environment</a></div><div class=""><br class=""></div><div class="">Please let us know if you see any issues with this change.</div><div class=""><br class=""></div><div class="">Regards</div><div class="">Ed Shryane</div><div class="">RIPE NCC</div><div class=""><br class=""></div></body></html>