Jump to content

Recommended Posts

Posted

My first posting.

I'm working on a C++ interface that may need to copy a large amount of data from one machine to another. It does this by connecting to two Archive Data Servers, a source server and a destination server. It connects to these servers via an rpc binding channel. It then begins to copy the data samples for several thousand Tags, one Tag at a time. i.e. Copy Tag 1's 1200 Samples. Next Copy Tag 2's 850 Samples, Next copy Tag 3's 1440 Samples, etc.. for over 5000+ Tags. Each copy is done with an RPC fetch from the source server, followed by an RPC put to the destination server.

Somewhere in the middle of the copy operation an RPC exception is raised and I cannot determine why. Earlier I had a similar problem where it generated an exception for the same Tags every time. This turned out to be due to a short (1/200th second) delay on the Remote source server handler routine. This delay was only performed for specific Tags. It seems that a Sleep(5) was causing the exception??? I removed it and the exceptions stopped.

If I copy small amounts of data it goes without a hitch. But when the data for each Tag involves Tens of Thousands of bytes each, I begin to see an intermittent exception raised. It almost always seems to fail on the RPC Fetch. The Source server (handling the fetch) performs the request and returns success as if there is no problem. I cannot see where the failure occurs. the RPC error is always 1726 (RPC Failure occurred). It's as bad as a -1.

My questions are:

Are RPC calls finicky?

Why would a short delay (sleep(5)) raise an exception?

What type of conflicts should I look for?

Any suggestions would be appreciated.


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...