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

View Issue DetailsJump to Notes ] Issue History ] Print ]
ID
0051068
TypeCategorySeverityReproducibilityDate SubmittedLast Update
feature request[Openbravo ERP] A. Platformmajorhave not tried2022-12-05 14:592022-12-21 08:23
ReportershuehnerView Statuspublic 
Assigned Toshuehner 
PrioritynormalResolutionfixedFixed in VersionPR23Q1
StatusclosedFix in branchFixed in SCM revision
ProjectionnoneETAnoneTarget VersionPR23Q1
OSAnyDatabaseAnyJava version
OS VersionDatabase versionAnt version
Product VersionSCM revision 
Review Assigned To
Web browser
ModulesCore
Regression level
Regression date
Regression introduced in release
Regression introduced by commit
Triggers an Emergency PackNo
Summary

0051068: Block direct upgrades from version older than 16Q1 to latest version

DescriptionDirect upgrades from very old version require to keep extra code around just for that purpose.
Blocking possibility to block direct updates allows to cleanup that code.

This issue adds a buildvalidation to refuse updating if the old version is older than 16Q1.
Effect is that direct upgrades to the version which includes this issue (23Q1) are not possible and instead an error message is shown.

This indirectly also blocks (direct) migration from old 2.50 major release. However 2.50 migration typically include running the APRM migration tool which is no longer possible since the 18Q4 release. So this change here does not add any extra restriction for 2.50 migrations.

Instances which should be affected by this change can still upgrade but need to go via some intermediate version.

Example:
- First upgrade to a at most 22Q4 release
- Then 2nd upgrade to move ahead to the latest version
Steps To Reproduce-
Proposed SolutionAdd build-validation running if old version is < 16Q4 which shows an error message explaining that direct upgrades are no longer possible (but going via intermediate version is still an option)
Message shown is via wiki link:
http://wiki.openbravo.com/wiki/RestrictOldDirectUpdates [^]
TagsNo tags attached.
Attached Files

- Relationships Relation Graph ] Dependency Graph ]
blocks defect 0051069 closedshuehner Openbravo ERP Cleanup (delete) all buildvalidations only required for updates from <16Q1 
blocks defect 0051070 closedshuehner Retail Modules Review and probably remove obsolete buildvalidation DuplicatedPosTerminalPaymentType 
blocks defect 0051071 closedshuehner Retail Modules Cleanup (delete) all modulescript not running on install and only required for updates from <16Q1 
blocks defect 0051073 closedshuehner Openbravo ERP Delete obsolete code from prescript-* from before 2.50MP4 
blocks defect 0051152 closedshuehner Openbravo ERP Review and remove modulescripts only required for updates from <16Q1 - platform 
blocks defect 0051153 closedshuehner Openbravo ERP Review and remove modulescripts only required for updates from <16Q1 - omni 
blocks defect 0053029 closedshuehner Openbravo ERP Review and remove modulescripts only required for updates from <16Q1 - omni - part2 
blocks defect 0053170 closedshuehner Openbravo ERP Review and remove modulescripts only required for updates from <16Q1 - omni - part3 

-  Notes
(0144425)
hgbot (developer)
2022-12-05 17:13

Merge Request created: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/779 [^]
(0144493)
shuehner (administrator)
2022-12-09 11:49

Testplan:
1.) Test upgrade from version older than 16Q1
1.a) Install 15Q4.6
git checkout 3.0PR15Q4.6
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
# Note: can be done with pg10 (works good enough for our purpose)
ant setup
ant install.source
1.b) Switch to git master containing this change
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/
ant buildvalidation
1.c) Verify expected behavior:
- Error message is shown about updates not being possible
- This buildvalidation is run first as is blocking the process

2.) Test upgrade from version 16Q1
2.a) Install 16Q1
git checkout 3.0PR16Q1
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
# Note: can be done with pg10 (works good enough for our purpose)
ant setup
ant install.source
1.b) Switch to git master containing this change
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/
ant buildvalidation
1.c) Expected: Error message is not shown
(0144636)
hgbot (developer)
2022-12-14 09:45

Merge request merged: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/779 [^]
(0144637)
hgbot (developer)
2022-12-14 09:45

Directly closing issue as related merge request is already approved.

Repository: https://gitlab.com/openbravo/product/openbravo [^]
Changeset: fa4f6bb422d544dd22fe1bddfe9ac8f3a083bdb4
Author: Stefan Huehner <stefan.huehner@openbravo.com>
Date: 14-12-2022 08:45:08
URL: https://gitlab.com/openbravo/product/openbravo/-/commit/fa4f6bb422d544dd22fe1bddfe9ac8f3a083bdb4 [^]

Fixes ISSUE-51068: Block update from version older than 16Q1

Block updates coming from versions older than 16Q1 by adding a
buildvalidation to detect those cases and error out with a message.

Buildvalidation has an ExecutionLimit of 3.0.28207 which is exactly
16Q1.
ExecutionLimits are checked with < comparison which gives the wanted
behavior:
- Validation is running if old version is <16Q1
- But no longer running if it is already 16Q1 (or higher)

Additionally modify BuildValidationHandler declaring that this new check
should be run first before other validation:
- Conceptually makes sense to raise this first (before any data
  checks)
- Technically needed as in some (ratr) cases other buildvalidations
  already modify data (related to the upgrade process)
  i.e. RemoveCostingRuleProcessExecutions
  So check and block the update process as first step.
- ant target buildvalidation depends on core.lib which ensures the
  modified handler to be compiled before this new check is ran.

The buildvalidation committed .class file is compiled for Java11 with is
min version supported right now. For the upgrade process that is
already required anyway as i.e.:
- build.xml blocks version < Java 11 already
- dbsourcemanager.jar is also compiled for Java11
So that does not introduce any new restriction for those upgrades.

Wiki page is added with info for affected users and a table of added
restrictions (in case more come in future):
http://wiki.openbravo.com/wiki/RestrictOldDirectUpdates [^]

---
A src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/RestrictOldDirectUpdates.class
A src-util/buildvalidation/src/org/openbravo/buildvalidation/RestrictOldDirectUpdates.java
M src-core/src/org/openbravo/buildvalidation/BuildValidationHandler.java
---
(0144655)
hgbot (developer)
2022-12-14 10:29

Repository: https://gitlab.com/openbravo/product/openbravo [^]
Changeset: a48a6d97644629340031d6ab80a58145e9db424e
Author: Stefan Huehner <stefan.huehner@openbravo.com>
Date: 14-12-2022 09:29:47
URL: https://gitlab.com/openbravo/product/openbravo/-/commit/a48a6d97644629340031d6ab80a58145e9db424e [^]

Related to ISSUE-51069: Delete obsolete buildvalidations from <16Q1

ISSUE-51068 blocks direct updates from before 3.0 16Q1
That allows to delete any buildvalidation with an EndVersion <=16Q1 as
they will never trigger.

---
R modules/org.openbravo.advpaymentmngt/build/classes/org/openbravo/advpaymentmngt/buildvalidation/TransactionsWithMissingData.class
R modules/org.openbravo.advpaymentmngt/build/classes/org/openbravo/advpaymentmngt/buildvalidation/TransactionsWithMissingDataData.class
R modules/org.openbravo.advpaymentmngt/build/classes/org/openbravo/advpaymentmngt/buildvalidation/UniquePaymentForTransaction.class
R modules/org.openbravo.advpaymentmngt/build/classes/org/openbravo/advpaymentmngt/buildvalidation/UniquePaymentForTransactionData.class
R modules/org.openbravo.advpaymentmngt/build/classes/org/openbravo/advpaymentmngt/buildvalidation/UnpostRefundPayments.class
R modules/org.openbravo.advpaymentmngt/build/classes/org/openbravo/advpaymentmngt/buildvalidation/UnpostRefundPaymentsData.class
R modules/org.openbravo.advpaymentmngt/build/classes/org/openbravo/advpaymentmngt/buildvalidation/WrongPaymentScheduleDetailsCheck.class
R modules/org.openbravo.advpaymentmngt/build/classes/org/openbravo/advpaymentmngt/buildvalidation/WrongPaymentScheduleDetailsCheckData.class
R modules/org.openbravo.advpaymentmngt/src-util/buildvalidation/src/org/openbravo/advpaymentmngt/buildvalidation/TransactionsWithMissingData.java
R modules/org.openbravo.advpaymentmngt/src-util/buildvalidation/src/org/openbravo/advpaymentmngt/buildvalidation/TransactionsWithMissingData_data.xsql
R modules/org.openbravo.advpaymentmngt/src-util/buildvalidation/src/org/openbravo/advpaymentmngt/buildvalidation/UniquePaymentForTransaction.java
R modules/org.openbravo.advpaymentmngt/src-util/buildvalidation/src/org/openbravo/advpaymentmngt/buildvalidation/UniquePaymentForTransaction_data.xsql
R modules/org.openbravo.advpaymentmngt/src-util/buildvalidation/src/org/openbravo/advpaymentmngt/buildvalidation/UnpostRefundPayments.java
R modules/org.openbravo.advpaymentmngt/src-util/buildvalidation/src/org/openbravo/advpaymentmngt/buildvalidation/UnpostRefundPayments_data.xsql
R modules/org.openbravo.advpaymentmngt/src-util/buildvalidation/src/org/openbravo/advpaymentmngt/buildvalidation/WrongPaymentScheduleDetailsCheck.java
R modules/org.openbravo.advpaymentmngt/src-util/buildvalidation/src/org/openbravo/advpaymentmngt/buildvalidation/WrongPaymentScheduleDetailsCheck_data.xsql
R modules/org.openbravo.advpaymentmngt/src-util/buildvalidation/src/src/org/openbravo/advpaymentmngt/buildvalidation/TransactionsWithMissingDataData.java
R modules/org.openbravo.advpaymentmngt/src-util/buildvalidation/src/src/org/openbravo/advpaymentmngt/buildvalidation/UniquePaymentForTransactionData.java
R modules/org.openbravo.advpaymentmngt/src-util/buildvalidation/src/src/org/openbravo/advpaymentmngt/buildvalidation/UnpostRefundPaymentsData.java
R modules/org.openbravo.advpaymentmngt/src-util/buildvalidation/src/src/org/openbravo/advpaymentmngt/buildvalidation/WrongPaymentScheduleDetailsCheckData.java
R src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/AccountingTabs.class
R src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/AccountingTabsData.class
R src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/CheckUpdateConnectionPoolMerge.class
R src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/DuplicateDocExchangeRate.class
R src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/DuplicateDocExchangeRateData.class
R src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/DuplicatedJavaPackage.class
R src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/DuplicatedJavaPackageData.class
R src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/DuplicatedOrgWarehouse.class
R src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/DuplicatedOrgWarehouseData.class
R src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/DuplicatedPriceListVersion.class
R src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/DuplicatedPriceListVersionData.class
R src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/GLJournalAccountingCheck.class
R src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/GLJournalAccountingCheckData.class
R src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/PaymentGLItemCheck.class
R src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/PaymentGLItemCheckData.class
R src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/PreferenceConflict.class
R src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/PreferenceConflictData.class
R src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/RemoveCostingRuleProcessExecutions.class
R src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/RemoveCostingRuleProcessExecutionsData.class
R src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/User1Ready.class
R src-util/buildvalidation/build/classes/org/openbravo/buildvalidation/User1ReadyData.class
R src-util/buildvalidation/build/javasqlc/src/org/openbravo/buildvalidation/DuplicatedOrgWarehouseData.java
R src-util/buildvalidation/src/org/openbravo/buildvalidation/AccountingTabs.java
R src-util/buildvalidation/src/org/openbravo/buildvalidation/AccountingTabs_data.xsql
R src-util/buildvalidation/src/org/openbravo/buildvalidation/CheckUpdateConnectionPoolMerge.java
R src-util/buildvalidation/src/org/openbravo/buildvalidation/DuplicateDocExchangeRate.java
R src-util/buildvalidation/src/org/openbravo/buildvalidation/DuplicateDocExchangeRate_data.xsql
R src-util/buildvalidation/src/org/openbravo/buildvalidation/DuplicatedJavaPackage.java
R src-util/buildvalidation/src/org/openbravo/buildvalidation/DuplicatedJavaPackage_data.xsql
R src-util/buildvalidation/src/org/openbravo/buildvalidation/DuplicatedOrgWarehouse.java
R src-util/buildvalidation/src/org/openbravo/buildvalidation/DuplicatedOrgWarehouse_data.xsql
R src-util/buildvalidation/src/org/openbravo/buildvalidation/DuplicatedPriceListVersion.java
R src-util/buildvalidation/src/org/openbravo/buildvalidation/DuplicatedPriceListVersion_data.xsql
R src-util/buildvalidation/src/org/openbravo/buildvalidation/GLJournalAccountingCheck.java
R src-util/buildvalidation/src/org/openbravo/buildvalidation/GLJournalAccountingCheck_data.xsql
R src-util/buildvalidation/src/org/openbravo/buildvalidation/PaymentGLItemCheck.java
R src-util/buildvalidation/src/org/openbravo/buildvalidation/PaymentGLItemCheck_data.xsql
R src-util/buildvalidation/src/org/openbravo/buildvalidation/PreferenceConflict.java
R src-util/buildvalidation/src/org/openbravo/buildvalidation/PreferenceConflict_data.xsql
R src-util/buildvalidation/src/org/openbravo/buildvalidation/RemoveCostingRuleProcessExecutions.java
R src-util/buildvalidation/src/org/openbravo/buildvalidation/RemoveCostingRuleProcessExecutions_data.xsql
R src-util/buildvalidation/src/org/openbravo/buildvalidation/User1Ready.java
R src-util/buildvalidation/src/org/openbravo/buildvalidation/User1Ready_data.xsql
---
(0144857)
hgbot (developer)
2022-12-21 08:23

Repository: https://gitlab.com/openbravo/product/openbravo [^]
Changeset: 9bffaae704fce4c0b5e8d5967a8524180bcd491d
Author: Stefan Huehner <stefan.huehner@openbravo.com>
Date: 21-12-2022 07:23:31
URL: https://gitlab.com/openbravo/product/openbravo/-/commit/9bffaae704fce4c0b5e8d5967a8524180bcd491d [^]

fixed ISSUE-51152: Delete obsolete modulescripts

These scripts only ran on updates before MP16
ISSUE-51068 blocks updates from <16Q1 causing it to never run on
updates anymore.

---
R src-util/modulescript/build/classes/org/openbravo/modulescript/ConvertImages.class
R src-util/modulescript/build/classes/org/openbravo/modulescript/DeleteRedundantTranslations.class
R src-util/modulescript/build/classes/org/openbravo/modulescript/DeleteRedundantTranslationsData.class
R src-util/modulescript/build/classes/org/openbravo/modulescript/InitializeAlertStatus.class
R src-util/modulescript/build/classes/org/openbravo/modulescript/InitializeAlertStatusData.class
R src-util/modulescript/build/classes/org/openbravo/modulescript/PgJdbcDatesIssue.class
R src-util/modulescript/build/classes/org/openbravo/modulescript/PgJdbcDatesIssueData.class
R src-util/modulescript/build/classes/org/openbravo/modulescript/UpdateEmailPasswords.class
R src-util/modulescript/build/classes/org/openbravo/modulescript/UpdateEmailPasswordsData.class
R src-util/modulescript/build/classes/org/openbravo/modulescript/UpgradeToPocEmail.class
R src-util/modulescript/build/classes/org/openbravo/modulescript/UpgradeToPocEmailData.class
R src-util/modulescript/src/org/openbravo/modulescript/ConvertImages.java
R src-util/modulescript/src/org/openbravo/modulescript/DeleteRedundantTranslations.java
R src-util/modulescript/src/org/openbravo/modulescript/DeleteRedundantTranslations_data.xsql
R src-util/modulescript/src/org/openbravo/modulescript/InitializeAlertStatus.java
R src-util/modulescript/src/org/openbravo/modulescript/InitializeAlertStatus_data.xsql
R src-util/modulescript/src/org/openbravo/modulescript/PgJdbcDatesIssue.java
R src-util/modulescript/src/org/openbravo/modulescript/PgJdbcDatesIssue_data.xsql
R src-util/modulescript/src/org/openbravo/modulescript/UpdateEmailPasswords.java
R src-util/modulescript/src/org/openbravo/modulescript/UpdateEmailPasswords_Data.xsql
R src-util/modulescript/src/org/openbravo/modulescript/UpgradeToPocEmail.java
R src-util/modulescript/src/org/openbravo/modulescript/UpgradeToPocEmail_Data.xsql
---

- Issue History
Date Modified Username Field Change
2022-12-05 14:59 shuehner New Issue
2022-12-05 14:59 shuehner Assigned To => Triage Platform Base
2022-12-05 14:59 shuehner Modules => Core
2022-12-05 14:59 shuehner Triggers an Emergency Pack => No
2022-12-05 14:59 shuehner Issue generated from 0048466
2022-12-05 14:59 shuehner Assigned To Triage Platform Base => shuehner
2022-12-05 15:05 shuehner Relationship added blocks 0051069
2022-12-05 15:59 shuehner Relationship added blocks 0051070
2022-12-05 16:38 shuehner Relationship added blocks 0051071
2022-12-05 17:13 hgbot Note Added: 0144425
2022-12-05 17:22 shuehner Relationship added blocks 0051073
2022-12-09 11:49 shuehner Note Added: 0144493
2022-12-13 14:37 shuehner Target Version => PR23Q1
2022-12-13 14:39 shuehner Proposed Solution updated
2022-12-14 09:45 hgbot Resolution open => fixed
2022-12-14 09:45 hgbot Status new => closed
2022-12-14 09:45 hgbot Note Added: 0144636
2022-12-14 09:45 hgbot Fixed in Version => PR23Q1
2022-12-14 09:45 hgbot Note Added: 0144637
2022-12-14 10:29 hgbot Note Added: 0144655
2022-12-14 13:29 shuehner Relationship added blocks 0051152
2022-12-15 11:26 shuehner Relationship added blocks 0051153
2022-12-21 08:23 hgbot Note Added: 0144857
2023-07-21 16:14 shuehner Relationship added blocks 0053029
2023-08-06 13:32 shuehner Relationship added blocks 0053170


Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker