Skip to content

Commit c822f62

Browse files
Update gson date format for serializing/deserializing Date in MS stats (across multiple management servers)
1 parent 6e59f4f commit c822f62

File tree

3 files changed

+8
-5
lines changed

3 files changed

+8
-5
lines changed

core/src/main/java/com/cloud/serializer/GsonHelper.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ static Gson setDefaultGsonConfig(GsonBuilder builder) {
7878
}.getType(), new NwGroupsCommandTypeAdaptor());
7979
builder.registerTypeAdapter(Storage.StoragePoolType.class, new StoragePoolTypeAdaptor());
8080
builder.registerTypeAdapter(Hypervisor.HypervisorType.class, new HypervisorTypeAdaptor());
81+
builder.setDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
8182
Gson gson = builder.create();
8283
dsAdaptor.initGson(gson);
8384
dtAdaptor.initGson(gson);

server/src/main/java/com/cloud/server/ManagementServerHostStatsEntry.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ public void setManagementServerRunId(long managementServerRunId) {
105105
}
106106

107107
@Override
108-
public Date getCollectionTime(){
108+
public Date getCollectionTime() {
109109
return collectionTime;
110110
}
111111

server/src/main/java/com/cloud/server/StatsCollector.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -170,10 +170,10 @@
170170
import com.codahale.metrics.jvm.MemoryUsageGaugeSet;
171171
import com.codahale.metrics.jvm.ThreadStatesGaugeSet;
172172
import com.google.gson.Gson;
173+
import com.google.gson.GsonBuilder;
173174
import com.google.gson.JsonElement;
174175
import com.google.gson.JsonObject;
175176
import com.google.gson.JsonParseException;
176-
import com.google.gson.reflect.TypeToken;
177177
import com.sun.management.OperatingSystemMXBean;
178178

179179
/**
@@ -293,7 +293,9 @@ public String toString() {
293293

294294
private static StatsCollector s_instance = null;
295295

296-
private static Gson gson = new Gson();
296+
private static Gson gson = new GsonBuilder()
297+
.setDateFormat("yyyy-MM-dd'T'HH:mm:ssZ")
298+
.create();
297299

298300
private ScheduledExecutorService _executor = null;
299301
@Inject
@@ -1158,9 +1160,9 @@ public String newStatus(ClusterServicePdu pdu) {
11581160
logger.debug(String.format("StatusUpdate from %s, json: %s", pdu.getSourcePeer(), pdu.getJsonPackage()));
11591161
}
11601162

1161-
ManagementServerHostStatsEntry hostStatsEntry = null;
1163+
ManagementServerHostStatsEntry hostStatsEntry;
11621164
try {
1163-
hostStatsEntry = gson.fromJson(pdu.getJsonPackage(),new TypeToken<ManagementServerHostStatsEntry>(){}.getType());
1165+
hostStatsEntry = gson.fromJson(pdu.getJsonPackage(), ManagementServerHostStatsEntry.class);
11641166
managementServerHostStats.put(hostStatsEntry.getManagementServerHostUuid(), hostStatsEntry);
11651167

11661168
// Update peer state to Up in mshost_peer

0 commit comments

Comments
 (0)