Project

General

Profile

Bug #9670

Rewrite UnclosablePreparedStatement JMXs to honor FwdServerJMX.JMX_DEBUG

Added by Alexandru Lungu over 1 year ago. Updated over 1 year ago.

Status:
Test
Priority:
High
Assignee:
Andrei Iacob
Target version:
-
Start date:
Due date:
% Done:

100%

billable:
No
vendor_id:
GCD
case_num:
version_reported:
version_resolved:
15731
production:
No
env_name:
topics:

History

#1 Updated by Alexandru Lungu over 1 year ago

This task is straight-forward. Most API from UnclosablePreparedStatement are using a lambda function to time measure the execution of certain queries through JMX. Even if not active, the lambda functions are constructed at run-time. The code there should be rewritten to honor JMX.JMX_DEBUG.

#3 Updated by Andrei Iacob over 1 year ago

  • Status changed from New to WIP

#4 Updated by Andrei Iacob over 1 year ago

  • Status changed from WIP to Review
  • % Done changed from 0 to 100
  • reviewer Alexandru Lungu added

Extended this refactor for DynamicQueryHelper and TempTableBuilder.

Added changes to 9670a/15715.

#5 Updated by Alexandru Lungu over 1 year ago

I am ok with the changes. One small change request:
  • In TempTableBuilder, the boolean[] res = new boolean[1]; is specific to the JMX usage, as lambdas can change only such values. So, move this boolean array creation in the same branch with the JMX, create a separate variable of type boolean and assign res[0] to it. For the non-JMX branch, assign that new variable directly. This forces Java to use the stack memory for the variable, rather than the heap of new boolean[1] that puts pressure on GC.

#6 Updated by Andrei Iacob over 1 year ago

Replaced CREATE_DYN_TT.timer with CREATE_DYN_TT.timerWithReturn. Committed changes.

#7 Updated by Alexandru Lungu over 1 year ago

The latest rev. is still 15715.

#8 Updated by Andrei Iacob over 1 year ago

Please update the branch now.

#9 Updated by Alexandru Lungu over 1 year ago

  • Status changed from Review to Internal Test

I am OK with the changes. Please do some slim testing to ensure there are no obvious issues.

#10 Updated by Andrei Iacob over 1 year ago

I ran the unittest suite of a large customer, no issues.
Let me know when this can be merged.

#11 Updated by Alexandru Lungu over 1 year ago

  • Status changed from Internal Test to Merge Pending

Please merge to trunk now.

#12 Updated by Andrei Iacob over 1 year ago

  • version_resolved set to 15731
  • Status changed from Merge Pending to Test

Branch 9670a was merged to trunk rev 15731 and archived.

Also available in: Atom PDF