New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to correctly modify OpenWhisk’s gateway blocking limit from source code (currently 60s) #5467
Comments
@style95 Could you please give me some guidance? |
It seems you are using the API gateway, could you check again without the API gateway first? |
You are supposed to be able to invoke the action with |
I'm sure that my gateway can correctly ensure that the end-to-end response is greater than 60 seconds. I have also explicitly configured the controller. I can't seem to find any more places where I need to configure the timeout. Can you give me some suggestions? |
wsk does work, but only the information recorded by the activation can be viewed. We prefer to complete our services directly through the gateway HTTP request. |
I am currently studying the source code of openwhisk in depth, and I hope to make some solid changes. |
@QWQyyy openwhisk/core/invoker/src/main/scala/org/apache/openwhisk/core/containerpool/ContainerProxy.scala Line 834 in 5529cc4
I think you need to ensure you can invoke your action successfully with the |
Okay let's try it! |
It is true that I can successfully access my functions using wsk, but it is only limited to functions within 60 seconds. For functions that take longer to execute, the wsk client also returns an Oops--504 error, but I found through the resource manager htop that the function code is still During execution, after the function is executed, you can see from |
Because our project requires a large number of HTTP request tests and our functions (modern machine learning workflows) have relatively long execution times, our team believes that it is necessary to compile the Docker image of OpenWhisk from the source code and modify the 1min gateway blocking limit.
We have made a number of source code modifications for this purpose, as follows:
After completing the above three modifications, we used ./gradlew :core:controller:distDocker to compile the Docker image and replaced the image used by our K8s OpenWhisk cluster. We modified value.yaml .
We ensure that the content written in values.yaml meets the requirements:
We also made some modifications to nginx, including the default.conf inside the nginx:1.21.1 image, and the read-only nginx.conf configured using nginx-configmap:
However, when we used curl to test, we found that it did not seem to work completely. The blocking of the nginx gateway was overcome, but the following information was printed:
So, what modifications do we need to make to overcome this problem? Looking forward to your guidance!
The text was updated successfully, but these errors were encountered: