English

Error: Cannot rebuild network connectivity. A network feature has a network element whose id is larger than the maximum eid value in the PROPS table

Error Message

Executing the Rebuild Connectivity tool with ArcGIS for Desktop results in the following error:

"Cannot rebuild network connectivity. A network feature has a network element whose id is larger than the maximum eid value in the PROPS table."

Cause

Using the Rebuild Connectivity tool returns the error message when there is a geometric network that contains features and their corresponding network elements in an inconsistent state.

Additional symptoms may be encountered when performing a trace operation or editing the features that are inconsistent.

The underlying software cause of this error, getting the Geometric Network into an inconsistent state, has been tracked back to two access patterns:

1. The first access pattern is using Python as a headless application, which starts and stops edit sessions manually.

Code:
edit.startEditing(False, True)
edit.startOperation()

arcpy.Append_management(inputFC, targetFC)

edit.stopOperation()
edit.stopEditing(True)


Within the Append_management tool, references to the Geometric Network classes are being released, and by the time stopEditing(True) is called, the geodatabase is unable to message the logical network and the network can end up in an inconsistent state.
2. The second pattern is using ArcObjects, and releasing all of the memory pointing to all of the classes of a geometric network that have been opened and edited in the edit session prior to the call to StopEditing(true).

Code:
IWorkspace sdeWorkspace = sdeWorkspaceFactory.Open(connectionPropertySet, 0);

IFeatureClass featureClass = ((IFeatureWorkspace)sdeWorkspace).OpenFeatureClass("testClass");

IWorkspaceEdit wksEdit = (IWorkspaceEdit)sdeWorkspace;
wksEdit.StartEditing(true);
wksEdit.StartEditOperation();

//Create a new feature
IFeature feature = featureClass.CreateFeature();
feature.Shape = new Point { X = 2212251.70, Y = 398125.168 };
feature.Store();

//De-reference the feature class, and feature which were edited, prior to calling StopEditing()
while (Marshal.ReleaseComObject(feature) > 0) { };
while (Marshal.ReleaseComObject(featureClass) > 0) { };

wksEdit.StopEditOperation();
wksEdit.StopEditing(true);


By de-referencing all of the edited classes and objects prior to stop editing, the logical network under the geometric network is not messaged correctly and inconsistencies can be written to the network's tables.

Solution or Workaround

Patches have been released to prevent these inconsistencies from occurring. These patches also make improvements to the Verify, Repair, and Rebuild connectivity tools to identify and fix issues where the MAX EID is out of sync within network system tables. Note the following:

• Versions 10.2 and 10.3 will not be patched.
• Customers on 10.2 are encouraged to move to 10.2.1 or 10.2.2.
• Customers on 10.3 are encouraged to move to 10.3.1.

Versions 10.3.1, 10.2.2, 10.1 SP1 QIP or 10 SP5:
ArcGIS for (Desktop, Engine, Server) Geometric Network Geoprocessing Update Patch

Version 10.2.1:
ArcGIS 10.2.1 for (Desktop, Engine, Server) Utilities and Telecom Update 3 Patch