[rhq-project/rhq] aa79eb: [BZ 1252142] Creation and group association of bu...
by Jay Shaughnessy
Branch: refs/heads/release/jon3.3.x
Home: https://github.com/rhq-project/rhq
Commit: aa79ebdd9d7b2502123b92ce9945a1a079f4528f
https://github.com/rhq-project/rhq/commit/aa79ebdd9d7b2502123b92ce9945a1a...
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: 2015-10-13 (Tue, 13 Oct 2015)
Changed paths:
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/BundleSelector.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/create/AbstractBundleCreateWizard.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/create/BundleGroupsStep.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/create/BundleTypeDropDownSelectItem.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/create/BundleUploadDataStep.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/create/BundleUploadDistroFileStep.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/deploy/BundleDeployWizard.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/deploy/DeployStep.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/deploy/GetDeploymentInfoStep.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/deploy/GetDestinationStep.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/deploy/SelectBundleVersionStep.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/deployment/BundleDeploymentDataSource.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/deployment/BundleDeploymentView.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/deployment/BundleResourceDeploymentHistoryListView.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/deployment/resource/BundleResourceDeploymentDataSource.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/destination/BundleDestinationView.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/group/BundleGroupsDataSource.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/group/BundleGroupsListView.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/list/BundleVersionDataSource.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/list/BundleView.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/list/BundlesDataSource.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/list/BundlesListView.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/list/BundlesWithLatestVersionDataSource.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/revert/ConfirmationStep.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/revert/GetRevertInfoStep.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/revert/RevertStep.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/tree/BundleTreeDataSource.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/version/BundleVersionView.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/gwt/GWTServiceLookup.java
Log Message:
-----------
[BZ 1252142] Creation and group association of bundle fails with timeout followed by IllegalArgumentException
The original fix commit for this problem is valid (1990e7d65). It increased
the RPC timeout from the default, 30s, to 10m in order to provide ample time
for large distribution files to be processed server-side.
This uncovered an unrelated issue with the way our RPC timeouts are
handled. In short, gwt keeps only one instance of each rpc service even
though you can reassign [custom] request builders, which we do, to apply
our timeouts to the service. But each time code looks up the service it
reassigns the timeout to it's needs. So if you lookup the service and
assign a 10m timeout it can be 'overwritten' before it's actually used. And
that was what was happening. I believe it could behave differently
on different systems but in fact, on my system, it was overwritten twice
between two consecutive lines of code, the first looking up the bundle
service and the econd making the call.
The reason is that we don't control the order of everything going on in gwt.
For example, several classes initialized the bundle service as a
class-field. The initialization could happen at unexpected times. Instead,
by chaining every bundle-service-lookup to the service call, the problem has
gone away. I particularly suspect the class-level decls in the DataSources,
but we had plenty of advance initializations going on.
This problem could may still affect other code using other services. This
commit is for the bundle service only, other changes were out of scope.
8 years, 1 month
[rhq-project/rhq] 86bbcd: [BZ 1252142] Creation and group association of bu...
by Jay Shaughnessy
Branch: refs/heads/master
Home: https://github.com/rhq-project/rhq
Commit: 86bbcd55209661e48beefc987dc3532142267930
https://github.com/rhq-project/rhq/commit/86bbcd55209661e48beefc987dc3532...
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: 2015-10-09 (Fri, 09 Oct 2015)
Changed paths:
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/BundleSelector.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/create/AbstractBundleCreateWizard.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/create/BundleGroupsStep.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/create/BundleTypeDropDownSelectItem.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/create/BundleUploadDataStep.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/create/BundleUploadDistroFileStep.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/deploy/BundleDeployWizard.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/deploy/DeployStep.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/deploy/GetDeploymentInfoStep.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/deploy/GetDestinationStep.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/deploy/SelectBundleVersionStep.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/deployment/BundleDeploymentDataSource.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/deployment/BundleDeploymentView.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/deployment/BundleResourceDeploymentHistoryListView.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/deployment/resource/BundleResourceDeploymentDataSource.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/destination/BundleDestinationView.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/group/BundleGroupsDataSource.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/group/BundleGroupsListView.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/list/BundleVersionDataSource.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/list/BundleView.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/list/BundlesDataSource.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/list/BundlesListView.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/list/BundlesWithLatestVersionDataSource.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/revert/ConfirmationStep.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/revert/GetRevertInfoStep.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/revert/RevertStep.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/tree/BundleTreeDataSource.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/bundle/version/BundleVersionView.java
M modules/enterprise/gui/coregui/src/main/java/org/rhq/coregui/client/gwt/GWTServiceLookup.java
Log Message:
-----------
[BZ 1252142] Creation and group association of bundle fails with timeout followed by IllegalArgumentException
The original fix commit for this problem is valid (1990e7d65). It increased
the RPC timeout from the default, 30s, to 10m in order to provide ample time
for large distribution files to be processed server-side.
This uncovered an unrelated issue with the way our RPC timeouts are
handled. In short, gwt keeps only one instance of each rpc service even
though you can reassign [custom] request builders, which we do, to apply
our timeouts to the service. But each time code looks up the service it
reassigns the timeout to it's needs. So if you lookup the service and
assign a 10m timeout it can be 'overwritten' before it's actually used. And
that was what was happening. I believe it could behave differently
on different systems but in fact, on my system, it was overwritten twice
between two consecutive lines of code, the first looking up the bundle
service and the econd making the call.
The reason is that we don't control the order of everything going on in gwt.
For example, several classes initialized the bundle service as a
class-field. The initialization could happen at unexpected times. Instead,
by chaining every bundle-service-lookup to the service call, the problem has
gone away. I particularly suspect the class-level decls in the DataSources,
but we had plenty of advance initializations going on.
This problem could may still affect other code using other services. This
commit is for the bundle service only, other changes were out of scope.
8 years, 2 months