-
Notifications
You must be signed in to change notification settings - Fork 50
Open
Labels
enhancementNew feature or requestNew feature or request
Description
The current flink-http-connector lookup join implementation supports a N:1 relationship by returning a maximum of one value for a given lookup key. However, in some scenarios, it may be necessary to support an N:M relationship.
The LookupFunction interface for the lookup join allows returning multiple values for a given lookup key. When multiple values are retrieved from the right-hand side of the join, the lookup join produces one event for each corresponding value. This feature has already been implemented as a reference in the JDBC Connector.
To implement this feature in the HTTP connector, the following considerations must be addressed:
- The current assumption that only one event is returned in the response body should be revisited. The connector must support returning a collection of values.
- The response format should support pagination. A HATEOAS-compatible interface can be assumed, utilizing links included in the response to navigate through the list of pages. Furthermore, we could consider support for providing API doc
- Since the new format is incompatible with the existing one, a configuration flag
gid.connector.http.source.lookup.response.unwrap-multiple-values
, defaulting to false, should be added for backward compatibility. This default can be changed in the future.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request