visch
08/04/2021, 7:32 PMmeltano install .
today. Maybe just the way I'm deploying the jobs right now, but here we go.
I have multiple processes running using the same meltano directory. Something like 25 taps/targets in this meltano project (lots of inheritance). When I ran meltano install . - 4
I had one of the taps/targets get an Access Denied (Another process was using the files in the venv that was getting updated). This lead to a state where that tap/target was not runnable. Maybe this was a rm -rf tapdirectory/
action?
Ideally Meltano would be aware of what's running and not clober the venv for that job unless you told it to try with -force or something.
I know the recommendation is to run docker containers which side steps these problems, but I don't have that option today. It's looking like running symlinks on a production directory and stepping in a new version of my Meltano project would be the way to go, but curious about what you guys think about making meltano install not break things if something is running at the same timedouwe_maan
08/04/2021, 8:06 PMmeltano install
while meltano elt
is still/already running?
Meltano could place a lockfile in a plugin installation directory while the plugin is running, and have meltano install
fail if it finds a plugin dir locked, but I worry about Meltano failing to clean up the lockfile if meltano elt
is killed unceremoniously, which would stop meltano install
from working until the lockfile is manually removed. We could detect stale lockfiles, but that immediately makes things a lot more complex.douwe_maan
08/04/2021, 8:08 PMvisch
08/04/2021, 8:31 PMmeltano install .
So basically during development you should only be doing one elt at a time. And even then they should be in their own docker containers.
I didn't hit this edge case until I had things running all the time now in my DEV and PROD environment. Didn't think anything of it, ran meltano install .
and watched a bunch of stuff faildouwe_maan
08/04/2021, 8:32 PMSo basically during development you should only be doing one elt at a time.Why would it mean this? Multiple ELT pipelines should be able to use the same plugins venv at the same time
douwe_maan
08/04/2021, 8:33 PMvisch
08/04/2021, 8:34 PMdouwe_maan
08/04/2021, 8:34 PMmeltano install
whenever would be nicevisch
08/04/2021, 8:35 PMdouwe_maan
08/04/2021, 8:36 PMdouwe_maan
08/04/2021, 8:36 PMvisch
08/04/2021, 8:38 PMvisch
08/04/2021, 8:41 PMvisch
08/04/2021, 8:41 PMdouwe_maan
08/04/2021, 8:41 PM