Project:
View Issue Details[ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||
ID | ||||||||
0048894 | ||||||||
Type | Category | Severity | Reproducibility | Date Submitted | Last Update | |||
backport | [Openbravo ERP] A. Platform | minor | always | 2022-03-25 08:05 | 2022-03-25 12:00 | |||
Reporter | alostale | View Status | public | |||||
Assigned To | alostale | |||||||
Priority | normal | Resolution | fixed | Fixed in Version | PR22Q1.2 | |||
Status | closed | Fix in branch | Fixed in SCM revision | |||||
Projection | none | ETA | none | Target Version | PR22Q1.2 | |||
OS | Any | Database | Any | Java version | ||||
OS Version | Database version | Ant version | ||||||
Product Version | SCM revision | |||||||
Review Assigned To | ||||||||
Web browser | ||||||||
Modules | Core | |||||||
Regression level | Production - Confirmed Stable | |||||||
Regression date | 2019-07-18 | |||||||
Regression introduced in release | 3.0PR19Q4 | |||||||
Regression introduced by commit | https://gitlab.com/openbravo/product/openbravo/-/commit/00303fc65a67c7009566bbb7662682c23ba48927 [^] | |||||||
Triggers an Emergency Pack | No | |||||||
Summary | 0048894: MMC cannot update a module merging another one | |||||||
Description | Given module A with a version 2 that merges module B, and an instance with module A version 1 and module B installed. Scan for updates correctly finds the new A version and detects it will merge B, but an error is thrown when trying to install them. | |||||||
Steps To Reproduce | 0. The situation can be emulated executing the following script:insert into ad_module (ad_module_id, ad_client_id, ad_org_id , createdby , updatedby , name , version , description , javapackage) values ('D0D3E67E47664CEAB9AA81F712DB9C22', '0', '0' , '0', '0', 'Old masterdata fr' , '1.0.100', 'will be merged' , 'org.openbravo.france.old'); insert into ad_module (ad_module_id, ad_client_id, ad_org_id , createdby , updatedby , name , version , description , javapackage) values ('5C4060A3E6CC4A32ADED3252ACD79E82', '0', '0' , '0', '0', 'Master Data France - Payment Methods' , '1.0.100', 'will merge' , 'org.openbravo.france.paymentmethods'); update ad_system_info set last_dbupdate = now(); 1. As system admin, in Module Management window, Scan for updates -> OK: Note and update in Master Data France - Payment Methods is found 2. Click on Install Updates Now -> ERROR: 2022-03-25 07:55:40,438 [http-nio-8080-exec-1] ERROR org.openbravo.erpCommon.ad_forms.ModuleManagement - org.openbravo.base.exception.OBException: org.codehaus.jettison.json.JSONException: JSONObject["dependencies"] is not a JSONArray. org.openbravo.base.exception.OBException: org.openbravo.base.exception.OBException: org.codehaus.jettison.json.JSONException: JSONObject["dependencies"] is not a JSONArray. at org.openbravo.service.centralrepository.ModuleInstallDetail.fromJson(ModuleInstallDetail.java:64) ~[classes/:?] at org.openbravo.erpCommon.modules.VersionUtility.checkRemote(VersionUtility.java:679) ~[classes/:?] at org.openbravo.erpCommon.modules.ImportModule.checkDependenciesId(ImportModule.java:298) ~[classes/:?] at org.openbravo.erpCommon.ad_forms.ModuleManagement.printPageInstall1(ModuleManagement.java:1226) [classes/:?] at org.openbravo.erpCommon.ad_forms.ModuleManagement.doPost(ModuleManagement.java:204) [classes/:?] ... Caused by: org.openbravo.base.exception.OBException: org.codehaus.jettison.json.JSONException: JSONObject["dependencies"] is not a JSONArray. at org.openbravo.service.centralrepository.Module.fromJson(Module.java:116) ~[classes/:?] at org.openbravo.service.centralrepository.Module.fromJson(Module.java:125) ~[classes/:?] at org.openbravo.service.centralrepository.ModuleInstallDetail.fromJson(ModuleInstallDetail.java:58) ~[classes/:?] ... 49 more | |||||||
Proposed Solution | Temporary workaround while the issue is not fixed: manually uninstall the module that will be merged before doing the update. | |||||||
Tags | No tags attached. | |||||||
Attached Files | ||||||||
Relationships [ Relation Graph ] [ Dependency Graph ] | ||||||||
|
Notes | |
(0136045) hgbot (developer) 2022-03-25 11:54 |
Merge Request created: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/546 [^] |
(0136051) hgbot (developer) 2022-03-25 12:00 |
Merge request merged: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/546 [^] |
(0136052) hgbot (developer) 2022-03-25 12:00 |
Directly closing issue as related merge request is already approved. Repository: https://gitlab.com/openbravo/product/openbravo [^] Changeset: 0bc7eadfc6f75eaa9554f243141feb2527126e09 Author: Asier Lostalé <asier.lostale@openbravo.com> Date: 25-03-2022 09:06:32 URL: https://gitlab.com/openbravo/product/openbravo/-/commit/0bc7eadfc6f75eaa9554f243141feb2527126e09 [^] fixes BUG-48894: MMC cannot update a module merging another one When updating a module that is merged, Central Repository replies with an object that does not contain information about its dependencies (as they won't be used anyway). We expected this information to always be available and update crashed when it was not. --- M src/org/openbravo/service/centralrepository/Module.java M src/org/openbravo/service/centralrepository/ModuleDependency.java M src/org/openbravo/service/centralrepository/ModuleInstallDetail.java --- |
Issue History | |||
Date Modified | Username | Field | Change |
2022-03-25 08:15 | alostale | Type | defect => backport |
2022-03-25 08:15 | alostale | Target Version | => PR22Q1.2 |
2022-03-25 11:54 | hgbot | Note Added: 0136045 | |
2022-03-25 12:00 | hgbot | Note Added: 0136051 | |
2022-03-25 12:00 | hgbot | Resolution | open => fixed |
2022-03-25 12:00 | hgbot | Status | scheduled => closed |
2022-03-25 12:00 | hgbot | Fixed in Version | => PR22Q1.2 |
2022-03-25 12:00 | hgbot | Note Added: 0136052 |
Copyright © 2000 - 2009 MantisBT Group |