Anonymous | Login
Project:
RSS
  
News | My View | View Issues | Roadmap | Summary

View Issue DetailsJump to Notes ] Issue History ] Print ]
ID
0047219
TypeCategorySeverityReproducibilityDate SubmittedLast Update
defect[Modules] External Data Integrationminorhave not tried2021-06-23 11:082022-04-04 14:17
ReportercaristuView Statuspublic 
Assigned Tocaristu 
PriorityhighResolutionfixedFixed in Version
StatusclosedFix in branchFixed in SCM revision
ProjectionnoneETAnoneTarget Version
OSAnyDatabaseAnyJava version
OS VersionDatabase versionAnt version
Product VersionSCM revision 
Regression date
Regression introduced by commit
Regression level
Review Assigned To
Regression introduced in release
Summary

0047219: Use different runnables for EDL processes that should be executed in a specific thread

DescriptionImportEntryProcessors has the ability to generate a key which is used to select a runnable to execute its task.

In the case of EDLImportEntryProcessor, currently the key is calculated as follows:

- If the EDL process is configured as "Use Single Thread For Search Key", then the same key prefixed with "OBEDL" is returned for a given EDL process search key.
-If not a random key is calculated

In both cases, it is ensured that the key is a value between 0 and 20 in order to ensure that no more than 20 runnables are created for the EDL processing.

But this logic is currently not taking into account that the same runnable can be selected by EDL processes regardless of their configuration.

Taking into account that typically processes configured as "Use Single Thread For Search Key" can have more processes accumulated on its queue pending to be executed, this can cause other EDL processes that do not require to be executed on a specific thread to end waiting to be executed on that thread queue while having other runnables available without the need to wait.

So it seems that it makes sense to make the process selection key logic of the EDLImportEntryProcessor to take into account this case. Thus, process selection keys returned for those processes configured as "Use Single Thread For Search Key" will always be different than the keys returned by the rest of EDL processes.

Thus, with this solution we'll enable 40 runnables at most for EDL processing (20 for each for type: single thread and "normal" EDL processes)
Steps To Reproduce.
TagsNOR
Attached Files

- Relationships Relation Graph ] Dependency Graph ]
related to defect 0047139 closedAugustoMauch Openbravo ERP Import entries can be permanently left unprocessed, in Initial status 
related to defect 0048427 closedalostale Openbravo ERP high load of low priority import entries can cause higher priority entries not to be processed 
related to defect 0048418 newTriage Platform Conn Openbravo ERP import entries can be processed twice if their key is not deterministic 

-  Notes
(0129747)
hgbot (developer)
2021-06-23 16:43

Merge Request created: https://gitlab.com/openbravo/product/pmods/org.openbravo.externaldata.integration/-/merge_requests/7 [^]
(0129796)
hgbot (developer)
2021-06-25 13:55

Directly closing issue as related merge request is already approved.

Repository: https://gitlab.com/openbravo/product/pmods/org.openbravo.externaldata.integration [^]
Changeset: 38e3899c8903aa44de65b8b7c1944e855e68ce3b
Author: Carlos Aristu <carlos.aristu@openbravo.com>
Date: 2021-06-23T16:43:49+02:00
URL: https://gitlab.com/openbravo/product/pmods/org.openbravo.externaldata.integration/-/commit/38e3899c8903aa44de65b8b7c1944e855e68ce3b [^]

fixes BUG-47219: different runnables for "single thread" EDL processes

  Now EDL processes marked as "Use Single Thread For Search Key" will
be executed with a different set of runnables from the rest of EDL
processes.

  This is managed by using a different set of selection keys for that
kind of EDL processes.

---
M src/org/openbravo/externaldata/integration/process/EDLImportEntryProcessor.java
---
(0129797)
hgbot (developer)
2021-06-25 13:55

Merge request merged: https://gitlab.com/openbravo/product/pmods/org.openbravo.externaldata.integration/-/merge_requests/7 [^]

- Issue History
Date Modified Username Field Change
2021-06-23 11:08 caristu New Issue
2021-06-23 11:08 caristu Assigned To => platform
2021-06-23 12:10 caristu Description Updated View Revisions
2021-06-23 12:10 caristu Assigned To platform => caristu
2021-06-23 16:43 hgbot Note Added: 0129747
2021-06-23 16:47 caristu Description Updated View Revisions
2021-06-23 17:00 caristu Summary Use different runnables for EDL processes that should execute in a specific thread => Use different runnables for EDL processes that should be executed in a specific thread
2021-06-23 17:23 rafaroda Tag Attached: NOR
2021-06-25 13:55 hgbot Resolution open => fixed
2021-06-25 13:55 hgbot Status new => closed
2021-06-25 13:55 hgbot Note Added: 0129796
2021-06-25 13:55 hgbot Note Added: 0129797
2021-06-25 14:00 caristu Description Updated View Revisions
2021-06-29 22:47 rafaroda Relationship added related to 0047139
2022-04-04 14:17 rafaroda Relationship added related to 0048427
2022-04-04 14:17 rafaroda Relationship added related to 0048418


Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker