ObjectID of an SDE feature class skipping values

1311
3
05-26-2017 09:55 PM
JJD84
by
New Contributor II

I read that the maximum of the ObjectID field is  2,147,483,648,  so as I am on MS SQL Server SDE enabled database am I at risk of consuming this maximum number.  My IDs are already hitting 20000 after 67 features and I plan to roll out this layer via Geocortex to about 500 users to use regularly.  I am a little alarmed, should I be?

https://community.esri.com/groups/geodatabase?sr=search&searchId=4c0b6eb2-c018-40b5-b711-c7121b8d839...https://community.esri.com/community/gis/enterprise-gis?sr=search&searchId=38f76010-ffb3-43e3-b726-8...

0 Kudos
3 Replies
VinceAngelo
Esri Esteemed Contributor

You have the incorrect maximum -- It's 2^31-1 (2,147,483,647).

I've processed billions of rows in various loaders (the largest at 650m rows), and have never seen the rowid grow to 20k after only 67 inserts. Please avoid thread hijack by asking a new question, providing comprehensive detail on the exact release of all software involved and the exact procedure you are using.

- V

0 Kudos
JJD84
by
New Contributor II

Yeah yeah whatever I was out by 1 !!  Its too bad that you removed this from the original post as it is now missing the context from which I had replied to.  That being that ObjectID's were not purely sequential on MSSQL SDE and that each edit session caused ObjectID to jump by ~ 400.  Was that not the discussion in original thread...  So basically my situation would be 2,147,483,647/400 = 5368709 rows before maximum is reached.  All I asked was should I be concerned.

Abrasive day at ESRI HQ huh?  But I do thank you for responding.

VinceAngelo
Esri Esteemed Contributor

Off-by-one errors cause all manner of system crashes. Differentiating between the maximum and overflow values is important, because if you test for the wrong one, you'll never reach it (overflow results in negation, so 2,147,483,647 + 1 = -2,147,483,648). I've done my best to make sure that none of the Esri documentation provides the incorrect value.

I didn't remove this from the parent thread. When I do, I make note of it in both the source and target threads (even though it's much more difficult)

I requested information about your exact procedure to see what could be done to address your problem. I can't tell if you should be alarmed without more information.

- V

0 Kudos