I made a program to restore Clips, but it failed when it had to restore a sliced blob, with this API log entry:
1233507894384 2009-02-01 17:04:54.384 [debug] 8892.8148 [EXCEPTION] In '..\..\..\src_Win32Dev8\natives\utils\connection\Connection.cpp' at line 565: Exception
message=Error received from send(...)
trace=No trace available
The program just uses BlobRead/BlobWrite for restoring blobs assuming that the remark in the API reference guide:
FPTag_BlobRead() and FPTag_BlobReadPartial() can read this data transparently, which precludes the need for additional application coding."
was valid for restoring (writing) as well.
What is the recommended procedure (function calls) for restoring Clips with sliced blobs?
Should it be possible to restore a sliced blob, writing the blob with FPTag_BlobWrite?
If a restore can only be written with FPTag_BlobWritePartial, will API function(s) be available to read slice information (size and offset for each slice)?
Hi Preben - the retrieval process for sliced blobs is identical to that of those written within a single BlobWrite call i.e. it is transparent and both BlobRead and BlobReadPartial can be used in exactly the same manner.
The error you received is a network error (FP_SOCKET_ERR). You should retry operations when errors of this class are experienced. If these errors are frequent then please check the health of your network and verify that the NIC setting are correct on the Access Nodes.
As indicated, the error occurs during write (restore of Clip with sliced Blob), not during read, and the error is reproduceable. The error occurs when the last block of the first slice is transferred to the Centera and the block size is bigger than the remaining part of the original first slice - probably because the first part of the original second slice is in the same block being written.