Hello everyone! I stumbled upon an issue and I can...
# ask-community
l
Hello everyone! I stumbled upon an issue and I can’t find the reason. I have an op generating a DynamicOutput, and a second op generating a standard output and a third that is mapped upon the first op’s output and uses the second op’s output, everything inside a graph. Note the graph is also mapped on some job’s dynamic output. A snippet is better than a thousand words:
Copy code
@op(ins={'my_input_1': In(int)}, out=DynamicOut(dict))
def op1(context, my_input_1):
    # some logic
    yield DynamicOutput(my_dict, mapping_key=some_id)

@op(out=Out(int))
def op2(context):
    # some logic
    yield Output(my_int))

@op(ins={'test': In(dict)})
def op3(context, my_dict, my_other_input):
    # some logic

@graph()
def my_graph(my_input_1)
    my_dicts = op1(my_input_1)
    my_int = op2()
    my_dicts.map(lambda my_dict: op3(my_dict, my_int))

@job()
def my_job():
    # some ops
    my_inputs.map(my_graph)
Upon execution, I can see in the logs: • op1 yielding outputs with different mapping keys, • op2 yielding one output of the right type, • op3 is skipped with this message:
Skipping step my_graph.op3[my_input_1_mapping_key] due to skipped dependencies: []
Do you know why this op3 would be skipped and while the list of not present dependencies is empty ? Thank you by advance !
p
Hi Louis. Do you have a working snippet that isolates the issue you’re seeing? I was unable to replicate using the stubs of what you have, but not sure what pieces are relevant here.