Hello, I would like to disable web submit function...
# troubleshooting
r
Hello, I would like to disable web submit function through web UI, I see that if we use the web.submit.enabled=false will also disable the REST api. So I would like to use our Envoy proxy RPAC to deny traffic to url/#/submit page. I have tried this but the page will still load. Can someone help me understand what is happening on the server when I reach the url/#/submit page? Or which url I should be denying.
a
I am facing the same similar issue. I would like to disable job submit on UI but want REST UI to still be able to accept new jobs. Documentation is a bit misleading here.
Please note that even when this is disabled, session clusters still accept jobs through REST requests (HTTP calls). This flag only guards the feature to upload jobs in the UI.
Does anyone have any solution for it?
m
It doesn't sound like the same issue - Robert's question is about what to block (I think the tricky part is that the url/submit page is part of a single page application, meaning there's no new request made to Envoy. What's misleading about the documentation?
Just tried it; flag set, UI opened, no more possibility to upload a JAR from the menu
Flag removed, menu item is back
a
Right, once the button goes away from the UI I cannot submit more jobs using REST API also. I am using flink operator on kubernetes and I see this in the logs
Copy code
Caused by: org.apache.flink.runtime.rest.util.RestClientException: [Not found: /v1/jars/upload]
What’s misleading about the documentation?
The mislead part is that the doc says if the flag is unset (it is set by default), the UI will not show the submit button but the REST API continues to function, which is not true.
@Martijn Visser
m
Please note that even when this is disabled, session clusters still accept jobs through REST requests (HTTP calls).
Are you running a session cluster?
a
Yes.
m
Are you sure? How are you starting the cluster?
a
I created a FlinkDeployment without a job.
m
That's not a Session cluster, right?
a
It is, the document says
Session clusters use a similar spec to application clusters with the only difference that
job
is not defined.
Application cluster is basically a FlinkDeployment.
m
And they you use the FlinkSessionJob to submit the JAR?
a
Yes
m
Then why do you need the REST API?
a
Flink Operator uses REST API to submit new jobs to the session cluster.
m
I'm honestly lost what your setup is and what you're trying to do
a
My job jar is in an S3 bucket. So when I run a SessionJob, what my understanding is- Flink Kubernetes Operator downloads the jar from the S3 and then submits the job to the Session Cluster using REST API. This is where the Flink Operator fails and prints
Caused by: org.apache.flink.runtime.rest.util.RestClientException: [Not found: /v1/jars/upload]
@Martijn Visser