fixed DB upgrade procedure; unused configuration parameter NumberOfDataCollectors...
authorVictor Kirhenshtein <victor@netxms.org>
Fri, 20 Oct 2017 14:19:14 +0000 (17:19 +0300)
committerVictor Kirhenshtein <victor@netxms.org>
Fri, 20 Oct 2017 14:19:14 +0000 (17:19 +0300)
sql/setup.in
src/server/tools/nxdbmgr/upgrade_v22.cpp
src/server/tools/nxdbmgr/upgrade_v30.cpp

index 41b4040..1c377d1 100644 (file)
@@ -128,7 +128,6 @@ INSERT INTO config (var_name,var_value,default_value,is_visible,data_type,need_s
 INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('MinPasswordLength','0','0',1,0,'I','Default minimum password length for a NetXMS user. The default applied only if per-user setting is not defined.');
 INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('MinViewRefreshInterval','1000','1000',1,0,'I','');
 INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('MobileDeviceListenerPort','4747','4747',1,1,'I','');
-INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('NumberOfDataCollectors','25','25',1,1,'I','The number of threads used for data collection.');
 INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('NumberOfUpgradeThreads','10','10',1,0,'I','The number of threads used to perform agent upgrades (i.e. maximum number of parallel upgrades).');
 INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('OfflineDataRelevanceTime','86400','86400',1,1,'I','Time period in seconds within which received offline data still relevant for threshold validation.');
 INSERT INTO config (var_name,var_value,default_value,is_visible,need_server_restart,data_type,description) VALUES ('PasswordComplexity','0','0',1,0,'I','Set of flags to enforce password complexity.');
index 8e407e2..0f6d11e 100644 (file)
@@ -32,6 +32,22 @@ static bool H_UpgradeFromV1()
 }
 
 /**
+ * Upgrade from 22.0 to 22.1
+ */
+static bool H_UpgradeFromV0()
+{
+   int count = ConfigReadInt(_T("NumberOfDataCollectors"), 250);
+   TCHAR value[64];
+   _sntprintf(value, 64,_T("%d"), std::max(250, count));
+   CHK_EXEC(CreateConfigParam(_T("DataCollector.ThreadPool.BaseSize"), _T("10"), _T("Base size for data collector thread pool."), 'I', true, true, false, false));
+   CHK_EXEC(CreateConfigParam(_T("DataCollector.ThreadPool.MaxSize"), value, _T("Maximum size for data collector thread pool."), 'I', true, true, false, false));
+   CHK_EXEC(SQLQuery(_T("UPDATE config SET default_value='250' WHERE var_name='DataCollector.ThreadPool.MaxSize'")));
+   CHK_EXEC(SQLQuery(_T("DELETE FROM config WHERE var_name='NumberOfDataCollectors'")));
+   CHK_EXEC(SetMinorSchemaVersion(1));
+   return true;
+}
+
+/**
  * Upgrade map
  */
 static struct
@@ -43,6 +59,7 @@ static struct
 } s_dbUpgradeMap[] =
 {
    { 1, 30, 0, H_UpgradeFromV1 },
+   { 0, 22, 1, H_UpgradeFromV0 },
    { 0, 0, 0, NULL }
 };
 
index 07df456..c640bf5 100644 (file)
@@ -29,8 +29,13 @@ static bool H_UpgradeFromV7()
 {
    if (GetSchemaLevelForMajorVersion(22) < 1)
    {
+      int count = ConfigReadInt(_T("NumberOfDataCollectors"), 250);
+      TCHAR value[64];
+      _sntprintf(value, 64,_T("%d"), std::max(250, count));
       CHK_EXEC(CreateConfigParam(_T("DataCollector.ThreadPool.BaseSize"), _T("10"), _T("Base size for data collector thread pool."), 'I', true, true, false, false));
-      CHK_EXEC(CreateConfigParam(_T("DataCollector.ThreadPool.MaxSize"), _T("250"), _T("Maximum size for data collector thread pool."), 'I', true, true, false, false));
+      CHK_EXEC(CreateConfigParam(_T("DataCollector.ThreadPool.MaxSize"), value, _T("Maximum size for data collector thread pool."), 'I', true, true, false, false));
+      CHK_EXEC(SQLQuery(_T("UPDATE config SET default_value='250' WHERE var_name='DataCollector.ThreadPool.MaxSize'")));
+      CHK_EXEC(SQLQuery(_T("DELETE FROM config WHERE var_name='NumberOfDataCollectors'")));
    }
    CHK_EXEC(SetMinorSchemaVersion(8));
    return true;