I was performing a Full content deployment and the Export phase failed with the following error seen in ImportExportLogs:
Exception of type ‘Cobalt.ErrorException’ was thrown.
[2/20/2014 6:44:43 AM] Debug: at Cobalt.Roundtrip.ThrowIfAnyError()
at Cobalt.DataElementGraphOnEndpoint.OnCacheDataElements(CollectionAtom`1 dataElementIds)
at Cobalt.DataElementGraph.GetDataElement(DataElementId dataElementId, Boolean nullIfNotFound, Boolean excludedDataOk)
at Cobalt.DataElementGraph.DataElementNode.EnsureDataElementFullyPopulated()
at Cobalt.ObjectLoadStateInternal.TryGetDataForPartition(PartitionId partitionId, Atom& data)
at Cobalt.ObjectLoadStateInternal.GetDataForPartition(PartitionId partitionId)
at Cobalt.BinaryObjectNode.get_DataForRead()
at Cobalt.GenericFdaGraph.IntermediateNode.FindDataInternal(Range absoluteRangeToFind, UInt64 absoluteOffsetOfThis, Boolean regenerateNodeSignatures, LeafDataNode& leafDataNode, Range& leafNodeAbsoluteRange)
at Cobalt.GenericFdaGraph.IntermediateNode.FindDataInternal(Range absoluteRangeToFind, UInt64 absoluteOffsetOfThis, Boolean regenerateNodeSignatures, LeafDataNode& leafDataNode, Range& leafNodeAbsoluteRange)
at Cobalt.GenericFdaStream.OnReadFromBackingStore(Range rangeToRead, Byte[] buffer, Int32 offset)
at Cobalt.SmartSizingBytesBase.Read(Range rangeToRead, Byte[] buffer, Int32 offset)
at Cobalt.OnDemandBytes.Read(Range rangeToRead, Byte[] buffer, Int32 offset)
at Cobalt.Bytes.Read(Int64 sourcePosition, Byte[] buffer, Int32 offset, Int32 count)
at Cobalt.Bytes.ReadIfPossible(Int64 sourcePosition, Byte[] buffer, Int32 offset, Int32 count)
at Microsoft.SharePoint.LockBytesFromBytes.ReadAt(Int64 offset, Byte* pv, UInt32 cb, UInt32& pcbRead)
at Microsoft.SharePoint.CobaltStream.ReadAt(Int64 offset, Byte* pv, UInt32 cb, UInt32& pcbRead)
[2/20/2014 6:57:23 AM] Progress: Export did not complete.
[2/20/2014 6:57:23 AM] Finish Time: 2/20/2014 6:57:23 AM.
[2/20/2014 6:57:23 AM] Duration: 10:39:04
[2/20/2014 6:57:23 AM] Total Objects: 578346
[2/20/2014 6:57:23 AM] Finished with 686 warnings.
[2/20/2014 6:57:23 AM] Finished with 36 errors.
On checking application event logs on the SharePoint server, I found this:
Critical 2/20/2014 7:03:31 AM SharePoint Foundation 3355 Database
Critical 2/20/2014 7:02:27 AM SharePoint Foundation 3355 Database
Critical 2/20/2014 7:01:24 AM SharePoint Foundation 3355 Database
Critical 2/20/2014 7:00:21 AM SharePoint Foundation 3355 Database
Event log 3355 said:
Log Name: Application
Source: Microsoft-SharePoint Products-SharePoint Foundation
Date: 2/20/2014 7:03:31 AM
Event ID: 3355
Task Category: Database
Level: Critical
Keywords:
User: ***********
Computer: *************
Description:
Cannot connect to SQL Server. *******.production.online.****.com not found. Additional error information from SQL Server is included below.
Connection Timeout Expired. The timeout period elapsed while attempting to consume the pre-login handshake acknowledgement. This could be because the pre-login handshake failed or the server was unable to respond back in time. The duration spent while attempting to connect to this server was – [Pre-Login] initialization=21048; handshake=0;
Turns out that Export will fail with Cobalt exception if there is a network issue or a SQL connectivity issue.
Also, we are using SQL cluster with Always On. SharePoint was having issues connecting to the SQL AGL name (SQL cluster name). So I used the tool cliconfig.exe on both source and destination SharePoint servers to point it to an active individual server of the SQL cluster.
Now the content deployment completed successfully without ‘Cobalt.ErrorException’