Skip to content

Removal of AIP-44 code #44436

@potiuk

Description

@potiuk

Body

We eventually decided to drop AIP-44. We are about to remove it and here is the list of things that should be removed:

  • removal of "enble-aip-44" controlled parts of CI workflows and breeze
  • removal of --database-isolation Breeze flag (and corresponding scripts/test shennigans
  • removal of AIRFLOW_ENABLE_AIP_44 occurrences (ci/code) and _ENABLE_AIP_44 , InternalApiConfig, database_access_isolation
  • Swap internal RPC server for API server in the helm chart #44463
  • removal of "internal_api_v1.yaml" and "internal-api" CLI
  • removal of @internal_api_call decorators (82 methods) - re-join back methods that were separated out from the main code - when methods start with _:
    • ./task_sdk/src/airflow/sdk/definitions/asset/init.py: expand_alias_to_assets
    • ./airflow/secrets/metastore.py: _fetch_connection
    • ./airflow/secrets/metastore.py: _fetch_variable
    • ./airflow/jobs/job.py: _kill
    • ./airflow/jobs/job.py: _fetch_from_db
    • ./airflow/jobs/job.py: _add_to_db
    • ./airflow/jobs/job.py: _update_in_db
    • ./airflow/jobs/job.py: _update_heartbeat
    • ./airflow/jobs/job.py: most_recent_job
    • ./airflow/api/common/trigger_dag.py: trigger_dag
    • ./airflow/assets/manager.py: register_asset_change
    • ./airflow/dag_processing/processor.py: update_import_errors
    • ./airflow/dag_processing/processor.py: _validate_task_pools_and_update_dag_warnings
    • ./airflow/dag_processing/processor.py: execute_callbacks
    • ./airflow/dag_processing/processor.py: execute_callbacks_without_dag
    • ./airflow/dag_processing/processor.py: _execute_task_callbacks
    • ./airflow/dag_processing/processor.py: save_dag_to_db
    • ./airflow/dag_processing/manager.py: deactivate_stale_dags
    • ./airflow/dag_processing/manager.py: _fetch_callbacks
    • ./airflow/dag_processing/manager.py: _get_priority_filelocs
    • ./airflow/dag_processing/manager.py: clear_nonexistent_import_errors
    • ./airflow/models/dagrun.py: fetch_task_instances
    • ./airflow/models/dagrun.py: _check_last_n_dagruns_failed
    • ./airflow/models/dagrun.py: fetch_task_instance
    • ./airflow/models/dagrun.py: get_previous_dagrun
    • ./airflow/models/dagrun.py: get_previous_scheduled_dagrun
    • ./airflow/models/dagrun.py: _get_log_template
    • ./airflow/models/trigger.py: from_object
    • ./airflow/models/trigger.py: bulk_fetch
    • ./airflow/models/trigger.py: clean_unused
    • ./airflow/models/trigger.py: submit_event
    • ./airflow/models/trigger.py: submit_failure
    • ./airflow/models/trigger.py: ids_for_triggerer
    • ./airflow/models/trigger.py: assign_unassigned
    • ./airflow/models/xcom_arg.py: _get_task_map_length
    • ./airflow/models/renderedtifields.py: _update_runtime_evaluated_template_fields
    • ./airflow/models/serialized_dag.py: get_serialized_dag
    • ./airflow/models/dag.py: fetch_callback
    • ./airflow/models/dag.py: fetch_dagrun
    • ./airflow/models/dag.py: get_current
    • ./airflow/models/dag.py: get_paused_dag_ids
    • ./airflow/models/dag.py: deactivate_deleted_dags
    • ./airflow/models/skipmixin.py: _skip
    • ./airflow/models/skipmixin.py: _skip_all_except
    • ./airflow/models/xcom.py: set
    • ./airflow/models/xcom.py: get_value
    • ./airflow/models/xcom.py: get_one
    • ./airflow/models/xcom.py: clear
    • ./airflow/models/taskinstance.py: _merge_ti
    • ./airflow/models/taskinstance.py: _add_log
    • ./airflow/models/taskinstance.py: _update_ti_heartbeat
    • ./airflow/models/taskinstance.py: _xcom_pull
    • ./airflow/models/taskinstance.py: _get_template_context
    • ./airflow/models/taskinstance.py: _handle_failure
    • ./airflow/models/taskinstance.py: _record_task_map_for_downstreams
    • ./airflow/models/taskinstance.py: _update_rtif
    • ./airflow/models/taskinstance.py: _defer_task
    • ./airflow/models/taskinstance.py: _handle_reschedule
    • ./airflow/models/taskinstance.py: get_task_instance
    • ./airflow/models/taskinstance.py: _clear_xcom_data
    • ./airflow/models/taskinstance.py: _set_state
    • ./airflow/models/taskinstance.py: _get_dagrun
    • ./airflow/models/taskinstance.py: _check_and_change_state_before_execution
    • ./airflow/models/taskinstance.py: _register_asset_changes_int
    • ./airflow/models/taskinstance.py: save_to_db
    • ./airflow/models/dagwarning.py: purge_inactive_dag_warnings
    • ./airflow/models/variable.py: _set
    • ./airflow/models/variable.py: _update
    • ./airflow/models/variable.py: _delete
    • ./airflow/cli/commands/task_command.py: _get_ti_db_access
    • ./airflow/utils/log/file_task_handler.py: _render_filename_db_access
    • ./airflow/utils/cli_action_loggers.py: _default_action_log_internal
    • ./airflow/sensors/base.py: _orig_start_date
    • ./providers/src/airflow/providers/edge/models/edge_logs.py: push_logs
    • ./providers/src/airflow/providers/edge/models/edge_job.py: reserve_task
    • ./providers/src/airflow/providers/edge/models/edge_job.py: set_state
    • ./providers/src/airflow/providers/edge/models/edge_worker.py: register_worker
    • ./providers/src/airflow/providers/edge/models/edge_worker.py: set_state
    • ./tests/api_internal/test_internal_api_call.py: fake_method
    • ./tests/api_internal/test_internal_api_call.py: fake_method_with_params
    • ./tests/api_internal/test_internal_api_call.py: fake_class_method_with_params
    • ./tests/api_internal/test_internal_api_call.py: fake_class_method_with_serialized_params
  • removal of *Pydantic models

BTW. Command to generate list of methods:

find . -name '*.py' | xargs grep -A 4 '@internal_api_call' | grep -v "@internal_api_call" | grep "def " | sed 's/(.*//' | sed "s/-/: /" | sed "s/^/   - [ ] /" | sed "s/def //"

Committer

  • I acknowledge that I am a maintainer/committer of the Apache Airflow project.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:CIAirflow's tests and continious integrationkind:metaHigh-level information important to the community

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions