Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).

Motivation

The jar handlers currently accept a variety of parameters both as query parameters and via the request body.

While it is primarily a problem for sending program args as query parameters, because it's a nightmare with escaping parameters, the remaining parameters should follow suite for consistency.

Public Interfaces

  • REST endpoints:
    • /jar/:jarid/run
    • /jar/:jarid/plan

Proposed Changes

Remove the following query parameters:

  • entry-class

  • parallelism

  • program-args

  • programArg

  • allowNonRestoredState

  • savepointPath

Compatibility, Deprecation, and Migration Plan

  • What impact (if any) will there be on existing users?
  • Existing usages of these parameters will break and need to be adjust to encode the parameters in the JSON request instead.
  • If we are changing behavior how will we phase out the older behavior?
  • It is difficult to phase out query parameters. At most we can log a warning if used and hide them from the docs.