Calling Developers!
We are reenergizing our code contribution process! Learn More

What are the Slack Archives?

It’s a history of our time together in the Slack Community! There’s a ton of knowledge in here, so feel free to search through the archives for a possible answer to your question.

Because this space is not active, you won’t be able to create a new post or comment here. If you have a question or want to start a discussion about something, head over to our categories and pick one to post in! You can always refer back to a post from Slack Archives if needed; just copy the link to use it as a reference..

How do people deal, in general, with inconsistent data in Yves?

Options
UKGT7RC7P
UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet

How do people deal, in general, with inconsistent data in Yves?

«13

Comments

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet
    Options

    or if people encounter this issue at all?

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet
    Options

    get so many NULL errors which after digging involve missing or inconsistent data

  • UK5DS29L2
    UK5DS29L2 Posts: 546 🧑🏻‍🚀 - Cadet
    Options

    missing comparing to what?

  • UKHD8KTMF
    UKHD8KTMF Posts: 393 🧑🏻‍🚀 - Cadet
    Options

    never had those, sry

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet
    Options

    never had null errors? 🙂

  • UKHD8KTMF
    UKHD8KTMF Posts: 393 🧑🏻‍🚀 - Cadet
    Options

    never had inconsistent data - whatever that means

  • UKHD8KTMF
    UKHD8KTMF Posts: 393 🧑🏻‍🚀 - Cadet
    Options

    I might have removed something and then there was an error in twig or something but that is kinda expected

  • UKHD8KTMF
    UKHD8KTMF Posts: 393 🧑🏻‍🚀 - Cadet
    Options

    but I might be missing what you mean

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet
    Options

    for example, right now I have a product which is being pulled from the product storage and crashing because the abstrat storage data for that product isn't there

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet
    Options

    and it's calling json_decode on NULL

  • UKHD8KTMF
    UKHD8KTMF Posts: 393 🧑🏻‍🚀 - Cadet
    Options

    hmm, ok this is a concrete problem

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet
    Options

    but one way or another related to data inconsistency

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet
    Options

    we have previously thought about a health check or similar which would ensure that the data in Redis / ES is sane

  • UKHD8KTMF
    UKHD8KTMF Posts: 393 🧑🏻‍🚀 - Cadet
    Options

    yes, now i get your point - sync to the storage fails for some reason and you end up in broken state

  • UKHD8KTMF
    UKHD8KTMF Posts: 393 🧑🏻‍🚀 - Cadet
    Options

    I really do not see any solution but having monitoring set up and detecting when product page gets and error

  • UM4BZSK7T
    UM4BZSK7T Posts: 174 🧑🏻‍🚀 - Cadet
    Options

    As far as I know we never had that in Yves as well but we use a heavy custom hack.

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet
    edited May 2020
    Options

    so right now I could override the Spryker class to deal with this eventuality somehow - even if it's an explicit log message and an exception

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet
    Options

    @UM4BZSK7T what is the heavy custom hack? 🙂

  • UM4BZSK7T
    UM4BZSK7T Posts: 174 🧑🏻‍🚀 - Cadet
    Options

    I guess there is nothing left how spryker uses data in Yves as we created templates that putout VueJS stuff. And I can't recall any Redis data being out of sync.

  • UM4BZSK7T
    UM4BZSK7T Posts: 174 🧑🏻‍🚀 - Cadet
    Options

    We have problems with the event system not syncing. But never json decode on NULL

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet
    Options

    yeah, this is just an instance of this type of issue

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet
    edited May 2020
    Options

    previously also had issues with prices etc (on another project)

  • UM4BZSK7T
    UM4BZSK7T Posts: 174 🧑🏻‍🚀 - Cadet
    Options

    Prices for example are found by a call to our ERP and not to Yves afaik

  • UKHD8KTMF
    UKHD8KTMF Posts: 393 🧑🏻‍🚀 - Cadet
    Options

    I also have most experience with heavily customized shops

  • UNBSW8S8K
    UNBSW8S8K Posts: 128 🧑🏻‍🚀 - Cadet
    Options

    Non-existing data in storages is one scenario, wait until you will get to the point where you will reach race-conditions under high load, then it will get fun.

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet
    edited May 2020
    Options

    yeah -- not sure if theres anything to handle f.e. prices being published some time after product data

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet
    Options

    not sure though 😄

  • UNBSW8S8K
    UNBSW8S8K Posts: 128 🧑🏻‍🚀 - Cadet
    edited May 2020
    Options

    When we went for consultation @ spryker, their senior architect stated there is nothing we can do about that. So 🤷‍♂️

  • Andriy Netseplyayev
    Andriy Netseplyayev Domain Lead Solution Architecture Sprykee Posts: 519 🧑🏻‍🚀 - Cadet
    Options

    @UKGT7RC7P but your issue seems like missing event triggers in pub and sync. How did you get to the situation when you have concrete product with missing abstract?

  • UKGT7RC7P
    UKGT7RC7P Posts: 538 🧑🏻‍🚀 - Cadet
    Options

    yeah, this is what I'm investigating now 😉