Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1651668

Summary: OpenDaylight code throws too many internal exceptions during normal running
Product: Red Hat OpenStack Reporter: Michael Vorburger <vorburger>
Component: opendaylightAssignee: Michael Vorburger <vorburger>
Status: CLOSED NOTABUG QA Contact: Noam Manos <nmanos>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 13.0 (Queens)CC: mkolesni, nyechiel, skitt, smalleni
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-11-22 13:02:24 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:
Bug Depends On: 1650576, 1660167    
Bug Blocks:    
Attachments:
Description Flags
Custom Java Flight Recorder Configuration (JFC) which enables exception tracking none

Description Michael Vorburger 2018-11-20 14:24:44 UTC
One of the non-GC related findings from my analysis of the JFR from Bug 1649004 was this interesting red flag on Misson Control's Automated Analysis Results:

"The program generated 18,399 exceptions per second during 17.003 s starting at 11/14/18, 8:28:03 PM.
Throwing exceptions is more expensive than normal code execution, which means that they should only be used for exceptional situations. Investigate the thrown exceptions to see if any of them can be avoided with a non-exceptional control flow."

We should probably find out what is cause that, and see if we can do anything about it.

The problem is that the Java Application > Exceptions does show the massive number of "some" exceptions (Exceptions Created = 14.2 x 10e6) - but the Stack Trace view is empty... there is probably some additional flight recording parameter needed to record that; we have to find that, and re-run the scale test with it.

Comment 1 Michael Vorburger 2018-11-20 14:55:32 UTC
According to the Environment > Recording > Settings UI, there is a "jdk.JavaExceptionThrow" which is false which probably has to be set to true to record this. 

exception-level=all is mentioned on https://stackoverflow.com/questions/31793426/java-flight-recorder-how-to-dump-on-exception-flightrecordingdumponunhandledexc

I'm guessing either of these probably has to be added to the XX:FlightRecorderOptions - should be tested locally before asking scale lab to do this.

Comment 2 Michael Vorburger 2018-11-20 19:18:05 UTC
> probably has to be added to the XX:FlightRecorderOptions 

That doesn't quite work (I've locally played with it) - will keep digging.

Comment 4 Michael Vorburger 2018-11-21 18:09:51 UTC
Created attachment 1507759 [details]
Custom Java Flight Recorder Configuration (JFC) which enables exception tracking

Ok I've figured this out; we must re-run a test with the full path to the attached default-with-all-exceptions.jfc instead of "default" in the settings= of the FlightRecorderOptions.