Compare commits

..

No commits in common. "d007a374f239f1b87e9a85658df15a8e51a629df" and "57bcba24062e027dde0c88fd2e038cacda540d7d" have entirely different histories.

2 changed files with 11 additions and 29 deletions

View File

@ -1608,7 +1608,7 @@ class Mon
} }
} }
} }
return { inode_stats, seen_pools }; return inode_stats;
} }
serialize_bigints(obj) serialize_bigints(obj)
@ -1634,7 +1634,7 @@ class Mon
const timestamp = Date.now(); const timestamp = Date.now();
const { object_counts, object_bytes } = this.sum_object_counts(); const { object_counts, object_bytes } = this.sum_object_counts();
let stats = this.sum_op_stats(timestamp, this.prev_stats); let stats = this.sum_op_stats(timestamp, this.prev_stats);
let { inode_stats, seen_pools } = this.sum_inode_stats( let inode_stats = this.sum_inode_stats(
this.prev_stats ? this.prev_stats.inode_stats : null, this.prev_stats ? this.prev_stats.inode_stats : null,
timestamp, this.prev_stats ? this.prev_stats.timestamp : null timestamp, this.prev_stats ? this.prev_stats.timestamp : null
); );
@ -1669,22 +1669,12 @@ class Mon
} }
for (const pool_id in this.state.pool.stats) for (const pool_id in this.state.pool.stats)
{ {
if (!seen_pools[pool_id]) const pool_stats = { ...this.state.pool.stats[pool_id] };
{ this.serialize_bigints(pool_stats);
txn.push({ requestDeleteRange: { txn.push({ requestPut: {
key: b64(this.etcd_prefix+'/pool/stats/'+pool_id), key: b64(this.etcd_prefix+'/pool/stats/'+pool_id),
} }); value: b64(JSON.stringify(pool_stats)),
delete this.state.pool.stats[pool_id]; } });
}
else
{
const pool_stats = { ...this.state.pool.stats[pool_id] };
this.serialize_bigints(pool_stats);
txn.push({ requestPut: {
key: b64(this.etcd_prefix+'/pool/stats/'+pool_id),
value: b64(JSON.stringify(pool_stats)),
} });
}
} }
if (txn.length) if (txn.length)
{ {

View File

@ -187,30 +187,22 @@ void etcd_state_client_t::add_etcd_url(std::string addr)
check_addr = addr; check_addr = addr;
if (pos == std::string::npos) if (pos == std::string::npos)
addr += "/v3"; addr += "/v3";
bool local = false;
int i; int i;
for (i = 0; i < local_ips.size(); i++) for (i = 0; i < local_ips.size(); i++)
{ {
if (local_ips[i] == check_addr) if (local_ips[i] == check_addr)
{ {
local = true; this->etcd_local.push_back(addr);
break; break;
} }
} }
auto & to = local ? this->etcd_local : this->etcd_addresses; if (i >= local_ips.size())
for (i = 0; i < to.size(); i++) this->etcd_addresses.push_back(addr);
{
if (to[i] == addr)
break;
}
if (i >= to.size())
to.push_back(addr);
} }
} }
void etcd_state_client_t::parse_config(const json11::Json & config) void etcd_state_client_t::parse_config(const json11::Json & config)
{ {
this->etcd_local.clear();
this->etcd_addresses.clear(); this->etcd_addresses.clear();
if (config["etcd_address"].is_string()) if (config["etcd_address"].is_string())
{ {