Bug 754199 - AS7 plugin: fix exception handling and remove all output to stdout or stderr
AS7 plugin: fix exception handling and remove all output to stdout or stderr
Status: CLOSED CURRENTRELEASE
Product: RHQ Project
Classification: Other
Component: Plugins (Show other bugs)
4.2
All All
high Severity medium (vote)
: ---
: RHQ 4.3.0
Assigned To: Libor Zoubek
Mike Foley
:
Depends On:
Blocks: as7-plugin jon30-sprint8
  Show dependency treegraph
 
Reported: 2011-11-15 12:09 EST by Ian Springer
Modified: 2015-11-01 19:42 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-08-31 06:15:50 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Ian Springer 2011-11-15 12:09:04 EST
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 07:04:55 EST
d5c745a in master
Comment 4 Heiko W. Rupp 2013-08-31 06:15:50 EDT
Bulk close of old bugs in VERIFIED state.

Note You need to log in before you can comment on or make changes to this bug.