Louise, thank you for your answer. I am afraid your suggestions did not help. 

I prepared a case study to check where the root cause is. 

I decided to build single feature store table based on iris dataset and train classification model logged with feature engineering. I decided to run this study in two scenarios:
1. Legacy online table for feature serving (MySql)
2. Online Feature Store (Lakebase)
Then two models were deployed to separate serving endpoints. Both endpoints were defined with GUI, but I made sure to add environment variables.

Both scenarios were executed in notebooks attached to 17.3 ML Runtime. The only upgraded library was databricks-feature-engineering 0.13.01.

Results collected by inference tables differ:

Scenario 1 full response:  

("predictions": [0, 1, 0], "databricks_output": ("trace": ("info": ("trace_id": "tr-691afb519f5cb2c9858a500e5e4d63be", "client_request_id": "6af2957e-9801-485d-879b-bdcd91051537", "trace_location": ("type": "MLFLOW_EXPERIMENT", "mlflow_experiment": ()), "request_time": "2026-01-14T12:36:05.981Z", "state": "OK", "trace_metadata": ("mlflow.trace_schema.version": "3", "mlflow.databricks.modelServingEndpointName": "", "mlflow.modelId": "m-8012ad13733c4500b4511eebe7ae3ecc", "app_version_id": "models:/priv_dorota_szepietowska.tracing.iris_classifier/2", "is_truncated": false), "request_preview": "(\"df\": \" iris_id\\n0 1\\n1 51\\n2 11\", \"params\": (\"result_type\": \"NO_RESULT_TYPE\"), \"output_metrics\": null)", "response_preview": "\"[0 1 0]\"", "execution_duration_ms": 127), "data": ("spans": [("trace_id": "aRr7UZ9cssmFilAOXk1jvg==", "span_id": "ccUrWm9qA0I=", "trace_state": "", "parent_span_id": "", "name": "databricks_feature_store_1", "start_time_unix_nano": 1768394165981587318, "end_time_unix_nano": 1768394166108963499, "attributes": ("mlflow.spanFunctionName": "\"_predict\"", "mlflow.traceRequestId": "\"tr-691afb519f5cb2c9858a500e5e4d63be\"", "mlflow.spanType": "\"RETRIEVER\"", "mlflow.spanOutputs": "\"[0 1 0]\"", "mlflow.spanInputs": "(\"df\": \" iris_id\\n0 1\\n1 51\\n2 11\", \"params\": (\"result_type\": \"NO_RESULT_TYPE\"), \"output_metrics\": null)"), "status": ("message": "", "code": "STATUS_CODE_OK")), ("trace_id": "aRr7UZ9cssmFilAOXk1jvg==", "span_id": "2oV7ckrnZ+E=", "trace_state": "", "parent_span_id": "ccUrWm9qA0I=", "name": "databricks_feature_store_2", "start_time_unix_nano": 1768394165985419589, "end_time_unix_nano": 1768394166108542574, "attributes": ("mlflow.spanFunctionName": "\"_legacy_predict\"", "mlflow.traceRequestId": "\"tr-691afb519f5cb2c9858a500e5e4d63be\"", "mlflow.spanType": "\"RETRIEVER\"", "mlflow.spanOutputs": "\"[0 1 0]\"", "mlflow.spanInputs": "(\"df\": \" iris_id\\n0 1\\n1 51\\n2 11\", \"params\": (\"result_type\": \"NO_RESULT_TYPE\"), \"output_metrics\": null)"), "status": ("message": "", "code": "STATUS_CODE_OK")), ("trace_id": "aRr7UZ9cssmFilAOXk1jvg==", "span_id": "V6Iicbs8G+A=", "trace_state": "", "parent_span_id": "2oV7ckrnZ+E=", "name": "feature_lookup", "start_time_unix_nano": 1768394165990067826, "end_time_unix_nano": 1768394166097124278, "attributes": ("mlflow.spanFunctionName": "\"_monitored_augment_with_materialized_features\"", "mlflow.traceRequestId": "\"tr-691afb519f5cb2c9858a500e5e4d63be\"", "mlflow.spanType": "\"RETRIEVER\"", "mlflow.spanOutputs": "\" sepal_length sepal_width petal_length petal_width iris_id\\n0 4.9 3.0 1.4 0.2 1\\n1 6.4 3.2 4.5 1.5 51\\n2 4.8 3.4 1.6 0.2 11\"", "mlflow.spanInputs": "(\"df\": \" iris_id\\n0 1\\n1 51\\n2 11\", \"features_to_lookup\": [\"<FeatureColumnInfo: default_value_str=None, feature_name='petal_length', lookup_key=['iris_id'], output_name='petal_length', table_name='priv_dorota_szepietowska.tracing.iris_features', timestamp_lookup_key=[]>\", \"<FeatureColumnInfo: default_value_str=None, feature_name='petal_width', lookup_key=['iris_id'], output_name='petal_width', table_name='priv_dorota_szepietowska.tracing.iris_features', timestamp_lookup_key=[]>\", \"<FeatureColumnInfo: default_value_str=None, feature_name='sepal_length', lookup_key=['iris_id'], output_name='sepal_length', table_name='priv_dorota_szepietowska.tracing.iris_features', timestamp_lookup_key=[]>\", \"<FeatureColumnInfo: default_value_str=None, feature_name='sepal_width', lookup_key=['iris_id'], output_name='sepal_width', table_name='priv_dorota_szepietowska.tracing.iris_features', timestamp_lookup_key=[]>\"], \"partially_overridden_feature_output_names\": [], \"output_metrics\": null)"), "status": ("message": "", "code": "STATUS_CODE_OK")), ("trace_id": "aRr7UZ9cssmFilAOXk1jvg==", "span_id": "RoUPPNFbTxs=", "trace_state": "", "parent_span_id": "V6Iicbs8G+A=", "name": "online_feature_store", "start_time_unix_nano": 1768394165995334193, "end_time_unix_nano": 1768394166089807496, "attributes": ("mlflow.spanFunctionName": "\"_send_req\"", "mlflow.traceRequestId": "\"tr-691afb519f5cb2c9858a500e5e4d63be\"", "mlflow.spanType": "\"RETRIEVER\"", "mlflow.spanOutputs": "(\"results\": (\"priv_dorota_szepietowska.tracing.iris_features_online\": (\"schema\": (\"columns\": [(\"name\": \"petal_width\", \"type_name\": \"DOUBLE\", \"nullable\": true), (\"name\": \"sepal_length\", \"type_name\": \"DOUBLE\", \"nullable\": true), (\"name\": \"petal_length\", \"type_name\": \"DOUBLE\", \"nullable\": true), (\"name\": \"sepal_width\", \"type_name\": \"DOUBLE\", \"nullable\": true), (\"name\": \"iris_id\", \"type_name\": \"LONG\", \"nullable\": false)]), \"rows\": [[0.2, 4.9, 1.4, 3.0, \"1\"], [0.2, 4.8, 1.6, 3.4, \"11\"], [1.5, 6.4, 4.5, 3.2, \"51\"]])))", "mlflow.spanInputs": "(\"page_token\": null, \"is_retry\": false)"), "status": ("message": "", "code": "STATUS_CODE_OK")), ("trace_id": "aRr7UZ9cssmFilAOXk1jvg==", "span_id": "cr4DwPsLcRs=", "trace_state": "", "parent_span_id": "2oV7ckrnZ+E=", "name": "custom_model", "start_time_unix_nano": 1768394166098174878, "end_time_unix_nano": 1768394166107880298, "attributes": ("mlflow.traceRequestId": "\"tr-691afb519f5cb2c9858a500e5e4d63be\"", "mlflow.spanType": "\"RETRIEVER\"", "mlflow.spanInputs": "(\"model_input\": [(\"sepal_length\": 4.9, \"sepal_width\": 3.0, \"petal_length\": 1.4, \"petal_width\": 0.2), (\"sepal_length\": 6.4, \"sepal_width\": 3.2, \"petal_length\": 4.5, \"petal_width\": 1.5), (\"sepal_length\": 4.8, \"sepal_width\": 3.4, \"petal_length\": 1.6, \"petal_width\": 0.2)])"), "status": ("message": "", "code": "STATUS_CODE_OK"))])), "databricks_request_id": "6af2957e-9801-485d-879b-bdcd91051537"))

 

Scenario 2 full response: ("predictions": [0, 1, 0], "databricks_output": ("trace": ("info": ("trace_id": "tr-5abe4d6637f0d4bcc08607be4d7048bc", "client_request_id": "7c81af0b-9532-41c6-86c1-d35f2efa2a9b", "trace_location": ("type": "MLFLOW_EXPERIMENT", "mlflow_experiment": ()), "request_time": "2026-01-14T12:36:23.204Z", "state": "OK", "trace_metadata": ("mlflow.trace_schema.version": "3", "mlflow.databricks.modelServingEndpointName": "", "mlflow.modelId": "m-69ae367a222249738bd8561e457055c0", "app_version_id": "models:/priv_dorota_szepietowska.tracing_lakebase.iris_classifier/3", "is_truncated": false), "request_preview": "(\"df\": \" iris_id\\n0 1\\n1 51\\n2 11\", \"params\": (\"result_type\": \"NO_RESULT_TYPE\"), \"output_metrics\": null)", "response_preview": "\"[0 1 0]\"", "execution_duration_ms": 23), "data": ("spans": [("trace_id": "Wr5NZjfw1LzAhge+TXBIvA==", "span_id": "rclW4BIjkcM=", "trace_state": "", "parent_span_id": "", "name": "databricks_feature_store", "start_time_unix_nano": 1768394183204243150, "end_time_unix_nano": 1768394183228014574, "attributes": ("mlflow.spanType": "\"RETRIEVER\"", "mlflow.spanFunctionName": "\"_predict\"", "mlflow.traceRequestId": "\"tr-5abe4d6637f0d4bcc08607be4d7048bc\"", "mlflow.spanInputs": "(\"df\": \" iris_id\\n0 1\\n1 51\\n2 11\", \"params\": (\"result_type\": \"NO_RESULT_TYPE\"), \"output_metrics\": null)", "mlflow.spanOutputs": "\"[0 1 0]\""), "status": ("message": "", "code": "STATUS_CODE_OK"))])), "databricks_request_id": "7c81af0b-9532-41c6-86c1-d35f2efa2a9b"))

 

As you can see in the second scenario there is no information about feature values used for scoring.

These are the examples of saved responses for two variables set to true: ENABLE_MLFLOW_TRACING and ENABLE_FEATURE_TRACING. When I tested endpoints with only ENABLE_FEATURE_TRACING variable set to true, response did not include feature values for both endpoints and looked like this: "predictions": [0, 1, 2]

Let me know what your opinion is. Do I miss something?