Skip to content

Commit 76ec498

Browse files
committed
Ensuring DStack thread safety
1 parent 8835639 commit 76ec498

3 files changed

Lines changed: 8 additions & 7 deletions

File tree

src/main/java/picoded/dstack/DStack.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212
public class DStack extends CoreStack {
1313

1414
// List of provider backends - to fetch / initialize from
15-
protected ProviderConfig providerConfig = null;
15+
protected final ProviderConfig providerConfig;
1616

1717
// Namespace listing
18-
protected GenericConvertList<Object> namespace = null;
18+
protected final GenericConvertList<Object> namespace;
1919

2020
/**
2121
* Constructor with configuration map

src/main/java/picoded/dstack/mongodb/MongoDBStack.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,8 @@ public static String getFullConnectionURL_secondary(GenericConvertMap<String, Ob
180180
// Hanlding of option string, default sec_opt uses `secondaryPreferred`
181181
GenericConvertMap<String, Object> optMap = new GenericConvertHashMap<>();
182182
optMap.putAll(config.getGenericConvertStringMap("opt", defaultOptJson));
183-
optMap.putAll(config.getGenericConvertStringMap("sec_opt", "{ \"readPreference\":\"secondaryPreferred\" }"));
183+
optMap.putAll(config.getGenericConvertStringMap("sec_opt",
184+
"{ \"readPreference\":\"secondaryPreferred\" }"));
184185

185186
// The opt string overwrite
186187
String optStr = config.getString("sec_opt_str", mapToOptStr(optMap));

src/main/java/picoded/dstack/stack/ProviderConfig.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public ProviderConfig(List<Object> inConfigList) {
6363
/**
6464
* Stores the internal config mapping by its name
6565
**/
66-
protected Map<String, GenericConvertMap<String, Object>> providerConfigMap = new HashMap<>();;
66+
protected final Map<String, GenericConvertMap<String, Object>> providerConfigMap = new HashMap<>();;
6767

6868
/**
6969
* Loads a configuration array of backend providers for dstack, into the provider map
@@ -133,13 +133,13 @@ public CoreStack getProviderStack(String name) {
133133
return cache;
134134
}
135135

136-
synchronized(providerStackMap) {
136+
synchronized (providerStackMap) {
137137
// Check the cache again (avoid race condition)
138138
cache = providerStackMap.get(name);
139139
if (cache != null) {
140140
return cache;
141141
}
142-
142+
143143
// Cache not found, get config to initialize a new stack
144144
GenericConvertMap<String, Object> providerConfig = getStackConfig(name);
145145
if (providerConfig == null) {
@@ -153,7 +153,7 @@ public CoreStack getProviderStack(String name) {
153153
// Return result
154154
return cache;
155155
}
156-
156+
157157
}
158158

159159
/**

0 commit comments

Comments
 (0)