Networking and file system issues

Hi there,

I really like the sprites concept and the current set of APIs, but I keep running into weird issues that prevent me from using this for anything serious:

  • Intermittent DNS resolution errors when running stuff on my sprite (but cannot use external DNS servers either)
  • As of now: very slow download speeds (kb/s) when running apt-get install…
  • Some oddities that are maybe caused by the overlay FS, e.g. nodejs existsFileSync fails, even if the file exists

Or am I doing something wrong? Any tips would be highly appreciated.

Thanks!

I’m seeing this too: apt-get install is absolutely crawling. Also some sprites I created yesterday that were cold couldn’t be revived and had to be destroyed.

Edit: seems like it was actually a major canonical / Ubuntu outage regarding apt today. The checkpoint clone feature would be nice for these scenarios so we don’t have to install everything every time :slight_smile:

I assume if Apt on the console works the same as Update Manager on the desktop, you could configure Apt with a mirror site, which should negate any issues at Ubuntu.

Changing mirrors helps, but I still run into the issues with the file system. Any JS code that e.g. downloads a file and then checks for its existence fails randomly with an ENOENT (although the file is there). This is quite frustrating, as it is not easily fixable for 3rd party code loaded by npm. Has anyone else experienced this?

Does this happen equally on an existing/old sprite and a new one?

Could you be more specific about what you mean by “newer”? I definitely see this happening on very fresh sprites. Think I only had this occur starting maybe one or two weeks ago? Not entirely sure though, since I’ve been experimenting a lot.

I’ve seen the error with my own code, as well as when trying to install the playwright cli via npx. In this case the install fails because it tried to check for the existence of some “INSTALLATION_COMPLETE.md” file after downloading chrome. Maybe a bug somewhere in the sprite file system cache?

Yes, sure. From what I have read, sprites are not auto-upgraded; I think this would be technically difficult at the Fly end, and so once you’ve created the resource, it is sort-of stuck like that. I assume this is partly the operating system (which of course you can upgrade manually) and partly the sprites agent (I am not sure if this can be upgraded).

I don’t have a view as to your underlying problem, but given that sprites can become outdated in this way, checking whether you get the same behaviours in a fresh sprite seems to be a natural and easy thing to try. If anything, this is concrete information that Fly employees may be able to use when investigating issues.

Tried a bunch of things, but the file system issues persist. Just now network speed suddenly dropped again massively. I really like this product, but I am giving up for now and will start to look for other solutions. Seems this just isn’t ready yet (Which is totally fine, I can imagine hard it is to build up such a service, so maybe it’ll be better in a few months…)