Gustavo Carvalho
01/12/2023, 2:37 PMZachary Bluhm
01/12/2023, 3:17 PMMartin Picard
01/12/2023, 4:08 PMCharlie Bini
01/12/2023, 4:36 PMExperimentalWarning
when adding an executor to my code location's Definitions
-- is there a more recommended way of defining an executor for assets?Charlie Bini
01/12/2023, 4:44 PMOpExecutionContext
? i.e. instead of context.resources.foo
, can I use something like context.resources.get("foo")
?Charlie Bini
01/12/2023, 5:52 PMAssetSelection
with wildcards or regex? I'm trying to do something like AssetSelection.groups("foo") & AssetSelection.keys("bar/*")
David Merritt
01/12/2023, 7:52 PMMultiprocess executor: child process for step historical_fire_perimeters_geojson unexpectedly exited with code -9
dagster._core.executor.child_process_executor.ChildProcessCrashException
Will Holley
01/12/2023, 9:15 PMWill Holley
01/12/2023, 9:26 PM@asset
def bar(context):
# materialize an asset ...
@asset(config_schema={"bar":str})
def foo(context) -> Output[str]:
return Output(context.op_config['bar'])
exec_config = { "execution": { "config": { "start_method": {"forkserver": {} } } } }
job = define_asset_job(
"foo_job",
selection=[foo],
config=ConfigMapping(config_fn=lambda run_config: {**run_config, **exec_config}),
executor_def=multiprocess_executor
)
@asset_sensor(name="foo_sensor", job=job, asset_key="bar")
def foo_sensor(context, event):
yield RunRequest(run_config={ "ops": { "foo": { "config": { "bar": "baz" } } } } )
defs = Definitions(sensors=[foo_sensor], assets=[foo])
My job successfully enqueues and executes foo
but I am unsure whether exec_config
is concatenated and read. Clicking "view tags and config" in Dagit's Run detail view only shows the op config.
Can anyone confirm whether my approach is either correct or incorrect?sandy
01/12/2023, 10:21 PMAndrew
01/13/2023, 12:32 AMdagster._core.errors.DagsterInvalidDefinitionError: op 'collect_foo_values' cannot be downstream of more than one dynamic output. It is downstream of both "get_foo_by_bar:foo_link" and "yield_bar_links:bar_link"
How are you supposed to resolve assets downstream from multiple fanning processes?Daniel Gafni
01/13/2023, 1:19 AMMartin Carlsson
01/13/2023, 4:19 AMasset
.
How do I avoid writing +900 assets?Ohad
01/13/2023, 7:04 AMsources:
.
◦ Does it need to be on a separate file? Or can it be mixed on another file with models
? (I tried to separate one model to another file, run build for the dbt model & reload dagster, but it didn't work)
◦ All the AirByte tables sources are coming from a dbt package (and not the main dbt project). I don't think it's the issue, as I tried to move one of the models to the outer project.
I'd appreciate any help.Alexis Manuel
01/13/2023, 8:14 AMbuild_asset_reconciliation_sensor
bug related to Source Asset. I have now the following error during sensor tick:
dagster._core.errors.DagsterUserCodeUnreachableError: The sensor tick timed out due to taking longer than 60 seconds to execute the sensor function. One way to avoid this error is to break up the sensor work into chunks, using cursors to let subsequent sensor calls pick up where the previous call left off.
File "/usr/local/lib/python3.7/site-packages/dagster/_daemon/sensor.py", line 491, in _process_tick_generator
sensor_debug_crash_flags,
File "/usr/local/lib/python3.7/site-packages/dagster/_daemon/sensor.py", line 558, in _evaluate_sensor
instigator_data.cursor if instigator_data else None,
File "/usr/local/lib/python3.7/site-packages/dagster/_core/host_representation/repository_location.py", line 830, in get_external_sensor_execution_data
cursor,
File "/usr/local/lib/python3.7/site-packages/dagster/_api/snapshot_sensor.py", line 72, in sync_get_external_sensor_execution_data_grpc
timeout=timeout,
File "/usr/local/lib/python3.7/site-packages/dagster/_grpc/client.py", line 403, in external_sensor_execution
custom_timeout_message=custom_timeout_message,
File "/usr/local/lib/python3.7/site-packages/dagster/_grpc/client.py", line 184, in _streaming_query
e, timeout=timeout, custom_timeout_message=custom_timeout_message
File "/usr/local/lib/python3.7/site-packages/dagster/_grpc/client.py", line 137, in _raise_grpc_exception
) from e
The above exception was caused by the following exception:
grpc._channel._MultiThreadedRendezvous: <_MultiThreadedRendezvous of RPC that terminated with:
status = StatusCode.DEADLINE_EXCEEDED
details = "Deadline Exceeded"
debug_error_string = "{"created":"@1673597250.934518131","description":"Deadline Exceeded","file":"src/core/ext/filters/deadline/deadline_filter.cc","file_line":81,"grpc_status":4}"
>
File "/usr/local/lib/python3.7/site-packages/dagster/_grpc/client.py", line 180, in _streaming_query
method, request=request_type(**kwargs), timeout=timeout
File "/usr/local/lib/python3.7/site-packages/dagster/_grpc/client.py", line 168, in _get_streaming_response
yield from getattr(stub, method)(request, metadata=self._metadata, timeout=timeout)
File "/usr/local/lib/python3.7/site-packages/grpc/_channel.py", line 426, in __next__
return self._next()
File "/usr/local/lib/python3.7/site-packages/grpc/_channel.py", line 826, in _next
raise self
I built the sensor using following code:
from dagster import AssetSelection, build_asset_reconciliation_sensor
freshness_sla_sensor = build_asset_reconciliation_sensor(
name="freshness_sla_sensor", asset_selection=AssetSelection.all()
)
My assets are mainly loaded from a dbt project which has around 30 different models and sources
Is there any way to know the root cause of the sensor tick timeout ?Martin Picard
01/13/2023, 9:51 AMChang Hai Bin
01/13/2023, 10:09 AMfrom dagster import asset
@asset
def asset1():
return 100
and another job-file
from dagster import job
from asset_file import asset1
@job
def sample_job():
q = asset1()
Running the "sample_job" fails to materialize an entry in the Asset-page on dagster UIOliver
01/13/2023, 11:22 AMSlackbot
01/13/2023, 2:37 PMEduard Ethan Carrés Hidalgo
01/13/2023, 4:02 PMCharlie Bini
01/13/2023, 4:14 PMexecution:
config:
resources:
limits:
memory: 1.0Gi
Eliott Bigiaoui
01/13/2023, 4:48 PMBuild and deploy to Dagster Cloud serverless
):
- name: Install gcc
run: sudo apt-get update && sudo apt purge gcc -y && sudo apt-get install gcc -y && sudo apt-get clean
But it seems that this is not effective and I still get this error during the next step:
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -Isrc -Izlib-1.2.11 -Izlib-1.2.11/contrib/minizip -I/usr/local/include/python3.8 -c src/py_minizip.c -o build/temp.linux-x86_64-3.8/src/py_minizip.o
unable to execute 'gcc': No such file or directory
error: command 'gcc' failed with exit status 1
Do you have any idea how I could install it?
(Would changing the Python version allow me to use something different than Python:slim?)
Thanks!Jeff
01/13/2023, 5:16 PMclass MultiPartitionsDefinition(PartitionsDefinition)
in 🧵Charlie Bini
01/13/2023, 5:38 PMValentyna Kachurina
01/13/2023, 5:59 PMGatsby Lee
01/13/2023, 6:15 PMWeitian Xing
01/13/2023, 8:50 PMAdam Ward
01/13/2023, 9:31 PMget_asset_value_loader
without encountering the circular dependencies error?Jeff
01/13/2023, 10:08 PMmaterialize()
for testing assets. Details in 🧵Rafael Figueiredo
01/13/2023, 10:19 PMdagster project scaffold
and dagster project scaffold-code-location
? seem that is exactly the same struct and content of the files.