From 9452e6e93128f70a3ca7102c695281d2ea786b9a Mon Sep 17 00:00:00 2001
From: gbellato <gbellato@localhost>
Date: Tue, 31 Mar 2009 15:50:00 +0000
Subject: [PATCH] fix for 3908 : Problems with ChangeNumber generators
---
opends/src/server/org/opends/server/replication/common/ChangeNumberGenerator.java | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/opends/src/server/org/opends/server/replication/common/ChangeNumberGenerator.java b/opends/src/server/org/opends/server/replication/common/ChangeNumberGenerator.java
index 163d266..2f02591 100644
--- a/opends/src/server/org/opends/server/replication/common/ChangeNumberGenerator.java
+++ b/opends/src/server/org/opends/server/replication/common/ChangeNumberGenerator.java
@@ -82,6 +82,8 @@
public ChangeNumber newChangeNumber()
{
long curTime = TimeThread.getTime();
+ int mySeqnum;
+ long myTime;
synchronized(this)
{
@@ -90,13 +92,17 @@
lastTime = curTime;
}
- if (seqnum++ == 0)
+ if (++seqnum <= 0)
{
+ seqnum = 0;
lastTime++;
}
+ mySeqnum = seqnum;
+ myTime = lastTime;
}
- return new ChangeNumber(lastTime, seqnum, serverId);
+ return new ChangeNumber(myTime, mySeqnum, serverId);
+
}
/**
--
Gitblit v1.10.0