Unsolved

This post is more than 5 years old

43 Posts

1033

October 27th, 2010 01:00

Specification Option - Copy on Close

Hi,

I notice this option isn't checked by default when creating a new specification.  I read the Help files and it saids files that are opened won't be replicated/synched until close.  The question is...are ALL files put on hold until the opened files are closed?   OR the other files continue to be replicated/synched as usual?

262 Posts

October 27th, 2010 01:00

Hi,

If the filter driver detects it as an open file, everything will be reserved.

However, this function is not usually used.

43 Posts

October 27th, 2010 15:00

So what you mean is that if I'm running an incremental synch on 10,000 files and one of them is opened, Replistor won't process any of the 10,000 files until that file is closed?  Also, why is it that the function is usually not used?

262 Posts

October 27th, 2010 17:00

Hi,

For example, the file of opened Oracle can synchronize.

Therefore, please sync by default if a problem does not occur.

2 Intern

 • 

106 Posts

October 27th, 2010 17:00

Copy on Close perrofms a delayed sync of the open files.  Assuming this is not a UNC path type Source or Target, RS will wait until the file is closed on the Source and then it sends the entire file, not just the changed bytes of a file.  This can be dangerous if you nave some big files that are opened and closed during the day.  Each time it is closed the entire file must be sent to the Target.  That can use up the network in a hurry.  If the Copy on Close is not checked then Mirroring will only send the changed bytes after the spec is in-sync.  Under most circumstanced RS can replicate changes to open files.

The exception is when the Source node is sync'ing a NAS UNC path.  In that casem Mirroring usually does not work at all and scheduled Syncs are the best alternative.

262 Posts

October 27th, 2010 18:00

Hi,

Only the file of the base is copied when opened to the memory.

Afterward, only the change part of the committing is copied if committed.

Moreover, it depends on the method of preserving the application.

There is a description in FAQ of the manager guide in detail.

Admin's Guide

------------------------------------------------------------------

If a user opens a Word file, makes a minor change to a
document and saves it, does RepliStor only send the changes
to the target? Is it inefficient to send the entire file to the target if
only a tiny portion is changed?
That depends. It is important to note that RepliStor is a slave to the
application. If the application writes 27 bytes, then RepliStor replays
that write of 27 bytes on the target. SQL Server or Outlook only
changes portions of the entire file. They never rewrite the entire file.
In that case, RepliStor does the same thing on the target.
Word and Excel tend to rewrite the file during the save. If RepliStor is
replicating it, the entire file is also rewritten on the target. In general,
Word completely rewrites the file. This is a function of Word, not
RepliStor. RepliStor only replays whatever the application has done.

------------------------------------------------------------------

Therefore, Oracle is not corrupted.

43 Posts

October 27th, 2010 18:00

OK, thanks!  So basically checking the "Copy on Close "option will replicate the entire file once it is closed and can affect network performance if it's a big file.  Unchecking the option will still replicate the changed file even if it is open?  If it replicates just the partial, won't that corrupt the file?  For example if it is a big Oracle datafile we're updating and it only replicates a partial/change of that, won't that corrupt the Oracle datafile?  

262 Posts

October 27th, 2010 18:00

Hi,

Synchronization starts at once only in the base part preserved on NTFS.

The change part will be kept in the kernel cache when committed while the base file is forwarding it.

And, when all the base files are copied, the change part is copied.

43 Posts

October 27th, 2010 18:00

Hm, interesting.  Thanks for the information!!

OK, what we have discussed are files that already exist in the source.  What if I'm copying a NEW Oracle datafile TO the source, does Replistor wait until the file is finished copying to the source before replicating it over to the target?  Or, it starts replicating immediately even if the file isn't done copying?

2 Intern

 • 

106 Posts

October 28th, 2010 05:00

Again assuming we are talking about locally attached drives, not UNC Paths, RepliStor changed the behavior between 6.0 and 6.4.1.  Before the change RS would queue up file operations (changes) until after a sync was complete and then replay the operations starting with the first one after the sync started.

The latest change does it a little differently.  RS now starts a sync and if a file operation comes through for a file that has not yet been sent it will prioritize that file ahead of the other Sync commands and send that entire file ahead of the rest and mirror any subsequent operations for that file.  So, that individual file is bumped to the front of the queue and as soon as that is finished then RS continues with the other files that are not yet in-sync.

There are some rules governing which files are prioritized first but the above is the general rule.

The thing to remember is that once a file has been synched to the Target the following file operations for that file are only the changed bytes, not the entire file.  The only exception is if you choose Copy on Close. If the spec has that enabled then the Syncs will do the same but instead of mirroring only the new/ changed bytes of a file the entire file is again sent to the Target.  Each time a file is closed on the Source then the entire file is sent again and overwrites the file on the Target.  In the case of an Oracle database it is only closed when the Oracle instances is shut down, so the entire database would not be sent until the instance closes the database files.  That means until the instance is shut down the Oracle database files on the Target are "not" in-sync.  It also means that when the files are closed RS will then and only then send the files.  In the case of database files that may take hours to send these large files.

That is why Copy on Close is not a good option for most things.  By far, you should not use Copy on Close for most files and applications.  There are only a couple of special cases where that is a good alternative and is used along with using a Temporary File Name Extension.

JS

0 events found

No Events found!

Top