[
https://issues.apache.org/jira/browse/FLINK-9499?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16547538#comment-16547538
]
ASF GitHub Bot commented on FLINK-9499:
---------------------------------------
Github user tillrohrmann commented on a diff in the pull request:
https://github.com/apache/flink/pull/6330#discussion_r203288895
--- Diff:
flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/JarRunRequestBody.java
---
@@ -0,0 +1,109 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.runtime.webmonitor.handlers;
+
+import org.apache.flink.runtime.rest.messages.RequestBody;
+
+import
org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonCreator;
+import
org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonIgnore;
+import
org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonInclude;
+import
org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonProperty;
+
+import javax.annotation.Nullable;
+
+/**
+ * {@link RequestBody} for running a jar.
+ */
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class JarRunRequestBody implements RequestBody {
+
+ private static final String FIELD_NAME_ENTRY_CLASS = "entryClass";
+ private static final String FIELD_NAME_PROGRAM_ARGUMENTS =
"programArgs";
+ private static final String FIELD_NAME_PARALLELISM = "parallelism";
+ private static final String FIELD_NAME_ALLOW_NON_RESTORED_STATE =
"allowNonRestoredState";
+ private static final String FIELD_NAME_SAVEPOINT_PATH = "savepointPath";
+
+ @JsonProperty(FIELD_NAME_ENTRY_CLASS)
+ @Nullable
+ private String entryClassName;
+
+ @JsonProperty(FIELD_NAME_PROGRAM_ARGUMENTS)
+ @Nullable
+ private String programArguments;
+
+ @JsonProperty(FIELD_NAME_PARALLELISM)
+ @Nullable
+ private Integer parallelism;
+
+ @JsonProperty(FIELD_NAME_ALLOW_NON_RESTORED_STATE)
+ @Nullable
+ private Boolean allowNonRestoredState;
+
+ @JsonProperty(FIELD_NAME_SAVEPOINT_PATH)
+ @Nullable
+ private String savepointPath;
+
+ public JarRunRequestBody() {
+ this(null, null, null, null, null);
+ }
+
+ @JsonCreator
+ public JarRunRequestBody(
+ @JsonProperty(FIELD_NAME_ENTRY_CLASS) String
entryClassName,
+ @JsonProperty(FIELD_NAME_PROGRAM_ARGUMENTS) String
programArguments,
+ @JsonProperty(FIELD_NAME_PARALLELISM) Integer
parallelism,
+ @JsonProperty(FIELD_NAME_ALLOW_NON_RESTORED_STATE)
Boolean allowNonRestoredState,
+ @JsonProperty(FIELD_NAME_SAVEPOINT_PATH) String
savepointPath) {
--- End diff --
If the fields are `@Nullable` shouldn't the constructor parameters be also
`@Nullable`? Or are the fields only `@Nullable` because of the default
constructor?
> 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)