<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<div dir="auto">
<div dir="auto">Thank you, it works nicely again. </div><div dir="auto"><br></div><div dir="auto">-- Attilla </div><div dir='auto'><br></div>
<div id="aqm-original" style="color: black;">
<div dir="auto">On April 24, 2021 22:22:47 Dirk Hohndel <dirk@hohndel.org> wrote:</div>
<div><br></div>
<blockquote type="cite" class="gmail_quote" style="margin: 0 0 0 0.75ex; border-left: 1px solid #808080; padding-left: 0.75ex;">
<div dir="auto">Yes, the US server VM ran out of memory and killed a process that didn't have an auto-restart in its systemd service file...</div>
<div dir="auto"><br></div>
<div dir="auto">Should be up and running again.</div>
<div dir="auto"><br></div>
<div dir="auto">Those who used the latest master SHOULD have been automatically redirected to the European server which continued working :-)</div>
<div dir="auto"><br></div>
<div dir="auto">/D</div>
<div dir="auto"><br></div>
<blockquote type="cite" class="gmail_quote" style="margin: 0 0 0 0.75ex; border-left: 1px solid #0099CC; padding-left: 0.75ex;">
<div dir="auto">On Apr 24, 2021, at 11:54 AM, Attilla de Groot <attilla@attilla.nl> wrote:</div>
<div dir="auto"><br></div>
<div dir="auto">Hi Dirk,</div>
<div dir="auto"><br></div>
<div dir="auto">Are there any issues with the backend today? I’m not able to sync either from my desktop or mobile (also over 4G).</div>
<div dir="auto"><br></div>
<div dir="auto"><br></div>
<div dir="auto">— Attilla</div>
<div dir="auto"><br></div>
<blockquote type="cite" class="gmail_quote" style="margin: 0 0 0 0.75ex; border-left: 1px solid #9933CC; padding-left: 0.75ex;">
<div dir="auto">On 19 Apr 2021, at 22:58, Dirk Hohndel via subsurface <subsurface@subsurface-divelog.org> wrote:</div>
<div dir="auto"><br></div>
<div dir="auto">Hi Jason,</div>
<div dir="auto"><br></div>
<div dir="auto">Thanks for the feedback. Yes, the new DNS records now have much longer TTL and are therefore more likely to be cached.</div>
<div dir="auto">I also made some subtle changes to the logic when we first attempt to connect and actually try to start writing to the cloud that might make a difference there.</div>
<div dir="auto"><br></div>
<div dir="auto">/D</div>
<div dir="auto"><br></div>
<blockquote type="cite" class="gmail_quote" style="margin: 0 0 0 0.75ex; border-left: 1px solid #669900; padding-left: 0.75ex;">
<div dir="auto">On Apr 19, 2021, at 1:50 PM, Jason Bramwell  wrote:</div>
<div dir="auto"><br></div>
<div dir="auto">Many thanks as always.</div>
<div dir="auto"><br></div>
<div dir="auto">I used to see a ‘feature’ where the first attempt to load Subsurface would fall back to using the local cache and i’d have to close/reopen Subsurface to get it to connect to the cloud storage, Linux diagnosed this as likely slow DNS lookup, very brief testing (I do mean very brief) seems to indicate that this is no longer the save now and it ‘just works’.</div>
<div dir="auto"><br></div>
<div dir="auto">Jason</div>
<div dir="auto"><br></div>
<div dir="auto">Sent from Mail for Windows 10</div>
<div dir="auto"><br></div>
<div dir="auto">From: Dirk Hohndel via subsurface</div>
<div dir="auto">Sent: 19 April 2021 21:00</div>
<div dir="auto">To: Subsurface Mailing List</div>
<div dir="auto">Subject: redundant cloud servers</div>
<div dir="auto"><br></div>
<div dir="auto"><br></div>
<div dir="auto">Over the past couple of weeks I quietly moved the cloud server backend and the authentication database out of my home network and back into the public cloud.</div>
<div dir="auto">The fact that apparently no one noticed and nothing broke was rather encouraging :-)</div>
<div dir="auto"><br></div>
<div dir="auto">I then setup a second cloud server in the public cloud, this one in Europe (actually, Frankfurt, Germany).</div>
<div dir="auto"><br></div>
<div dir="auto">A few minutes ago I merged a pull request that adds a couple of interesting new features to both Subsurface and Subsurface-mobile:</div>
<div dir="auto"><br></div>
<div dir="auto">- geo based choice of cloud server (those in the Americas should end up using the US server, everyone else should get directed to the European server), which is intended to be completely transparent to the user.</div>
<div dir="auto">I.e., unless you explicitly look for it, you shouldn't notice (or care) which server you are using</div>
<div dir="auto">- hot failover between the two servers (so if the server that you have used before is unavailable, Subsurface and Subsurface-mobile should try the other one - and the implementation makes it easy to add more servers if that appears useful)</div>
<div dir="auto"><br></div>
<div dir="auto">The two servers are automatically kept in sync in the background. I can create one extremely artificial case where there is a fairly short (generally sub one second in my tests) window for a race condition. A user would have to have two different devices that are synced to different servers (for example because they took their phone with them on an overseas dive trip), that have made conflicting changes to the dive log, and the user would then have to cause a save to the cloud on both devices within the roughly one second window. Forcing that race turned out to be fairly hard because the mobile app does a few other things before storing the data to the cloud - so for testing I ended up using two instances of Subsurface and synchronized clicks... really -- not a realistic scenario.</div>
<div dir="auto"><br></div>
<div dir="auto">If this were to happen, I will get an automated email alert and fixing the problem isn't really hard - but I wanted to give a full disclosure of the issues that I am aware of.</div>
<div dir="auto"><br></div>
<div dir="auto">What would help right now if people tested all this.</div>
<div dir="auto">So far I have not had the time to make new beta versions of Subsurface-mobile, but as I said, it's actually easier to test on the desktop.</div>
<div dir="auto"><br></div>
<div dir="auto">/D</div>
<div dir="auto">_______________________________________________</div>
<div dir="auto">subsurface mailing list</div>
<div dir="auto">subsurface@subsurface-divelog.org</div>
<div dir="auto">http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface</div>
</blockquote>
<div dir="auto"><br></div>
<div dir="auto">_______________________________________________</div>
<div dir="auto">subsurface mailing list</div>
<div dir="auto">subsurface@subsurface-divelog.org</div>
<div dir="auto">http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface</div>
</blockquote>
<div dir="auto"><br></div>
</blockquote>
</blockquote>
</div><div dir="auto"><br></div>
</div></body>
</html>