eclipse-archived / codewind

The official repository of the Eclipse Codewind project
https://codewind.dev
Eclipse Public License 2.0
113 stars 45 forks source link

SVT : Eclipse : Mac : Pop-up to say project has a start issue appears too soon. #1732

Closed mmulholl closed 4 years ago

mmulholl commented 4 years ago

Codewind version: 0.8.0 lates OS: Mac

Che version: IDE extension version: IDE version: Eclipse IDE for Enterprise Java Developers. Version: 2019-09 R (4.13.0). Build id: 20190917-1200 Kubernetes cluster:

Description:

The popup which comes up when a project is slow to start comes up too soon. I haven't yet managed to create an AppsodySpringKotlin project doesn't get the popup and then completes starting shortly afterward.

image

Steps to reproduce:

Workaround:

yangcao77 commented 4 years ago

Our current ping timeout for Appsody project is 3 mins, but looks like it’s still not long enough. I can increase the timeout for Appsody to fix this issue.

yangcao77 commented 4 years ago

/assign

mmulholl commented 4 years ago

Based on my observations the project usually starts within 30-60 seconds of the pop-up appearing.

tetchel commented 4 years ago

It's hard to guess at the timeout for appsody "builds" because they have to pull so much down, it will depend heavily on the network conditions.

rajivnathan commented 4 years ago

Agree with Tim. We're increasing to 5 mins just to decrease the likelihood of hitting it further.

rajivnathan commented 4 years ago

@mmulholl Stephanie's fixes are in both master and 0.8.0 now. Can you please verify?

jagraj commented 4 years ago

I and Martin had a conversation on this issue, these apps are just created from templates and they are small. If we have bigger applications and those applications might take more time to build and run. If the user is on very slow network and it takes lot of time to pull the image and build the application. I think we need to handle better these timeouts. We do not want to look bad with this message if the network is slow in getting the image to build the application. Are we planning to expose this to the user so that they can set their own timeout value.?

yangcao77 commented 4 years ago

Yes. We have already had the value in .cw-settings to let user specify their own timeout.

johnmcollier commented 4 years ago

Oops, didn't mean to close the issue!

rajivnathan commented 4 years ago

Discussed this in the iterative-dev meeting today. @tetchel @eharris369 if we create a troubleshooting doc for this can we add links to the message dialog that will take users to that page?

eharris369 commented 4 years ago

A link can be added in Eclipse. The page would have to be generic as this dialog is used for any app status detailed message where notify is true and there does not appear to be a message key in there:

{"severity":"INFO","message":"","notify":false}
tetchel commented 4 years ago

I could pop up a button to open a page but wouldn't know how to associate that appDetailStatus with that docpage, if that makes sense (other than doing a string comparison)

mmulholl commented 4 years ago

I no longer see the pop-up for Appsody Spring Kotlin projects.

However, running a test I have which creates all basic project types back to back without waiting for a build to start will see the pop-up for at least 3 or maybe 5 of the project types as they slowly start. Creating them 1 at a time and waiting for them to run as the only project in codewind sees no such pop-ups.

jagraj commented 4 years ago

Ok, More info on this issue. What I am noticing is, we keep displaying popup for the projects we deployed with no web server in the containers and they get into "Starting" state and we can not access endpoint for these apps and we always keep displaying timeout popups. Is it possible not to run this check for these type of apps and the timeout makes sense for the apps who have actual endpoints pingable.?

Screen Shot 2020-01-15 at 2 33 12 PM Screen Shot 2020-01-15 at 2 23 01 PM Screen Shot 2020-01-15 at 2 15 29 PM

jagraj commented 4 years ago

For every project that I create after creating those projects with no web servers then I get all these timeout popups once. :(

Screen Shot 2020-01-15 at 2 59 45 PM

malincoln commented 4 years ago

does this require an additional fix? I see it's in Verify but should maybe be moved back to In progress?

rajivnathan commented 4 years ago

@jagraj I think the problem with projects without a web server is a different issue. This issue is related to the default timeout not being long enough and Stephanie's fix was to increase the default. For the issue with projects without a web server it sounds like we need a way to disable pinging for those types of projects so can you please open a separate issue for that?

makandre commented 4 years ago

@jagraj @rajivnathan This may cover that case: https://github.com/eclipse/codewind/issues/1269

rajivnathan commented 4 years ago

@makandre Thanks. I think that issue can be used to discuss a long term solution but the problem Jag's pointing out seems pretty bad because users keep getting popups and is new behaviour for 0.8.0 so we should probably pursue an interim fix for this.

jagraj commented 4 years ago

@rajivnathan Thanks, I opened this new issue to address for server less projects.

https://github.com/eclipse/codewind/issues/1777

malincoln commented 4 years ago

@mmulholl are you happy to close this issue now?

mmulholl commented 4 years ago

I think the function needs to be disabled, it is completely misleading. Create 6-8 default projects of different types, stop codewind, start codewind and you will see a bunch of pop-ups despite totally normal behavior. I needs some intelligence behind it not just a random timer.

mmulholl commented 4 years ago

another possible is to change the text to just make it an information message and say it could be normal behavior when starting multiple projects at the same time or large projects. The first word you currently see is "Error".

malincoln commented 4 years ago

@yangcao77 @rajivnathan ^^^

yangcao77 commented 4 years ago

If you restart codewind, you should not see the pop-ups until it actually times out during starting state. Turbine does not cache or save the application state/error messages. I'm wondering what else might cause the issue you've been seeing.

mmulholl commented 4 years ago

I am assuming if you restart codewind several projects are starting at the same team resulting in them generally taking longer to start which results in the message popup occurring more often. The point is some take more than the timeout to start.

jopit commented 4 years ago

After some discussion, it's been decided the IDEs should change the title of the popup to make it more generic, since (in this case at least) it's not a real problem. I suggest we use Codewind notification for project xxx or maybe just Project xxx instead of A problem occurred with the xxx project @tetchel @eharris369

tetchel commented 4 years ago

I don't say notification or problem. Just ${this.projectName} - ${this.appDetail.message}

eharris369 commented 4 years ago

Eclipse IDE PRs to just use the project name for the dialog title:

malincoln commented 4 years ago

moving to verify as PRs have been merged. @mmulholl pls verify and close. Thanks

mmulholl commented 4 years ago

It is an improvement but request development to think of something better than a one size fits all timeout. Also consider closing an opened pop-up when the app subsequently starts. Maybe even add some intelligence to learn what a suitable timeout is for the project based on previous times to running.

@jopit @yangcao77 @tetchel @malincoln

malincoln commented 4 years ago

@jopit do you want to investigate this more with your squad and determine best solution or is this something worth discussing at a tech topic?

jopit commented 4 years ago

@malincoln the timeout and the message is coming from the Turbine layer. The IDEs don't know what the message is or what it means. I think @elsony's team needs to look into how this can be improved.