Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Sharing Violation

Hello Experts,

I am considering isolating publisher from QV server.

Publisher has heavy load that performs many tasks in minutes simultaneously. It's near real time environments.

In that case  if the publisher performs reading the documents which a user is reading, I think it may be resulted in a sharing violation.

If so, is there any way to configure to avoid from a sharing violation ?

Maybe the same machine or separated machine

When QVS with the QDS run on the same server or other servers, do lead to the same result?

Thanks in advance,

WankKi,

1 Solution

Accepted Solutions
Peter_Cammaert
Partner - Champion III
Partner - Champion III

No that's a different ball game.

When trying to read and write a single QVD at the exact same time, one of the applications (QVWs) will inevitably fail. That's why in enterprise production environments, such phases are serialized. For example, a three step data flow would look like:

  1. Extract every table from the data source (RDBMS) and create QVDs = ODS
  2. Read single or multiple source QVDs and create combined or aggregated data QVDs = QDS
  3. Reload all documents (QVWs) that have their QVDs renewed = Report

The publisher will chain these tasks in order 1-2-3 and will only start the next task if the previous one has successfully run to the end  No need to lock things.

If you run QVD creation jobs in parallel, use task dependencies to let the next phase start only when the last of the QVD creation tasks has finished.

View solution in original post

7 Replies
Peter_Cammaert
Partner - Champion III
Partner - Champion III

There won't be any sharing violations.

End-users are reading/consulting documents from memory.

Publisher is reading documents from disk, and even then there won't be any conflict since the publisher works in stages (read & reload source document, NOT user document, save to temporary file, lock user document and write temporary file over user document)

Whether QVS and QDS run on the same or or a different machine makes no difference.

Peter

SunilChauhan
Champion
Champion

This error comes on saving document

if you get sharing voilation.then try to load it again it will not give you same error

Sunil Chauhan
Not applicable
Author

Thank you so much for your quick response.

If publisher is reloading to QVD file and user QVW reads from same QVD , is it same result ?

So publisher execute so many tasks in the same time in minutes, it is near real time environments.

When customers perform specific analysis, QVW reads the data from the QVD in real time.

In this case, is there no lock for QVD ?


Thanks,


WanKi,

Not applicable
Author

Thank your for your reply.

What I wanna know is about locking.

Customer is worried about this question.

Thanks,

WanKi,

Peter_Cammaert
Partner - Champion III
Partner - Champion III

No that's a different ball game.

When trying to read and write a single QVD at the exact same time, one of the applications (QVWs) will inevitably fail. That's why in enterprise production environments, such phases are serialized. For example, a three step data flow would look like:

  1. Extract every table from the data source (RDBMS) and create QVDs = ODS
  2. Read single or multiple source QVDs and create combined or aggregated data QVDs = QDS
  3. Reload all documents (QVWs) that have their QVDs renewed = Report

The publisher will chain these tasks in order 1-2-3 and will only start the next task if the previous one has successfully run to the end  No need to lock things.

If you run QVD creation jobs in parallel, use task dependencies to let the next phase start only when the last of the QVD creation tasks has finished.

Peter_Cammaert
Partner - Champion III
Partner - Champion III

BTW reading a QVD requires no locking. Many documents can be reloaded from the same QVD at the same time. It's the QVW writing that you have to be careful with.

Not applicable
Author

Thank you for your reply.

WanKi,