Spec discussion: Give users better control of catalog caching for taps #6757
aaronsteers
announced in
Spec Discussions
Replies: 4 comments 13 replies
-
Option 1: Explicitly forcing the refresh of a catalogA new
Or:
|
Beta Was this translation helpful? Give feedback.
3 replies
-
Option 2: Explicitly forcing the invalidation of a catalogA new # Delete the specific extractor's catalog before running EL
meltano catalog clear tap-name
# Invoking the tap will force a catalog refresh
meltano run tap-name target-name Or: # Delete all catalogs
meltano catalog update --all
# Invoking the tap will force a catalog refresh
meltano run tap-name target-name |
Beta Was this translation helpful? Give feedback.
0 replies
-
Option 3: Specify max time-to-live for a catalog cachemeltano config tap-name set catalog_max_age '2 hr' plugins:
extractors:
- name: tap-name
catalog_max_age: 2 hr
config:
// ... |
Beta Was this translation helpful? Give feedback.
1 reply
-
Option 4: Specify a tap's catalog should not be cachedmeltano config tap-name set _catalog_caching disabled plugins:
extractors:
- name: tap-name
catalog_caching: disabled
config:
// ... |
Beta Was this translation helpful? Give feedback.
9 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
As raised here:
Requirement overview
Some taps generate volatile schema, where the upstream source cannot be considered a closed system or a governed/stable resource. For instance, as a non-admin user on a SQL Server database, I might reasonably assume that my catalog will not change from one minute to the next, but on any given day new tables could be added and existing tables could have their schemas modified - all without notification.
Options
Users need a way to do one or more of the following:
These are all subtly different takes on the same core problem.
Best workaround as of today
As of today, the only real option is for the user to manually delete the contents of the catalog, for instance by running something similar to:
rm .meltano/run/tap-name/*
.This is problematic because it is cumbersome but also because we don't want users to have to understand or navigate the internal
.meltano
directory by hand.Beta Was this translation helpful? Give feedback.
All reactions