Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content
Announcements
Gartner® Magic Quadrant™: 15 YEARS A LEADER - GET THE REPORT
cancel
Showing results for 
Search instead for 
Did you mean: 
Wodge
Partner - Contributor III
Partner - Contributor III

QlikView QMC not reporting reload failure

Hello,

I have of QVDs being generated by QVWs, these QVWs are set to reload every 10-15 minutes. At times, the QVDs get locked and no further data gets loaded.

When I run the QVW manually myself via the QlikView application, I receive an error stating that the QVW project wasn't able to access / write to the QVDs in order to insert additional data into them, but QMC does not report any of these errors at all? It is almost like the QVW keeps moving past the errors and just not storing the data into the QVDs for some reason.

Because of this, we do not get any data stored into the QVDs, but the QVW file 'Date Modified' changes and there are no errors in the QMC against the QVW reload... Attached is the error in QlikView, but QMC reports nothing and shows successful reloads...

Wodge_0-1731083148605.png

Thanks!

 

Labels (2)
2 Solutions

Accepted Solutions
Chip_Matejowsky
Support
Support

Hi @Wodge,

Article How to resolve problems related to locked QVD files may be helpful.

Prior to the error and reload failing, is the last action in the load script a STORE command? If yes, then try adding a SLEEP 5000; immediately after the store. The number is in milliseconds and can be tweaked. This is to give the reload a bit of a breather, as it might be trying to do the Store, finishes and then errors out right after. Hopefully the Sleep would give it a chance to catch up.

Best Regards

Principal Technical Support Engineer with Qlik Support
Help users find answers! Don't forget to mark a solution that worked for you!

View solution in original post

marcus_sommer

Normally leads a failed read/write-statement to a load-error which breaks the load and this should also lead to an error within the executing task. Therefore take a look if the error is anywhere suppressed.

I could imagine that this kind of behaviour is configurable within the QMC - whereby it wouldn't definitely the default one. Within the load you could manage the error-handling with the ERRORMODE which may be helpful to get a scenario like your more stable, for example by embedding the read/write statements in for-loops, like:

set ERRORMODE = 0;

for i = 1 to 5
   store table into table.qvd (qvd);
   if SCRIPTERROR = 0 then
      exit for;
      set ERRORMODE = 1;
   else
      sleep $(i) * 2000;
   end if
next

In regard to the sql-query you need to enable the data-base and/or the driver to return an error if any happens because otherwise Qlik won't know it and is further waiting to get data - until the task-timeout ends it.

View solution in original post

6 Replies
Ray_Strother
Support
Support

Hello ,
1. Confirm that you have antivirus exclusion in place for the Qlikview files and folders.
2. Confirm , using process monitor that nothing is holding the QVD open.

article link:

1. https://community.qlik.com/t5/Official-Support-Articles/File-Access-and-Process-Monitoring-How-to-fi...
Chip_Matejowsky
Support
Support

Hi @Wodge,

Article How to resolve problems related to locked QVD files may be helpful.

Prior to the error and reload failing, is the last action in the load script a STORE command? If yes, then try adding a SLEEP 5000; immediately after the store. The number is in milliseconds and can be tweaked. This is to give the reload a bit of a breather, as it might be trying to do the Store, finishes and then errors out right after. Hopefully the Sleep would give it a chance to catch up.

Best Regards

Principal Technical Support Engineer with Qlik Support
Help users find answers! Don't forget to mark a solution that worked for you!
Wodge
Partner - Contributor III
Partner - Contributor III
Author

Hello Chip,

 

Yes the last action is a STORE command. I was quite confused as to why QMC would not log the error.

I will amend the script and see if that helps.

Thanks!

 

 

Wodge
Partner - Contributor III
Partner - Contributor III
Author

Hello Ray,

Thank you for this, although I am aware why my QVDs keep getting locked. The problem is that this is not as easy to fix as it is easy to unlock the QVDs when the issue does occur. 

The problem I am running into is that QMC does not report the fact that these files are locked which makes this difficult to deal with because more data accumulates and isn't loaded because we are not notified that the reload fails.

Thank you!

Wodge
Partner - Contributor III
Partner - Contributor III
Author

Hello Chip,

Just a question on this, I am fetching data from a SQL database for my QVWs which I found to be the problem. When the connection to the database is interrupted (i.e. the SQL server connection is unstable, on-going network outage, server crashes, etc.), the reload seems to not find a fault with this and keeps on-going, but of course the QVDs are locked as a result.

Why would a 'SLEEP' command help QMC in advising me of any reload errors?

I believe that the failure of a 'STORE' command is not a 'critical' error as if I click 'OK' on the error (as can be seen in the error pop-up), the reload continues until it hits the next 'STORE' command which also fails. Other errors I would run into would usually cause the reload script to fail out-right and not allow me to continue, so I do not see why this does?

Would setting the 'ErrorMode' to 1/2 allow the reload to fail accordingly so that it is logged in QMC as such?

Thanks!

marcus_sommer

Normally leads a failed read/write-statement to a load-error which breaks the load and this should also lead to an error within the executing task. Therefore take a look if the error is anywhere suppressed.

I could imagine that this kind of behaviour is configurable within the QMC - whereby it wouldn't definitely the default one. Within the load you could manage the error-handling with the ERRORMODE which may be helpful to get a scenario like your more stable, for example by embedding the read/write statements in for-loops, like:

set ERRORMODE = 0;

for i = 1 to 5
   store table into table.qvd (qvd);
   if SCRIPTERROR = 0 then
      exit for;
      set ERRORMODE = 1;
   else
      sleep $(i) * 2000;
   end if
next

In regard to the sql-query you need to enable the data-base and/or the driver to return an error if any happens because otherwise Qlik won't know it and is further waiting to get data - until the task-timeout ends it.