Bug 997667

Summary: Thread pool creation fails due to optional parameter keepalive-time sending empty data
Product: [JBoss] JBoss Operations Network Reporter: Larry O'Leary <loleary>
Component: Plugin -- JBoss EAP 6Assignee: Stefan Negrea <snegrea>
Status: CLOSED CURRENTRELEASE QA Contact: Armine Hovsepyan <ahovsepy>
Severity: medium Docs Contact:
Priority: unspecified    
Version: JON 3.1.2CC: ahovsepy, jshaughn, mfoley, snegrea
Target Milestone: ER05   
Target Release: JON 3.3.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-12-11 13:59:21 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
thread_pool_null_keepalive none

Description Larry O'Leary 2013-08-16 00:00:35 UTC
Description of problem:
Creation of a thread pool fails with the error JBAS014746: unit may not be null, rolled-back=true.

Version-Release number of selected component (if applicable):
4.4.0.JON312GA

How reproducible:
Always

Steps to Reproduce:
1.  Install, configure, and start EAP 6 standalone server.
2.  Start JBoss ON system.
3.  Import EAP 6 standalone server into inventory.
4.  Configure EAP resource's connection properties.
5.  Create a new *thread pool* with the minimum set of required properties for the EAP resource:

    Navigate to *JBossAS7 Standalone Servers / EAP (127.0.0.1:9990)* and right-clicking on *thread > Create Child -> Thread Pool*:

        *New Resource Name*: `TestBoundedPool`
        *Resource Configuration Template*: `Bounded Queue Thread Pool`
        *Max Threads*: `10`


Actual results:
Thread pool creation fails with the error and report the following error on the child history page:

    JBAS014746: unit may not be null, rolled-back=true

Expected results:
Thread pool creation should be successful and the defaults should be applied for keepalive-time.

Additional info:
keepalive-time is defined as:

                        "keepalive-time" => {
                            "type" => OBJECT,
                            "description" => "Used to specify the amount of time that pool threads should be kept running when idle; if not specified, threads will run until the executor is shut down.",
                            "expressions-allowed" => false,
                            "nillable" => true,
                            "value-type" => {
                                "time" => {
                                    "type" => LONG,
                                    "description" => "The time",
                                    "expressions-allowed" => true,
                                    "nillable" => false
                                },
                                "unit" => {
                                    "type" => STRING,
                                    "description" => "The time unit",
                                    "expressions-allowed" => true,
                                    "nillable" => false
                                }
                            },
                            "access-type" => "read-write",
                            "storage" => "configuration",
                            "restart-required" => "no-services"
                        }

Because it is nillable, it is optional and therefore, not required:

/subsystem=threads/bounded-queue-thread-pool=MyThreadPool:add(max-threads=10,queue-length=100)
{"outcome" => "success"}

Comment 1 Larry O'Leary 2013-08-19 18:39:54 UTC
I am adding 825384 to the See Also list however this is actually partially duplicated in the original BZ. I have left them separate because 825384 contained other unrelated issues/topics to this BZ. 

I suggest that 825384 be closed as out-of-date and this BZ along with 998673 be used to capture what 825384 was originally attempting to capture.

Comment 3 Jay Shaughnessy 2014-09-03 20:29:13 UTC
This was fixed in upstream Bug 824818. Setting to ON_QA.

Comment 5 Simeon Pinder 2014-09-29 08:12:34 UTC
Moving into ER05 as didn't make the ER04 cut.

Comment 6 Jay Shaughnessy 2014-10-07 19:37:07 UTC
I believe I fixed this already as part of Bug 1033404.  Setting back to MODIFIED for ER05.

Comment 7 Jay Shaughnessy 2014-10-08 17:19:54 UTC
An additional commit that extends the plugin descriptor fixes in Bug 1033404 to more instances of keepalive-time.

master commit 57bc74e437be095db90805d4bc7913ad9a11cda7
Author: Stefan Negrea <snegrea>
Date:   Tue Oct 7 22:00:19 2014 -0500



release/jon3.3.x commit a4d97f62fc6f93659e0d83f0021fb1cdb3decbd6
Author: Stefan Negrea <snegrea>
Date:   Tue Oct 7 22:00:19 2014 -0500

    (cherry picked from commit 57bc74e437be095db90805d4bc7913ad9a11cda7)
    Signed-off-by: Jay Shaughnessy <jshaughn>

Comment 9 Simeon Pinder 2014-10-21 20:24:07 UTC
Moving to ON_QA as available to test with the latest brew build:
https://brewweb.devel.redhat.com//buildinfo?buildID=394734

Comment 10 Armine Hovsepyan 2014-10-24 11:49:31 UTC
Created attachment 950356 [details]
thread_pool_null_keepalive

Comment 11 Armine Hovsepyan 2014-10-24 11:50:09 UTC
verified in JON 3.3 ER05
screen-shot attached