Stateful Transform

Stateful Transform

Introduction 

Transforms do not maintain states or provide an easy interface currently for maintaining states. In this document, we provide use cases and user stories from both the plugin developer side as well as the plugin user for working with stateful plugins. 

Goals

Stateful Transform Plugins are extensions of standard Transform plugins 

User Stories 

  • Breakdown of User-Stories 

  • User Story #1

  • User Story #2

  • User Story #3

Design

Cover details on assumptions made, design alternatives considered, high level design

Approach

Approach #1

Approach #2

API changes

New Programmatic APIs

New Java APIs introduced (both user facing and internal)

Deprecated Programmatic APIs

New REST APIs

Path

Method

Description

Response Code

Response

Path

Method

Description

Response Code

Response

/v3/apps/<app-id>

GET

Returns the application spec for a given application

200 - On success

404 - When application is not available

500 - Any internal errors













Deprecated REST API

Path

Method

Description

Path

Method

Description

/v3/apps/<app-id>

GET

Returns the application spec for a given application

CLI Impact or Changes

  • Impact #1

  • Impact #2

  • Impact #3

UI Impact or Changes

  • Impact #1

  • Impact #2

  • Impact #3

Security Impact 

What's the impact on Authorization and how does the design take care of this aspect

Impact on Infrastructure Outages 

System behavior (if applicable - document impact on downstream [ YARN, HBase etc ] component failures) and how does the design take care of these aspect

Test Scenarios

Test ID

Test Description

Expected Results

Test ID

Test Description

Expected Results

























Releases

Release X.Y.Z

Release X.Y.Z

Related Work

  • Work #1

  • Work #2

  • Work #3



Future work

Created in 2020 by Google Inc.