NET-1440: scale test changes (#3014)

* NET-1440 scale test changes

* fix UT error and add error info

* load metric data into cacha in startup

* remove debug info for metric

* add server telemetry and hasSuperAdmin to cache

* fix user UT case

* update sqlite connection string for performance

* update check-in TS in cache only if cache enabled

* update metric data in cache only if cache enabled and write to DB once in stop

* update server status in mq topic

* add failover existed to server status update

* only send mq messsage when there is server status change

* batch peerUpdate

* code changes for scale for review

* update UT case

* update mq client check

* mq connection code change

* revert server status update changes

* revert batch peerUpdate

* remove server status update info

* code changes based on review and setupmqtt in keepalive

* set the mq message order to false for PIN

* remove setupmqtt in keepalive

* recycle ip in node deletion

* update ip allocation logic

* remove ip addr cap

* remove ippool file

* update get extClient func

* remove ip from cache map when extClient is removed
This commit is contained in:
Max Ma
2024-08-15 08:29:00 +02:00
committed by GitHub
parent c551c487ca
commit 46b8fd21c8
23 changed files with 388 additions and 53 deletions

View File

@@ -13,8 +13,11 @@ import (
"golang.org/x/exp/slog"
)
// flags to keep for telemetry
var isFreeTier bool
var (
// flags to keep for telemetry
isFreeTier bool
telServerRecord = models.Telemetry{}
)
// posthog_pub_key - Key for sending data to PostHog
const posthog_pub_key = "phc_1vEXhPOA1P7HP5jP2dVU9xDTUqXHAelmtravyZ1vvES"
@@ -125,6 +128,9 @@ func setTelemetryTimestamp(telRecord *models.Telemetry) error {
return err
}
err = database.Insert(database.SERVER_UUID_RECORD_KEY, string(jsonObj), database.SERVER_UUID_TABLE_NAME)
if err == nil {
telServerRecord = serverTelData
}
return err
}
@@ -152,6 +158,9 @@ func getClientCount(nodes []models.Node) clientCount {
// FetchTelemetryRecord - get the existing UUID and Timestamp from the DB
func FetchTelemetryRecord() (models.Telemetry, error) {
if telServerRecord.TrafficKeyPub != nil {
return telServerRecord, nil
}
var rawData string
var telObj models.Telemetry
var err error
@@ -160,6 +169,9 @@ func FetchTelemetryRecord() (models.Telemetry, error) {
return telObj, err
}
err = json.Unmarshal([]byte(rawData), &telObj)
if err == nil {
telServerRecord = telObj
}
return telObj, err
}