Marks an existing execution as success.

Also publishes the output artifacts produced by the execution. This method will also merge the executor produced info into system generated output artifacts. The last_know_state of the execution will be changed to COMPLETE and the output artifacts will be marked as LIVE.

metadata_handler A handler to access MLMD.
execution_id The id of the execution to mark successful.
contexts MLMD contexts to associated with the execution.
output_artifacts Output artifacts skeleton of the execution, generated by the system. Each artifact will be linked with the execution through an event with type OUTPUT.
executor_output Executor outputs. executor_output.output_artifacts will be used to update system-generated output artifacts passed in through output_artifacts arg. There are three contraints to the update: 1. The keys in executor_output.output_artifacts are expected to be a subset of the system-generated output artifacts dict. 2. An update to a certain key should contains all the artifacts under that key. 3. An update to an artifact should not change the type of the artifact.

RuntimeError if the executor output to a output channel is partial.