Skip to content

Don't send unrecognized featureSets to deadletter in IngestionJob - #845

Merged
feast-ci-bot merged 2 commits into
feast-dev:masterfrom
pyalex:dont-overpopulate-deadletters
Jun 30, 2020
Merged

Don't send unrecognized featureSets to deadletter in IngestionJob#845
feast-ci-bot merged 2 commits into
feast-dev:masterfrom
pyalex:dont-overpopulate-deadletters

Conversation

@pyalex

@pyalex pyalex commented Jun 30, 2020

Copy link
Copy Markdown
Collaborator

What this PR does / why we need it:

Currently we overpopulating deadletter sink (in bq) by sending all FeatureRows that coming in with unknown FeatureSetReference. That could create billions of rows within hours and create long queue in IngestionJob, which disrupt normal processing (OOM, eg). We should just write smth to log instead.

Which issue(s) this PR fixes:

Fixes #

Does this PR introduce a user-facing change?:


if (featureSetSpecs == null) {
log.warn(
String.format(
"FeatureRow contains invalid feature set id %s. Please check that the feature rows are being published to the correct topic on the feature stream.",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are now calling it a feature set reference.

@woop

woop commented Jun 30, 2020

Copy link
Copy Markdown
Member

/kind bug

@feast-ci-bot

Copy link
Copy Markdown
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: pyalex, woop

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@woop

woop commented Jun 30, 2020

Copy link
Copy Markdown
Member

/lgtm

@pyalex

pyalex commented Jun 30, 2020

Copy link
Copy Markdown
Collaborator Author

/test test-end-to-end-redis-cluster

@feast-ci-bot
feast-ci-bot merged commit 8331482 into feast-dev:master Jun 30, 2020
@ches

ches commented Jul 1, 2020

Copy link
Copy Markdown
Member

This feels like a somewhat arbitrary technical fix to an operational problem. Semantically I would consider unrecognized feature set a "dead letter" just as much as the remaining issues that route there.

For us, this could be a (SQL) replication delay from the registry when a producer already started publishing data, a case where we may want to be able to reprocess. On the other hand Feast does need a means of protecting itself from misuse, e.g. data being erroneously sent without any intended registration (deployment in wrong environment, etc.). Perhaps separate error queues.

I don't strongly object to this going in, especially as it's currently with dead letters coupled to BigQuery, but it does bring to mind that this is an area of debt for the backlog IMO: the BigQuery coupling, and new design considerations that could accompany tackling that.

@woop

woop commented Jul 15, 2020

Copy link
Copy Markdown
Member

this is an area of debt for the backlog IMO: the BigQuery coupling, and new design considerations that could accompany tackling that.

Agreed on that. The whole deadletter and logging area needs TLC. So yes, this is a bit of a workaround until its properly solved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants