10.2 Version Reconcile Order: Grandchild Versions

2404
3
11-08-2013 01:29 PM
847396730
Occasional Contributor III
Hello!  I have a python script which reconciles all of our 72 versions in the recommended order, then compresses.  I notice, in the resultant log, that it reconciles "grandchild" versions with Default--not with the parent.  This is not consistent with my understanding of proper ArcSDE reconcile ordering.

I would benefit from other ArcSDE folks' thoughts on these "grandchildren."

Thank you!
0 Kudos
3 Replies
LeoDonahue
Regular Contributor
Marianne,

You could provide some information to help you get a response.

What version of Desktop/SDE do you have?  10.0 or 10.2?
Can you provide a snippet of your python code?
Can you verify that the grandchildren versions were indeed created from their parent versions and not from the default version?
0 Kudos
MarcoBoeringa
MVP Regular Contributor
Hello!  I have a python script which reconciles all of our 72 versions in the recommended order, then compresses.  I notice, in the resultant log, that it reconciles "grandchild" versions with Default--not with the parent.  This is not consistent with my understanding of proper ArcSDE reconcile ordering.

I would benefit from other ArcSDE folks' thoughts on these "grandchildren."

Thank you!


You may be mis-interpreting the significance of "reconcile order". In any batch reconciliation & post, there can be only one target version (as you set it on the dialog). It seems you set the DEFAULT as the target, hence all edit versions, including grandchild, grandgrandchilds and so on, will be posted against DEFAULT, not against each other based on child-parent version relationship.

See also this recent discussion I had with another forum poster, where I initially made the same thought error in post no. 13, but corrected this in post no. 16:

Sequence of reconcile/post from multiple versions to default ArcSDE geodatabase

You may find reading the discussion in that thread (and also the links to (ESRI) documents and webpages about versioning in there) from the start a help in better understanding the process.

By the way, "versioning" and "reconciliation" can be mind-boggling at times, and even if you get it straight once, you may get confused another time... it takes time to really familiarize yourself with all the details involved.
0 Kudos
847396730
Occasional Contributor III
Hello!  Our SDE is at version 10.0, the python code is below, and the grandchildren were indeed created from their parent versions and not from the default version.

Prior to our migration to 10.2, we wrote and ran nightly an "Auto Batch Reconciler," (VB.net), which reconciled grandchildren to their parent, and the parents to Default.  We have not [yet] re-compiled the Auto Batch Reconciler to work with 10.2, choosing instead to use Python and the "recommended order." 

I can't decide if there is a good reason to recompile the ABR, or if reconciling the grandchildren to Default is sufficient.  The immediate impact is: grandchildren will be ignorant of their parent's and their sibling's modifications until the user manually reconciles against the parent.  I'm afraid it could result in erroneous conflicts.

import arcpy
import time

timestr = time.strftime("%Y%b%d-%I%M%S%p")
LogFilePath = '\\\abcsrv\\staff\\Administrative\\GISsoftware\\SDE_SQL_Server_Information\\PROD\\ReconcileVersionsLogs'
final = LogFilePath + "\\" + timestr + ".txt"

# Get a list of versions to pass into the ReconcileVersions tool.
versionList = arcpy.ListVersions('\\\abcsrv\\staff\\ArcGIS_Scripts\\Script_Files\\SDE_Connection_Files\\PROD_SDE.sde')

# Execute the ReconcileVersions tool.
arcpy.ReconcileVersions_management('\\\abcsrv\\staff\\ArcGIS_Scripts\\Script_Files\\SDE_Connection_Files\\PROD_SDE.sde', "BLOCKING_VERSIONS", "sde.DEFAULT", versionList, "NO_LOCK_ACQUIRED", "ABORT_CONFLICTS", "BY_OBJECT", "FAVOR_TARGET_VERSION", "NO_POST", "KEEP_VERSION", final)

# Compress the geodatabase
arcpy.Compress_management('\\\abcsrv\\staff\\ArcGIS_Scripts\\Script_Files\\SDE_Connection_Files\\PROD_SDE.sde')

print "versions have been reconciled, database has been compressed"
0 Kudos