int-basic-oracle - Build # 1812 - Failure:

Check console output at https://ci.openbravo.com/job/int-basic-oracle/1812/ to 
view the results.


Committers since last success:

Changes for Build #1812

    David Miguelez <[email protected]> null
    Related to Issue 35410. Code Review.

Fixes problem when retrieving currency from parameter window.
Also, fixes problem of currency reloading when no organization has been changed.
        src/org/openbravo/erpCommon/ad_reports/ReportParetoProduct.java

    Víctor Martínez Romanos <[email protected]> null
    Fixed issue 35410: Default currency in Pareto Product Report

Set default currency according to the selected organization
        src/org/openbravo/erpCommon/ad_reports/ReportParetoProduct.html
        src/org/openbravo/erpCommon/ad_reports/ReportParetoProduct.java

    Víctor Martínez Romanos <[email protected]> null
    Fixed bug 32493: Pareto Product Report performance refactor

The Pareto Product report had very important performance issues due to the way 
data was retrieved from the database.
Multiple (and unnecessary) sequencial scans were executed on high volume tables 
making the report unusable on real environments.
Besides it has been detected that the information shown was not right: products 
without stock might appear in the report, the percentages were clearly not 
right and the ABC category was also wrong because it was based on wrong 
percentages.

The fix mainly includes a total refactor of the queries, which fixes most of 
the performance issues.
It also adds data aggregation support based on Valued Stock aggregated data, 
which should help to keep the report's performance when the time goes by.

It has been tested that, even without aggregated data, the report performs 
really well on high volume environments. Example: An environment without 
aggregated data and with 7.7E+6 transactions took only 38 seconds to get the 
data for an organization with 250E+3 transactions; before it took "days".

List of important changes:
* Deprecated M_GET_PARETO_ABC function and implemented the same logic directly 
into the SQL query

* Added index on M_TRANSACTION_COST table to the DATEACCT column, which is 
heavily used as a filter criteria for many reports (included Pareto Product)

* Modified index M_VALUED_STOCK_AGG_DATETO on M_VALUED_STOCK_AGG to take into 
account AD_ORG_ID and DATETO. This makes the queries to get data from this 
aggregated table to perform really well.

* Modified ReportParetoProduct_data.xsq select query. This is actually the key 
to get the performance improvement:
 * Usage of window functions to calculate:
  * the total value per organization's warehouse,
  * the percentage per product and organization's warehouse,
  * the accumulated percentage per product and organization's warehouse.

 * The ABC is calculated looking at the accumulated percentage gotten before 
instead of calling the M_GET_PARETO_ABC db function.

 * Reduced the usage of functions in select clause because, although 
individually they are quite fast, they must be executed over multiple records 
thus making the whole query really slow (example 2ms multiplied by 10E3 records 
delays the query 20 seconds!):
  * ad_get_org_le_bu is not needed anymore because the legal entity will be 
always the same for each record in the report. Note that the Pareto's 
organization combo only shows legal entities or child organizations (which only 
have a unique legal entity).
  * c_currency_convert_precision is only called when a currency conversion is 
needed, thus reducing unnecessary overhead.
  * ad_column_identifier calls have been removed. Instead we get static 
(translated) values.

 * Transactions are now filtered by trxprocessdate when the costing rule was 
started, so we avoid to compute legacy records.

 * Although not strictly necessary to get a performance improvement, the query 
has been split in several CTEs, thus making the query more readable and easy to 
maintain.
        src-db/database/model/functions/M_GET_PARETO_ABC.xml
        src-db/database/model/tables/M_TRANSACTION_COST.xml
        src-db/database/model/tables/M_VALUED_STOCK_AGG.xml
        src/org/openbravo/erpCommon/ad_reports/ReportParetoProduct.java
        src/org/openbravo/erpCommon/ad_reports/ReportParetoProduct_data.xsql
        src/org/openbravo/erpCommon/ad_reports/ReportValuationStock.java

    Carlos Aristu <[email protected]> null
    related to issue 35397: add missing javadoc information
        src/org/openbravo/dal/xml/EntityXMLConverter.java




Last 20 lines of the console output:

[...truncated 19518 lines...]
    [junit] Mar 03, 2017 3:27:47 PM 
org.openqa.selenium.remote.ProtocolHandshake createSession
    [junit] INFO: Attempting bi-dialect session, assuming Postel's Law holds 
true on the remote end
    [junit] Mar 03, 2017 3:27:54 PM 
org.openqa.selenium.remote.ProtocolHandshake createSession
    [junit] INFO: Detected dialect: OSS
    [junit] Mar 03, 2017 3:27:54 PM org.openqa.selenium.remote.Augmenter 
extractRemoteWebDriver
    [junit] WARNING: Augmenter should be applied to the instances of 
@Augmentable classes or previously augmented instances only
    [junit] 

BUILD FAILED
/srv/ci/workspace/int-basic-oracle/SANDBOX/automation/pi/build.xml:338: The 
following error occurred while executing this line:
/srv/ci/workspace/int-basic-oracle/SANDBOX/automation/pi/build.xml:77: Test 
com.openbravo.test.integration.erp.testsuites.smoke.SmokeModulesSuite failed

Total time: 78 minutes 4 seconds
Build step 'Execute managed script' marked build as failure
Recording test results
Archiving artifacts
Checking \] ERROR|\] WARN
Email was triggered for: Failure - Any
Sending email for trigger: Failure - Any
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Openbravo-builds mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-builds

Reply via email to