Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This article describes an issue which you may come across in versions before Vesper 6.0. It has been resolved in Vesper 6.1. 

Issue

There is not a namespace condition in the pg_class query. If  If an index with that name exists in another schema (e.g., dev and qa), then PriceAnalyzer Analytics will wrongfully assume the index does not need to be created. This significantly impacts the performance.

This issue happens only in very specific conditions, when there was a partition copy within the same DB, e.g. abc-qa -> abc-dev.  DB level partition copying is usually restricted to dedicated customer instances where the production partition is copied to QA on a regular basis.

...

  1. Check if there are really any missing indexes. 
    Indexes in PostgreSQL are created based on the Datamart configuration. Fields marked as dimension should have corresponding indexes.
    Example:  In the DB table for the Product DS, we expect an index on the column representing the key field in the DS:  

    Paste code macro
        Column     |            Type             |      Description
    ---------------+-----------------------------+---------------------------------
    attribute1     | character varying(255)      | ProductID/Product ID
    
    Index:  "abc-dev_DMDS_Product_uniq_upsert_idx" UNIQUE, btree (attribute1)


  2. Check if you see generally much worse performance in your environment after upgrade to Vesper 6.0.
    If the index is missing, queries and hence jobs are slower, and as a knock-on effect, the DB connection limit can be reached where previously it was not.

...