We currently pass around the json serialization of LLB (wrapped w/ b64 to avoid confusion) as the FS type (or the ID of the new Filesystem type that will be replacing FS).
The problem is that this string can already grow to be quite large in simple cases (such as those involving dockerfiles). Once we have to deal with more complex cases, it may become too large and cause genuine performance problems in addition to unreadable output.
We probably need to switch to storing the full LLB server-side only and making the ID just be a hash of that. It's unfortunate because there are nice side-effects of the ID of LLB being the actual executable definition of it too, but I'm not sure of any way of retaining that property that won't eventually hit the same problem of growing too large.
We currently pass around the json serialization of LLB (wrapped w/ b64 to avoid confusion) as the
FStype (or theIDof the newFilesystemtype that will be replacingFS).The problem is that this string can already grow to be quite large in simple cases (such as those involving dockerfiles). Once we have to deal with more complex cases, it may become too large and cause genuine performance problems in addition to unreadable output.
We probably need to switch to storing the full LLB server-side only and making the ID just be a hash of that. It's unfortunate because there are nice side-effects of the ID of LLB being the actual executable definition of it too, but I'm not sure of any way of retaining that property that won't eventually hit the same problem of growing too large.