This page is meant as a template for writing a FLIP. To create a FLIP choose Tools->Copy on this page and modify with your content and replace the heading with the next FLIP number and a description of your issue. Replace anything in italics with your own description.
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
Motivation
FLINK-21190 introduced the exception history in the REST API. This required some changes to the REST response of JobExceptionsHandler. Instead of just returning the root cause, a collection of exceptions can be returned. This FLIP is about removing the fields that were deprecated with FLINK-21190.
Public Interfaces
GET /jobs/:jobid/exceptions (Apache Flink 1.x) { "all-exceptions": [ { "exception": "<exception-str>", "location": "<location-str>", "task": "<task-name>", "taskManagerId": "<task-manager-id>", "timestamp": "<timestamp>" }, { ... } ], "exceptionHistory" : { "entries": [ { "concurrentExceptions": [ { "exceptionName": "<exception-name>", "failureLabels": {} "location": "<location-str>", "stacktrace": "<stacktrace>", "taskManagerId": "<task-manager-id>", "taskName": "<task-name>", "timestamp": <timestamp> }, { ... } ], "exceptionName": "<root-exception-name>", "failureLabels": {} "location": "<location-str>", "stacktrace": "<stacktrace>", "taskManagerId": "<task-manager-id>", "taskName": "<task-name>", "timestamp": <timestamp>, "truncated": false } ] }, "root-exception": "<root-exception-name>", "timestamp": <timestamp>, "truncated": false } | GET /jobs/:jobid/exceptions (Apache Flink 2.x) { "exceptionHistory" : { "entries": [ { "concurrentExceptions": [ { "exceptionName": "<exception-name>", "failureLabels": {} "location": "<location-str>", "stacktrace": "<stacktrace>", "taskManagerId": "<task-manager-id>", "taskName": "<task-name>", "timestamp": <timestamp> }, { ... } ], "exceptionName": "<root-exception-name>", "failureLabels": {} "location": "<location-str>", "stacktrace": "<stacktrace>", "taskManagerId": "<task-manager-id>", "taskName": "<task-name>", "timestamp": <timestamp>, "truncated": false } ] } } |
---|
Proposed Changes
The following fields are subject to deletion:
Old Field | Line¹ | Replacing field | Line¹ |
all-exceptions | 2 | exceptionHistory.entries[*].concurrentExceptions | 15 |
root-exception | 38 | exceptionHistory.entries[*].exceptionName | 27 |
timestamp | 39 | exceptionHistory.entries[*].timestamp | 33 |
truncated | 40 | exceptionHistory.entries[*].truncated | 34 |
¹ The line number in the example Json that is listed in the Public Interfaces section
Compatibility, Deprecation, and Migration Plan
The fields are already deprecated as part of FLINK-21190 and will be replaced by fields listed in the Proposed Changes section.
Users who haven’t migrated to the new fields yet, would be affected by the removal of those fields. The consequences on the user’s side depend on their Json parser configuration.
Test Plan
The existing tests should continue to work.
Rejected Alternatives
No alternatives were considered.