If you enable the automatic parsing feature for a node, and you want to ensure that the generated data in the production environment is correct and node change operations can be controlled, you must confirm the change operations when you deploy the node. The system parses the input and output of the node based on the table lineage in the code of the node when you commit the node. You can check whether the scheduling dependencies of the node are correct based on the code parsing results.

Overview

When you commit a node and the scheduling dependencies of the node that are modified based on the automatic parsing result are different from those in the production environment, a message indicating the changes of the scheduling dependencies is displayed. The changes indicate that several inputs or outputs are added or removed after you modify the scheduling dependencies in the Dependencies section of the Properties tab based on the automatic parsing result.

You can determine whether to use the current scheduling dependencies and commit the current node that is scheduled based on the current scheduling dependencies. After you commit the node, the most recent inputs and outputs are automatically added to Parent Nodes and Output in the Dependencies section of the Properties tab.
Note If you do not enable the automatic parsing feature, you can configure scheduling dependencies for a node based on your business requirements and check whether the scheduling dependencies change by comparing the versions of the node.

Limits

You cannot compare the code parsing results of cross-cycle scheduling dependencies that you configure for a node. If cross-cycle scheduling dependencies exist, check whether the scheduling dependencies meet your expectations before you commit the node.

Determine whether to use the most recent scheduling dependencies

When you commit a node and the system detects that the current scheduling dependencies of the node are different from those in the production environment, check whether the current scheduling dependencies of the node meet your business requirements. This way, you can prevent the impacts of inappropriate changes in scheduling dependencies on data generation.
Important If the current node has a large number of descendant nodes, inappropriate scheduling dependencies may have a great impact on the descendant nodes and data generation. We recommend that you do not change the scheduling dependencies unless necessary.
The following examples describe the impacts of scheduling dependency change operations on scheduling nodes in the production environment. You can determine whether to use the most recent scheduling dependencies based on the impacts.

Example 1: Impacts when an ancestor node on which the current node depends changes

If the system detects that the scheduling dependencies of the current node do not include the input A that is included in the scheduling dependencies in the production environment when you commit the node, you must check whether the current scheduling dependencies are correct. A is the output name of an ancestor node of the current node. If Table A is specified in the SELECT statement in the code of the current node but the node that generates the data of Table A is not configured as an ancestor node for the current node, the current node may start to run before the data of Table A is generated. In this case, the current node fail to run or generate data.

Example 2: Impacts when the table that is generated by the current node changes

If the system detects that the scheduling dependencies of the current node do not include the output B that is included in the scheduling dependencies in the production environment when you commit the node, you must check whether the table that is generated by the node changes. If output B has descendant nodes, check whether unpredictable impacts are exerted on the descendant nodes if you change the table that is generated by the current node. If the node has the rpt_user_info_d descendant node and you remove the output of the node, the descendant node may become isolated and cannot be scheduled as expected, or an error may occur when the descendant node obtains data from the current node. For more information, see Impacts of removing or changing the output of a node.
Important If you use the most recent scheduling dependencies in which the output of the current node is removed, you must confirm the impacts on the descendant nodes of the current node and proceed with caution.