[ 
https://issues.apache.org/jira/browse/FLINK-9499?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16547575#comment-16547575
 ] 

ASF GitHub Bot commented on FLINK-9499:
---------------------------------------

Github user zentol commented on a diff in the pull request:

    https://github.com/apache/flink/pull/6330#discussion_r203303832
  
    --- Diff: 
flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/JarRunHandler.java
 ---
    @@ -138,12 +154,22 @@ public JarRunHandler(
                        });
        }
     
    -   private static SavepointRestoreSettings getSavepointRestoreSettings(
    -                   final @Nonnull HandlerRequest<EmptyRequestBody, 
JarRunMessageParameters> request)
    +   private SavepointRestoreSettings getSavepointRestoreSettings(
    +                   final @Nonnull HandlerRequest<JarRunRequestBody, 
JarRunMessageParameters> request)
                                throws RestHandlerException {
     
    -           final boolean allowNonRestoredState = 
getQueryParameter(request, AllowNonRestoredStateQueryParameter.class, false);
    -           final String savepointPath = getQueryParameter(request, 
SavepointPathQueryParameter.class);
    +           final JarRunRequestBody requestBody = request.getRequestBody();
    +
    +           final boolean allowNonRestoredState = 
fromRequestBodyOrQueryParameter(
    +                   requestBody.getAllowNonRestoredState(),
    +                   () -> getQueryParameter(request, 
AllowNonRestoredStateQueryParameter.class),
    +                   false,
    +                   log);
    +           final String savepointPath = fromRequestBodyOrQueryParameter(
    --- End diff --
    
    This could result in unexpected NullPointerExceptions when retrieving a 
primitive, like in the following example:
    ```
    fromRequestBodyOrQueryParameter(
                requestBody.getParallelism(),
                () -> getQueryParameter(request, 
ParallelismQueryParameter.class)
                log);
    ```
    The explicit default argument prevents that from happening.


> Allow REST API for running a job to provide job configuration as body of POST 
> request
> -------------------------------------------------------------------------------------
>
>                 Key: FLINK-9499
>                 URL: https://issues.apache.org/jira/browse/FLINK-9499
>             Project: Flink
>          Issue Type: Improvement
>          Components: REST
>    Affects Versions: 1.3.2
>            Reporter: Esteban Serrano
>            Assignee: Esteban Serrano
>            Priority: Minor
>              Labels: pull-request-available
>
> Based on 
> [this|https://ci.apache.org/projects/flink/flink-docs-release-1.3/monitoring/rest_api.html#submitting-programs]
>  documentation, the REST API provides a way to submit a request for running a 
> Flink job. The POST request must include the job configuration information as 
> query parameters using the documented parameter names ("program-args", 
> "entry-class", "parallelism", etc.) 
> Depending on the job parameters, the full URL for the POST request can reach 
> a size that is over the maximum size (currently at 4096 bytes) of what is 
> allowed by the configuration of Netty. To overcome this, it would be useful 
> to allow users to provide the job configuration not only as query parameters 
> but also as POST parameters. 
> For the most part, it is the "program-args" parameter that can make the URL 
> grow in size based on the needs of the developer and the job. All other 
> attributes should be pretty constant.  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to