Validation Callbacks
 

Validation Callbacks

13 posts, 0 answered
  1. Roger Blanchard
    Roger Blanchard avatar
    381 posts
    Registered:
    29 Jun 2018
    06 Dec 2019
    Link to this post
    Has anyone ever seen these call backs in the DataAccess class not get called randomly?

  2. Mike Fechner
    Mike Fechner avatar
    319 posts
    Registered:
    14 Sep 2016
    07 Dec 2019 in reply to Roger Blanchard
    Link to this post
    I'm not aware of any issues there. 

    So in the same DA they are sometimes called and sometimes not?
  3. Roger Blanchard
    Roger Blanchard avatar
    381 posts
    Registered:
    29 Jun 2018
    07 Dec 2019 in reply to Mike Fechner
    Link to this post
    Exactly. I discovered this while performing some stress testing of our POS DB SyncManager. As I was troubleshooting I also discovered that the dataset model class was being created over and over instead of reused. I changed this to only create the class once and the problem has gone away. I was surprised by this as I thought I would just see a performance issue by NEWING over and over.

    After making the change it has not failed since. I will be testing more next week.
  4. Mike Fechner
    Mike Fechner avatar
    319 posts
    Registered:
    14 Sep 2016
    07 Dec 2019 in reply to Roger Blanchard
    Link to this post
    That smells extremely buggy somewhere...

    You are talking about the BEFORE-FILL, AFTER-FILL, BEFORE-ROW-FILL, AFTER-ROW-FILL callbacks? 

    I'd double check that the DefineReadEvents method is called (using the 4GLTrace log entry type). But the execution of the callbacks is basically ABL behavior that we have little influence on. But one of the two must fail.
  5. Roger Blanchard
    Roger Blanchard avatar
    381 posts
    Registered:
    29 Jun 2018
    07 Dec 2019 in reply to Mike Fechner
    Link to this post
    I was referring to the validation methods in the DA. I mistakenly called them callback events...sorry.

    For example, in my EJournalDataAccess.cls I have eEJournalCreateBeginTrans defined that I use to call some processing logic. This method will not get called sporadically. In my test I am creating an EJournal record 351 times and it will fail maybe 3 times.

  6. Mike Fechner
    Mike Fechner avatar
    319 posts
    Registered:
    14 Sep 2016
    07 Dec 2019 in reply to Roger Blanchard
    Link to this post
    Any chance you execute this with log entry types 4gltrace:4 and 4glmessages?
  7. Roger Blanchard
    Roger Blanchard avatar
    381 posts
    Registered:
    29 Jun 2018
    07 Dec 2019 in reply to Mike Fechner
    Link to this post
    I did yesterday but can do so again on Monday unless I have time a bit later.

    I assume you want me to execute that when the code that fails is in place.

  8. Mike Fechner
    Mike Fechner avatar
    319 posts
    Registered:
    14 Sep 2016
    07 Dec 2019 in reply to Roger Blanchard
    Link to this post
    That would be helpful
  9. Roger Blanchard
    Roger Blanchard avatar
    381 posts
    Registered:
    29 Jun 2018
    07 Dec 2019 in reply to Mike Fechner
    Link to this post
    Okay, will do.
  10. Roger Blanchard
    Roger Blanchard avatar
    381 posts
    Registered:
    29 Jun 2018
    09 Dec 2019 in reply to Mike Fechner
    Link to this post
    I have duplicated again and again. Do you want me to email you the logs or open a support ticket?
  11. Mike Fechner
    Mike Fechner avatar
    319 posts
    Registered:
    14 Sep 2016
    09 Dec 2019 in reply to Roger Blanchard
    Link to this post
    Please create a ticket. 
  12. Roger Blanchard
    Roger Blanchard avatar
    381 posts
    Registered:
    29 Jun 2018
    09 Dec 2019 in reply to Mike Fechner
    Link to this post
    okay, will do soon.

    thanks.
  13. Roger Blanchard
    Roger Blanchard avatar
    381 posts
    Registered:
    29 Jun 2018
    09 Dec 2019 in reply to Mike Fechner
    Link to this post
    ticket created with log files uploaded. I sent log files when it works and when it fails.
13 posts, 0 answered