Fix database time creep problem with new UNID algorithm 
Use this IdeaSpace to post ideas about Domino Server.

: 21
: 21
: 0
: Domino Server / Data Storage and Management
: database, unid, time_creep
: Nick Radov1404 13 Feb 2008
: / Email
There is a long-standing design flaw with how the Domino database engine assigns universal IDs to new documents. For details see IBM Reference # 1089161 (that document was written for 4.6 and 5.0 but the same problem is still present in 8.0). Domino uses a time stamp to allocate unique UNIDs. But since the clock ticks only once per 10ms, if a program creates multiple documents during that period then time in the affected database will creep into the future.
On our production systems we have seen time creep of up to three hours in certain databases during extended periods of heavy activity. The symptom you see is documents that appear to have been created in the future.
I have discussed this problem with some IBM developers and they would like to fix it, but haven't done so yet because it would require a lot of work. As server hardware gets faster this problem is only going to grow more serious. It should be possible to fix the UNID generation algorithm so that it doesn't rely only on a time stamp.

1) Jesper Kiaer260 (26 Jun 2008)
I agree 100%. It should have been fixed a long time ago.

/Jesper Kiaer
2) Ivan Tsybanenko91 (03 Apr 2012)
The problem to simple resolve this problem with algorithm changing is storing @Created data directly in UNID. If you change UNID programmatically (you can do it by NotesDocument.UniversalID = "NewUNID") you change documant creation time simultaneously.
3) Nick Radov1404 (03 Apr 2012)
@Ivan Tsybanenko: Your suggestion wouldn't work because it wouldn't ensure that UNIDs remained unique in a database. Specifically it wouldn't properly handle two documents created within the same clock tick.


Welcome to IdeaJam

You can run IdeaJam™ in your company. It's easy to install, setup and customize. Your employees, partners and customers will immediately see results.

Use IdeaJam to:

  • Collect ideas from employees
  • Solicit feedback and suggestions from employees and customers
  • Run innovation contests and competitions
  • Validate concepts
  • Use the power of "crowd-sourcing" to rank ideas and allow the best ideas to rise to the top

IdeaJam™ works with:

  • IBM Connections
  • IBM Lotus Quickr
  • Blogs and Wikis
  • Websphere Portal
  • Microsoft Sharepoint
  • and other applications.

IdeaJam has an extensive set of widgets and API's that allow you to extend and integrate IdeaJam™ with other applications.

Learn more about IdeaJam >>

IdeaJam developed by

Elguji Software Logo