-
Notifications
You must be signed in to change notification settings - Fork 599
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
Make Quiesce time configurable #25523
Comments
Currently the quiesce timeout is hard-coded to 30 seconds in
How the timeout will be configurable: server.xml
From a user's perspective there are two other timeout values to consider; channel chain quiesce timeout and the server stop command client timeout. chainQuiesceTimeout - Time to wait for channel chains to stop. The default value is 30 seconds. server.xml
server stop command timeout - The server stop command timeout is the amount of time the server command client script waits for the server to stop. The default timeout is 30 seconds. If the server has not stopped within the timeout period, the client will terminate with an error code.
ImplementationThere are two services that need to access the configurable quieseTimeout; ExecutorService and RuntimeUpdateManager ExecutorService isn't a problem. The quiesceTimeout is configured on the ExecutorServiceImpl.java RuntimeUpdateManager is a bit trickier ( @tjwatson ). It waits a hard-coded 30 seconds for quiesceListenerFutures to complete. We'll need a way to pass the configurable quiesceTimeout to the service when the service is activated. RuntimeUpdateManagerImpl.java MessagesThe 30-second quiesce timeout is also hard-coded in messages. The messages are displayed by com.ibm.ws.runtime.update.RuntimeUpdateManagerImpl. We'll need to update messages and pass in the timeout value. |
I doubt this is the first time in Liberty where we need more than one component to share the same configuration data. It should be possible for both components to get configuration from the |
UFO is in box, but from a user's perspective this doesn't need a lot of explanation. |
Created doc issue for updates to existing doc |
UFO review - Make quiesce timeout configurable #79 presenter: jim blye
|
Description
As of now, the Quiesce time is not configurable and is hard-coded to 30 seconds. Making it configurable gives flexibility to users about how much time at maximum their threads need to finish the task at hand.
Documents
When available, add links to required feature documents. Use "N/A" to mark particular documents which are not required by the feature.
Aha idea
Requested feature
Upload the feature UFO to Box and set the link to be publicly accessible, with a long expiration (10 years)
Process Overview
General Instructions
The process steps occur roughly in the order as presented. Process steps occasionally overlap.
Each process step has a number of tasks which must be completed or must be marked as not applicable ("N/A").
Unless otherwise indicated, the tasks are the responsibility of the Feature Owner or a Delegate of the Feature Owner.
If you need assistance, reach out to the OpenLiberty/release-architect.
Important: Labels are used to trigger particular steps and must be added as indicated.
Prioritization (Complete Before Development Starts)
The (OpenLiberty/chief-architect) and area leads are responsible for prioritizing the features and determining which features are being actively worked on.
Prioritization
Design (Complete Before Development Starts)
Design preliminaries determine whether a formal design, which will be provided by an Upcoming Feature Overview (UFO) document, must be created and reviewed. A formal design is required if the feature requires any of the following: UI, Serviceability, SVT, Performance testing, or non-trivial documentation/ID. Furthermore, each identified item places a blocking requirement on another team so it must be identified early in the process. The feature owner may check-off the item if they know it doesn't apply, but otherwise they should work with the focal point to determine what work, if any, will be necessary and make them aware of it.
Design Preliminaries
[ x ] UI requirements identified. (Owner and UI focal point)
No UI Requirements
Accessibility requirements identified, or N/A. (Feature owner and Accessibility focal point)
ID requirements identified, or N/A. (Feature owner and ID focal point)
** New messages and some messages are updated_**
** DOC issue: Liberty doc updates related to configurable quiesce timeout #6983 **
ID Required
, if non-trivial documentation needs to be created by the ID team.ID Required - Trivial
, if no design will be performed and only trivial ID updates are needed.Serviceability requirements identified, or N/A. (Feature owner and Serviceability focal point)
No serviceability requirements expected
SVT requirements identified, or N/A. (Feature owner and SVT focal point)
No SVT expected
Performance testing requirements identified. (Owner and Performance focal point)
Performance is not applicable
Design
Design Review Request
Design Approval Request
Design Approved
No Design
No Design Approval Request
No Design Approved
Product Management Approval Request
and notifies OpenLiberty/product-managementProduct Management Approved
(OpenLiberty/product-management)FAT Documentation
Implementation
A feature must be prioritized before any implementation work may begin to be delivered (inaccessible/no-ship). However, a design focused approach should still be applied to features, and developers should think about the feature design prior to writing and delivering any code.
Besides being prioritized, a feature must also be socialized (or No Design Approved) before any beta code may be delivered. All new Liberty content must be inaccessible in our GA releases until it is Feature Complete by either marking it
kind=noship
or beta fencing it.Code may not GA until this feature has obtained the
Design Approved
orNo Design Approved
label, along with all other tasks outlined in the GA section.Feature Development Begins
In Progress
labelLegal and Translation
In order to avoid last minute blockers and significant disruptions to the feature, the legal items need to be done as early in the feature process as possible, either in design or as early into the development as possible. Similarly, translation is to be done concurrently with development. Both MUST be completed before Beta or GA is requested.
Legal (Complete before Feature Complete Date)
Innovation (Complete 1 week before Feature Complete Date)
Translation (Complete by Feature Complete Date)
Beta
In order to facilitate early feedback from users, all new features and functionality should first be released as part of a beta release.
Beta Code
kind=beta
,ibm:beta
,ProductInfo.getBetaEdition()
target:beta
and the appropriatetarget:YY00X-beta
(where YY00X is the targeted beta version).release:YY00X-beta
(where YY00X is the first beta version that included the functionality).Beta Blog (Complete by beta eGA)
GA
A feature is ready to GA after it is Feature Complete and has obtained all necessary Focal Point Approvals.
Feature Complete
Translation - Complete
orTranslation - Missing
labelrelease
branch, feature owner adds labelTranslation - Complete
.Translation - Missing
.Translation - Missing
label is replaced withTranslation - Complete
.Translation - Blocked
label.Translation - Blocked
may NOT proceed to GA until the label has been replaced with eitherTranslation - Missing
orTranslation - Complete
.target:ga
and the appropriatetarget:YY00X
(where YY00X is the targeted GA version).Focal Point Approvals (Complete by Feature Complete Date)
These occur only after GA of this feature is requested (by adding a
target:ga
label). GA of this feature may not occur until all approvals are obtained.All Features
focalApproved:externals
@OpenLiberty/demo-approvers Demo scheduled for EOI [Iteration Number]
to this issue.focalApproved:demo
.focalApproved:fat
.Design Approved Features
focalApproved:id
.focalApproved:instantOn
.focalApproved:performance
.focalApproved:sve
.focalApproved:ste
.focalApproved:svt
.Remove Beta Fencing (Complete by Feature Complete Date)
GA Blog (Complete by Friday after GM)
Post GA
target:YY00X
label with the appropriaterelease:YY00X
. (OpenLiberty/release-manager)Other Deliverables
The text was updated successfully, but these errors were encountered: