Affected module
Ingestion Framework — Auto Classification
Describe the bug
Auto Classification proposes no tags when both global sample-data settings are disabled:
readSampleData = false
storeSampleData = false
This also affects column_name recognizers, even though they only require metadata.
For example, a column such as:
should match an enabled email-related column-name recognizer.
The pipeline still completes successfully, but reports zero updates.
Root cause
When sample-data reading and storage are both disabled, the sampler correctly returns:
TableData(columns=[], rows=[])
However, AutoClassificationProcessor in:
ingestion/src/metadata/pii/base_processor.py
iterates record.sample_data.data.columns to decide which fields to classify.
Because that list is empty, no field is passed to the classifier, even though the metadata entity still contains its canonical columns.
The classifier itself already supports column-name recognition with no sample values.
To Reproduce
-
Configure an enabled column_name recognizer matching a column such as project_manager_email_md.
-
Enable Auto Classification.
-
Set globally:
readSampleData = false
storeSampleData = false
-
Run Auto Classification.
The pipeline succeeds but proposes no tags.
Expected behavior
When sample-data access is disabled:
- source values should not be read or stored;
- content-based recognition should have no evidence;
column_name recognizers should still run against metadata fields;
- matching tags should still be proposed.
Version
Reported on OpenMetadata 1.13.4. The same processor behavior is present on current main.
Additional context
A conservative fix is to preserve the current sampled-field path when samples exist, but fall back to canonical metadata fields with sample_data=[] when the sampler returns no fields.
Affected module
Ingestion Framework — Auto Classification
Describe the bug
Auto Classification proposes no tags when both global sample-data settings are disabled:
This also affects
column_namerecognizers, even though they only require metadata.For example, a column such as:
should match an enabled email-related column-name recognizer.
The pipeline still completes successfully, but reports zero updates.
Root cause
When sample-data reading and storage are both disabled, the sampler correctly returns:
However,
AutoClassificationProcessorin:iterates
record.sample_data.data.columnsto decide which fields to classify.Because that list is empty, no field is passed to the classifier, even though the metadata entity still contains its canonical columns.
The classifier itself already supports column-name recognition with no sample values.
To Reproduce
Configure an enabled
column_namerecognizer matching a column such asproject_manager_email_md.Enable Auto Classification.
Set globally:
Run Auto Classification.
The pipeline succeeds but proposes no tags.
Expected behavior
When sample-data access is disabled:
column_namerecognizers should still run against metadata fields;Version
Reported on OpenMetadata
1.13.4. The same processor behavior is present on currentmain.Additional context
A conservative fix is to preserve the current sampled-field path when samples exist, but fall back to canonical metadata fields with
sample_data=[]when the sampler returns no fields.