Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0049963Openbravo ERPA. Platformpublic2022-08-05 11:392022-10-18 11:32
gorkaion 
Triage Platform Base 
normalminoralways
closedfixed 
5
 
PR23Q1 
Core
No
0049963: When a ImportEntry is not assigned to a runnable it should not be included in hte entryCount
The ImportEntryProcessor.assignEntryToThread method might not assign the entry to a thread if there is a runnable of the previous search cycle still running.

When this happen the ImportEntryManager is still counting it in the entryCount counter that manages the wait time between cycles. This can generate extra wait time between cycles.
Create a big volume of slow import entries to force the system to execute a new search cycle when the previous runnables are still executing.

Notice that the import entries are not assigned to any threads but the calculated wait time to next search is considering all of them.
Change ImportEntryProcessor's handleImportEntry and assignEntryToThread methods to return a boolean.

assignEntryToThread return false when the ImportEntry is not assigned to a thread.

handleImportEntry returns false when the canHandleImportEntry or assignEntryToThread return false.

Change ImportEntryManager to update counter when the assignEntryToThread returns true.

No tags attached.
depends on defect 0050413 closed alostale API change: ImportEntryProcessor handleImportEntry and assignEntryToThread return boolean 
related to defect 0048427 closed alostale high load of low priority import entries can cause higher priority entries not to be processed 
Issue History
2022-08-05 11:39gorkaionNew Issue
2022-08-05 11:39gorkaionAssigned To => Triage Platform Base
2022-08-05 11:39gorkaionModules => Core
2022-08-05 11:39gorkaionTriggers an Emergency Pack => No
2022-08-12 07:57alostaleStatusnew => acknowledged
2022-08-12 08:02hgbotNote Added: 0140080
2022-08-12 10:36alostaleRelationship addedrelated to 0048427
2022-08-19 14:49ivancaceresIssue Monitored: ivancaceres
2022-10-05 07:57alostaleRelationship addeddepends on 0050413
2022-10-18 11:31hgbotNote Added: 0142218
2022-10-18 11:32hgbotNote Added: 0142222
2022-10-18 11:32hgbotResolutionopen => fixed
2022-10-18 11:32hgbotStatusacknowledged => closed
2022-10-18 11:32hgbotFixed in Version => PR23Q1
2022-10-18 11:32hgbotNote Added: 0142223

Notes
(0140080)
hgbot   
2022-08-12 08:02   
Merge Request created: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/680 [^]
(0142218)
hgbot   
2022-10-18 11:31   
Repository: https://gitlab.com/openbravo/ci/mobile-api [^]
Changeset: 8691be10bbe9f0d9071a5e449138d3ad2250bad9
Author: Asier Lostalé <asier.lostale@openbravo.com>
Date: 05-10-2022 07:47:24
URL: https://gitlab.com/openbravo/ci/mobile-api/-/commit/8691be10bbe9f0d9071a5e449138d3ad2250bad9 [^]

related to ISSUE-49963: changes in ImportEntryProcessor extensions

The handleImportEntry and assignEntryToThread methods in
ImportEntryProcessor have been changed from returning void to returning
boolean.

This commit acknowledges changes in:

org.openbravo.mobile.core.importprocess:
  DeliverDocumentImportEntryProcessor
  OrgVariablesImportEntryProcessor
  TerminalLogImportEntryProcessor

org.openbravo.retail.posterminal:
  ExternalOrderImportEntryProcessor

org.openbravo.retail.posterminal.importprocess:
  CancelLayawayImportEntryProcessor
  CashManagementImportEntryProcessor
  CashUpImportEntryProcessor
  CountSafeBoxImportEntryProcessor
  CustomerAddrImportEntryProcessor
  CustomerImportEntryProcessor
  OrderImportEntryProcessor
  QuotationsRejectEntryProcessor
  VoidLayawayEntryProcessor

---
M java/reference/java.japi.gz
---
(0142222)
hgbot   
2022-10-18 11:32   
Merge request merged: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/680 [^]
(0142223)
hgbot   
2022-10-18 11:32   
Directly closing issue as related merge request is already approved.

Repository: https://gitlab.com/openbravo/product/openbravo [^]
Changeset: 8f47bde4d53c68c64600a67ca558b3cc6699feed
Author: Asier Lostalé <asier.lostale@openbravo.com>
Date: 18-10-2022 08:39:13
URL: https://gitlab.com/openbravo/product/openbravo/-/commit/8f47bde4d53c68c64600a67ca558b3cc6699feed [^]

fixes BUG-49963: IEs not assigned to runnables are counted for idle time

After scheduling a batch of entries to be processed, the main IE threds
remains idle a time based on the count of scheduled entries.

In some cases, the entries obtained to be scheduled cannot finally be
set to a processing thread (ie. it was already full). These entries were
still counted unnecesarily increasing the idle waiting time.

Now we only count the entries that were actually scheduled.

---
M src/org/openbravo/service/importprocess/ImportEntryManager.java
M src/org/openbravo/service/importprocess/ImportEntryProcessor.java
---