Bug 754199

Summary: AS7 plugin: fix exception handling and remove all output to stdout or stderr
Product: [Other] RHQ Project Reporter: Ian Springer <ian.springer>
Component: PluginsAssignee: Libor Zoubek <lzoubek>
Status: CLOSED CURRENTRELEASE QA Contact: Mike Foley <mfoley>
Severity: medium Docs Contact:
Priority: high    
Version: 4.2CC: ccrouch, hrupp, theute
Target Milestone: ---   
Target Release: RHQ 4.3.0   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-08-31 10:15:50 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 707223, 745494    

Description Ian Springer 2011-11-15 17:09:04 UTC
The AS7 plugin contains 7 instances of:

        } catch (Exception e) {
            e.printStackTrace(); // TODO: Customise this generated block
        }

Plugins should never output to stdout or stderr, but should instead use a logger. Otherwise, when exceptions occur, users will get stack traces dumped into their agent command prompt (this just happened to me).

Also, any calls to System.out.println() or System.err.println() should be replaced with logging (I see a call to System.out.println() in JmsComponent).

Note, in discovery components, we should make sure to use the following format for exception handling to make sure an exception during discovery of one resource does not prevent discovery of other resources:

        Set<DiscoveredResourceDetails> discoveredResources = new HashSet<DiscoveredResourceDetails>();
        List<ProcessScanResult> processes = discoveryContext.getAutoDiscoveredProcesses();
        for (ProcessScanResult process : processes) {
            try {
               // do discovery ...
               discoveredResources.add(detail);
            } catch (Exception e) {
               // log and continue on to next process
               log.error("Failed to discover AS instance for process " + process, e);
            }
        }

        return discoveredResources;

Comment 1 Heiko W. Rupp 2011-11-16 12:04:55 UTC
d5c745a in master

Comment 4 Heiko W. Rupp 2013-08-31 10:15:50 UTC
Bulk close of old bugs in VERIFIED state.