From 096707f6f91e33ecdc4dea986c89bf55007b5f2a Mon Sep 17 00:00:00 2001
From: gbellato <gbellato@localhost>
Date: Mon, 06 Apr 2009 12:37:28 +0000
Subject: [PATCH] Fix for 3914 : ServerState.reload() fails to update the ServerState
---
opends/src/server/org/opends/server/replication/common/ServerState.java | 27 +++++++++++++++------------
1 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/opends/src/server/org/opends/server/replication/common/ServerState.java b/opends/src/server/org/opends/server/replication/common/ServerState.java
index 77437a3..0eac1cf 100644
--- a/opends/src/server/org/opends/server/replication/common/ServerState.java
+++ b/opends/src/server/org/opends/server/replication/common/ServerState.java
@@ -66,7 +66,7 @@
*/
public void clear()
{
- synchronized (this)
+ synchronized (list)
{
list.clear();
}
@@ -155,7 +155,7 @@
saved = false;
- synchronized(this)
+ synchronized(list)
{
Short id = changeNumber.getServerId();
ChangeNumber oldCN = list.get(id);
@@ -185,11 +185,14 @@
boolean result = false;
- clear();
- for (Short id : serverState) {
- ChangeNumber maxChangeNumber = getMaxChangeNumber(id);
- if (update(maxChangeNumber)) {
- result = true;
+ synchronized (list)
+ {
+ clear();
+ for (Short id : serverState) {
+ ChangeNumber maxChangeNumber = serverState.getMaxChangeNumber(id);
+ if (this.update(maxChangeNumber)) {
+ result = true;
+ }
}
}
@@ -211,7 +214,7 @@
{
HashSet<String> set = new HashSet<String>();
- synchronized (this)
+ synchronized (list)
{
for (Short key : list.keySet())
{
@@ -234,7 +237,7 @@
{
ArrayList<ByteString> values = new ArrayList<ByteString>(0);
- synchronized (this)
+ synchronized (list)
{
for (Short id : list.keySet())
{
@@ -253,7 +256,7 @@
{
StringBuilder buffer = new StringBuilder();
- synchronized (this)
+ synchronized (list)
{
for (Short key : list.keySet())
{
@@ -298,7 +301,7 @@
*/
public byte[] getBytes() throws UnsupportedEncodingException
{
- synchronized (this)
+ synchronized (list)
{
int length = 0;
List<String> idList = new ArrayList<String>(list.size());
@@ -375,7 +378,7 @@
public ServerState duplicate()
{
ServerState newState = new ServerState();
- synchronized (this)
+ synchronized (list)
{
for (Short key : list.keySet())
{
--
Gitblit v1.10.0