Project:
View Issue Details[ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||
ID | ||||||||
0047219 | ||||||||
Type | Category | Severity | Reproducibility | Date Submitted | Last Update | |||
defect | [Modules] External Data Integration | minor | have not tried | 2021-06-23 11:08 | 2022-04-04 14:17 | |||
Reporter | caristu | View Status | public | |||||
Assigned To | caristu | |||||||
Priority | high | Resolution | fixed | Fixed in Version | ||||
Status | closed | Fix in branch | Fixed in SCM revision | |||||
Projection | none | ETA | none | Target Version | ||||
OS | Any | Database | Any | Java version | ||||
OS Version | Database version | Ant version | ||||||
Product Version | SCM 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 | |||||||
Description | ImportEntryProcessors 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 | . | |||||||
Tags | NOR | |||||||
Attached Files | ||||||||
Relationships [ Relation Graph ] [ Dependency Graph ] | |||||||||||||||||||||||||
|
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 |