Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0048653Openbravo ERPA. Platformpublic2022-02-22 13:042022-03-07 14:23
caristu 
caristu 
immediatemajorhave not tried
closedfixed 
5
 
PR22Q2 
Core
Pre packaging ( pi )
2022-01-21
pi
https://gitlab.com/openbravo/product/openbravo/-/commit/b257d40c2d528aeb2871e6a4b8c0afbab09e3e01 [^]
No
0048653: ExternalOrderLoader synchronous request can not be executed in non leader nodes
Being in a clustered environment, the synchronous requests to the ExternalOrderLoader can not be processed in non leader nodes. This was possible before the fix of issue 0048454.
In a cluster instace (set cluster=true in Openbravo.properties) with several nodes

1. Execute an ExternalOrderLoader request to the non leader node. The following error appears:

org.openbravo.base.exception.OBException: Import entry 8D2B4717636D49E986A09A4BDA01C1E7 could not be processed in node nodeb- EEA7BB04E8554401AB4B0FA4CB4FC722 because active node is nodea - 430BCEE7A3874B6F89D282B5B51F61C4
        at org.openbravo.service.importprocess.ImportEntryManager.setImportEntryProcessed(ImportEntryManager.java:436) ~[classes/:?]
        at org.openbravo.service.importprocess.ImportEntryManager$Proxy$_$$_WeldClientProxy.setImportEntryProcessed(Unknown Source) ~[classes/:?]
        at org.openbravo.mobile.core.process.DataSynchronizationProcess.setImportEntryProcessed(DataSynchronizationProcess.java:361) ~[classes/:?]
        at org.openbravo.mobile.core.process.DataSynchronizationProcess.saveRecord(DataSynchronizationProcess.java:279) ~[classes/:?]
        at org.openbravo.mobile.core.process.DataSynchronizationProcess.exec(DataSynchronizationProcess.java:156) ~[classes/:?]
        at org.openbravo.retail.posterminal.ExternalOrderLoader.exec(ExternalOrderLoader.java:331) [classes/:?]
        at org.openbravo.mobile.core.process.DataSynchronizationProcess.exec(DataSynchronizationProcess.java:88) [classes/:?]
        at org.openbravo.retail.posterminal.ExternalOrderLoader.exec(ExternalOrderLoader.java:319) [classes/:?]
        at org.openbravo.mobile.core.process.JSONProcessSimple.exec(JSONProcessSimple.java:48) [classes/:?]
        at org.openbravo.retail.posterminal.ExternalOrderLoader.executeCreateImportEntry(ExternalOrderLoader.java:250) [classes/:?]
NOR
caused by defect 0048454 closed caristu When a node is demoted as cluster node IE can be processed twice under some circumstances 
Issue History
2022-02-22 13:04caristuNew Issue
2022-02-22 13:04caristuAssigned To => caristu
2022-02-22 13:04caristuModules => Core
2022-02-22 13:04caristuRegression level => Pre packaging ( pi )
2022-02-22 13:04caristuRegression date => 2022-01-21
2022-02-22 13:04caristuRegression introduced in release => pi
2022-02-22 13:04caristuRegression introduced by commit => https://gitlab.com/openbravo/product/openbravo/-/commit/b257d40c2d528aeb2871e6a4b8c0afbab09e3e01 [^]
2022-02-22 13:04caristuTriggers an Emergency Pack => No
2022-02-22 13:04caristuIssue generated from0048454
2022-02-22 13:04caristuRelationship addedcaused by 0048454
2022-02-22 13:05caristuSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=23693#r23693
2022-02-22 13:05caristuProposed Solution updated
2022-02-22 13:05caristuSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=23694#r23694
2022-02-22 13:07rafarodaTag Attached: NOR
2022-02-22 13:07rafarodaIssue Monitored: rafaroda
2022-02-22 13:43hgbotNote Added: 0135214
2022-02-22 13:45hgbotNote Added: 0135215
2022-02-22 14:53hgbotNote Added: 0135233
2022-02-23 08:13caristuStatusnew => scheduled
2022-02-24 07:17hgbotNote Added: 0135262
2022-02-24 07:17hgbotResolutionopen => fixed
2022-02-24 07:17hgbotStatusscheduled => closed
2022-02-24 07:17hgbotFixed in Version => PR22Q2
2022-02-24 07:17hgbotNote Added: 0135263
2022-03-07 14:23ivancaceresIssue Monitored: ivancaceres

Notes
(0135214)
hgbot   
2022-02-22 13:43   
Merge Request created: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/531 [^]
(0135215)
hgbot   
2022-02-22 13:45   
Merge Request created: https://gitlab.com/openbravo/product/pmods/org.openbravo.retail.posterminal/-/merge_requests/726 [^]
(0135233)
hgbot   
2022-02-22 14:53   
Merge request closed: https://gitlab.com/openbravo/product/pmods/org.openbravo.retail.posterminal/-/merge_requests/726 [^]
(0135262)
hgbot   
2022-02-24 07:17   
Merge request merged: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/531 [^]
(0135263)
hgbot   
2022-02-24 07:17   
Directly closing issue as related merge request is already approved.

Repository: https://gitlab.com/openbravo/product/openbravo [^]
Changeset: e2f4b08ad16a5b596f458d24056568e119e67d9d
Author: Carlos Aristu <carlos.aristu@openbravo.com>
Date: 23-02-2022 12:02:02
URL: https://gitlab.com/openbravo/product/openbravo/-/commit/e2f4b08ad16a5b596f458d24056568e119e67d9d [^]

fixes ISSUE-48653: skip setImportEntryProcessed checks if invoked outside the IEM threads

  Improve the check that allows to set an import entry as processed. Now
apart from checking if the current node is in charge of handling the
import entries, it also checks if the thread setting the import entry
status is one of the ImportEntryManager threads.

  This is done now to avoid failing if this code is invoked outside of
the ImportEntryManager infrastructure, which is NOT recommended. In that
case now the "setImportEntryProcessed" method will not fail if is
executed in a node that is not the cluster leader.

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