Project

General

Profile

Actions

Task #366

closed

Check Executor in LongRunningTaskManager

Added by Ondřej Kopr about 7 years ago. Updated about 7 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Ondřej Kopr
Category:
Configuration
Target version:
Start date:
04/10/2017
Due date:
% Done:

100%

Estimated time:
Owner:

Files

01.png (56.8 KB) 01.png Ondřej Kopr, 04/10/2017 12:37 PM
02.png (49 KB) 02.png Ondřej Kopr, 04/10/2017 12:38 PM
03.png (93.4 KB) 03.png Ondřej Kopr, 04/10/2017 02:12 PM
04.png (24 KB) 04.png Ondřej Kopr, 04/10/2017 02:47 PM
06.png (76 KB) 06.png Ondřej Kopr, 04/10/2017 04:39 PM
05.png (76.4 KB) 05.png Ondřej Kopr, 04/10/2017 04:42 PM
07.png (124 KB) 07.png Ondřej Kopr, 04/10/2017 04:51 PM
Actions #1

Updated by Ondřej Kopr about 7 years ago

  • Subject changed from Check to Check Executor in LongRunningTaskManager
  • Category set to Configuration
  • Status changed from New to In Progress
  • Assignee set to Ondřej Kopr
  • Target version set to Citrine (7.3.0)

Check settings for Executor in long runnign task manager.
Specially how many thread has current executor.

Problem with this was founded in test. In tests is active wait for results from future task, this active waiting takes a very long time.

Actions #2

Updated by Ondřej Kopr about 7 years ago

Read some information about ThreadPoolExecutor
check our settings with examples.

Try to change different settings for core pool size and run test:
setCorePoolSize(1)

setCorePoolSize(15)

Actions #3

Updated by Ondřej Kopr about 7 years ago

After performing some tests, was launched profiler:

Found possible bug, method init is call with 41% time -> remove password from createIdentity

DefaultIdmRoleRequestService.startRequest -> startApprovalProcess -> workflowProcessInstanceService.startProcess 18% time

Local build:

Test on jenkins (core) before: 5 min 27 sec after: 5 min 10 sec

For profiling i use yourkit java profiler: plugin for eclipse: https://www.yourkit.com/docs/java/help/complete_eclipse35.jsp

Actions #4

Updated by Ondřej Kopr about 7 years ago

IdentityContractIntegrationTest 15-20 sec active wait for finish long running task: RemoveAutomaticRoleTaskExecutor and AddNewAutomaticRoleTaskExecutor
executor.setCorePoolSize(7);

executor.setCorePoolSize(20);

Actions #5

Updated by Ondřej Kopr about 7 years ago

Possible problem in RemoveAutomaticRoleTaskExecutor, entity IdmConceptRoleRequest hasn't index for roleTreeNode and etc., in forearch (stream) is save and 2x save into logs, see picture from profile:

Slow tests are not caused by the Task Executor!

Actions #6

Updated by Ondřej Kopr about 7 years ago

In this ticket was implementerd information about PASSWORD mapping into mapping detail and add new flyway script with new indexes for IdmConceptRoleRequest (V1_00_011__add-new-indexes-concept-role.sql) + add information about autentization attribute into documentaion (https://proj.bcvsolutions.eu/ngidm/doku.php?id=navrh:konfigurace_aplikace#autentizace)

Actions #7

Updated by Ondřej Kopr about 7 years ago

  • Status changed from In Progress to Closed
  • % Done changed from 90 to 100
Actions

Also available in: Atom PDF