]
Jeff Cantrill commented on JBIDE-21665:
---------------------------------------
[~adietish] I think refreshing before scaling is probably a reasonable solution but there
is an underlying bug here which probably is pervasive across the plugin. We should have
received a change notification from the watch, but we probably don't reasonably
guarantee that we have the latest version of a resource. Since we are mostly readonly,
this generally isn't an issue, but we should probably do a GET before we take any
action that requires us to update a resource. The larger question might be how to ensure
that 'get' is propagated to all the listeners. This change
Scaling OS3 application does not work properly
----------------------------------------------
Key: JBIDE-21665
URL:
https://issues.jboss.org/browse/JBIDE-21665
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: openshift
Affects Versions: 4.3.1.CR1
Reporter: Marián Labuda
Priority: Critical
Labels: openshift_v3
Attachments: edit_error.png
When I am trying to scale application via tooling, first attempt to set replicas amount
works but every consecutive attempt to edit same resource fails. See following screenshot
of the error followed by stack trace
!edit_error.png!
{code}
com.openshift.restclient.OpenShiftException: Could not update resource eap-app-1: {
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Failure",
"message": "replicationControllers \"eap-app-1\" cannot be
updated: the object has been modified; please apply your changes to the latest version and
try again",
"reason": "Conflict",
"details": {
"name": "eap-app-1",
"kind": "replicationControllers"
},
"code": 409
}
at
com.openshift.internal.restclient.DefaultClient.createOpenShiftException(DefaultClient.java:480)
at com.openshift.internal.restclient.DefaultClient.update(DefaultClient.java:247)
at
org.jboss.tools.openshift.internal.ui.property.OpenShiftResourceDocumentProvider$2.run(OpenShiftResourceDocumentProvider.java:92)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: com.openshift.internal.restclient.http.HttpClientException: {
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Failure",
"message": "replicationControllers \"eap-app-1\" cannot be
updated: the object has been modified; please apply your changes to the latest version and
try again",
"reason": "Conflict",
"details": {
"name": "eap-app-1",
"kind": "replicationControllers"
},
"code": 409
}
at
com.openshift.internal.restclient.http.UrlConnectionHttpClient.createException(UrlConnectionHttpClient.java:226)
at
com.openshift.internal.restclient.http.UrlConnectionHttpClient.request(UrlConnectionHttpClient.java:191)
at
com.openshift.internal.restclient.http.UrlConnectionHttpClient.put(UrlConnectionHttpClient.java:119)
at com.openshift.internal.restclient.DefaultClient.update(DefaultClient.java:243)
... 2 more
Caused by: java.io.IOException: Server returned HTTP response code: 409 for URL:
https://10.1.2.2:8443/api/v1/namespaces/project01/replicationcontrollers/...
at
sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1840)
at
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441)
at
sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
at
com.openshift.internal.restclient.http.UrlConnectionHttpClient.request(UrlConnectionHttpClient.java:187)
... 4 more
{code}