Опыт установки 5.3 на боевом сервере

Технические вопросы по UTM 5.0
Ответить
Аватара пользователя
MaxDM
Сообщения: 313
Зарегистрирован: Пн апр 03, 2006 10:26
Контактная информация:

Сообщение MaxDM »

Но тут же явно видно:

2015-09-22 14:54:58 MSK [23224-1] postgres@UTM_5_3 ОШИБКА: ошибка синтаксиса (примерное положение: "SQL") (символ 1)

Код: Выделить всё

2015-09-22 14:54:58 MSK [23224-2] postgres@UTM_5_3 ОПЕРАТОР:  SQL SELECT query: SELECT c.column_name, c.data_type, c.is_nullable, c.character_maximum_length, c.column_default, c.udt_name, p.key FROM information_schema.columns c LEFT OUTER JOIN     (         SELECT a.attname AS name, format_type(a.atttypid, a.atttypmod) AS data_type, '1' AS key         FROM   pg_index i         JOIN   pg_attribute a ON a.attrelid = i.indrelid                              AND a.attnum = ANY(i.indkey)         WHERE  i.indrelid = 'utm5_settings'::regclass         AND    i.indisprimary     ) p ON c.column_name = p.name WHERE table_name ='utm5_settings';

serjk
NetUP Team
Сообщения: 719
Зарегистрирован: Пн авг 14, 2006 08:56

Сообщение serjk »

MaxDM писал(а):Но тут же явно видно:

2015-09-22 14:54:58 MSK [23224-1] postgres@UTM_5_3 ОШИБКА: ошибка синтаксиса (примерное положение: "SQL") (символ 1)
Сообщите, какую версию PostgreSQL используете?

PS С такими ошибками (не запуск ядра, segmentation fault) нужно сразу обращаться в техподдержку, форум не являетcя площадкой для ее осуществления

Аватара пользователя
MaxDM
Сообщения: 313
Зарегистрирован: Пн апр 03, 2006 10:26
Контактная информация:

Сообщение MaxDM »

serjk писал(а):Сообщите, какую версию PostgreSQL используете?
(PostgreSQL) 9.4.4

serjk
NetUP Team
Сообщения: 719
Зарегистрирован: Пн авг 14, 2006 08:56

Сообщение serjk »

MaxDM писал(а):
serjk писал(а):Сообщите, какую версию PostgreSQL используете?
(PostgreSQL) 9.4.4
По имеющимся данных (версия PG и отрывки логов) невозможно провести анализ. Обратитесь в ТП с багрепортом, оперативно рассмотрим. Потребуется предоставить логи UTM5 в полном объеме, желательно копию БД, core-файл, если есть (который генерируется в момент segmentation fault)

Rav
Сообщения: 70
Зарегистрирован: Пт июн 29, 2007 17:02

Сообщение Rav »

serjik
Если внимательно прочитать, то имеющихся данных вполне достаточно, чтобы определить проблему. Вместо SQL-запроса, utm5_core пытается выполнить "SQL SELECT query: SELECT ...", на что PostgreSQL явным образом указывает.

Rav
Сообщения: 70
Зарегистрирован: Пт июн 29, 2007 17:02

Сообщение Rav »

В api.xml прокралась очепятка. =)

Код: Выделить всё

4740c4740
<           <double name="qnt" />
---
>           <double nama="qnt" />

serjk
NetUP Team
Сообщения: 719
Зарегистрирован: Пн авг 14, 2006 08:56

Сообщение serjk »

Rav писал(а):serjik
Если внимательно прочитать, то имеющихся данных вполне достаточно, чтобы определить проблему. Вместо SQL-запроса, utm5_core пытается выполнить "SQL SELECT query: SELECT ...", на что PostgreSQL явным образом указывает.
Проблема в том, что без подробных логов ядра, копии базы и др. информации невозможно установить, почему этот запрос уходит в СУБД.

serjk
NetUP Team
Сообщения: 719
Зарегистрирован: Пн авг 14, 2006 08:56

Сообщение serjk »

Rav писал(а):В api.xml прокралась очепятка. =)

Код: Выделить всё

4740c4740
<           <double name="qnt" />
---
>           <double nama="qnt" />
Исправили, поругали автора, выйдет в апдейте, вместе с более детальным логированием ошибок api.xml в utm5_urfaclient

Point
Сообщения: 242
Зарегистрирован: Вт ноя 23, 2010 15:42

Сообщение Point »

Point писал(а):
ZeM писал(а):При включении параметра

Код: Выделить всё

verify_database_index=enable 
Вот такие ошибки
  • Sep 22 10:24:51 ?Debug : b6ce86f0 DBConnection_mysql: <0xb5e84078> SQL query: CREATE UNIQUE INDEX uniq_a6ba8c930a7fd5d9544531e489aa4ec1 ON dtagg_hotspot(is_$
    Sep 22 10:24:51 ERROR : b6ce86f0 DBConnection_mysql: <0xb5e84078> MySQL query failed:<Duplicate entry '1-2458-1' for key 'uniq_a6ba8c930a7fd5d9544531e489aa$
Как грамотно вылечить ? Есть мысль грохнуть его или не вариант?
аналогичный вопрос, как правильно вылечить

Код: Выделить всё


Sep 22 15&#58;05&#58;58 ?Debug &#58; 255c9740 DBConnection_mysql&#58; <0x240f200> SQL query&#58; CREATE UNIQUE INDEX uniq_dbf2840cfffe4be64dbff06b1b8dfa00 ON dtagg_iptraffic&#40;is_closed,slink_id,tclass,base_cost&#41;;
Sep 22 15&#58;05&#58;58  ERROR &#58; 255c9740 DBConnection_mysql&#58; <0x240f200> MySQL query failed&#58;<Duplicate entry '1-12-40-0' for key 'uniq_dbf2840cfffe4be64dbff06b1b8dfa00'> Trying to reconnect&#58; 0
Sep 22 15&#58;06&#58;58  ERROR &#58; 255c9740 DBConnection_mysql&#58; <0x240f200> MySQL query failed&#58;<Duplicate entry '1-12-40-0' for key 'uniq_dbf2840cfffe4be64dbff06b1b8dfa00'> Trying to reconnect&#58; 1
Sep 22 15&#58;07&#58;58  ERROR &#58; 255c9740 DBConnection_mysql&#58; <0x240f200> MySQL query failed&#58;<Duplicate entry '1-12-40-0' for key 'uniq_dbf2840cfffe4be64dbff06b1b8dfa00'> Trying to reconnect&#58; 2
Sep 22 15&#58;08&#58;58  ERROR &#58; 255c9740 DBConnection_mysql&#58; <0x240f200> MySQL query failed&#58;<Duplicate entry '1-12-40-0' for key 'uniq_dbf2840cfffe4be64dbff06b1b8dfa00'> Trying to reconnect&#58; 3
Sep 22 15&#58;09&#58;58  ERROR &#58; 255c9740 DBConnection_mysql&#58; <0x240f200> MySQL query failed&#58;<Duplicate entry '1-12-40-0' for key 'uniq_dbf2840cfffe4be64dbff06b1b8dfa00'> Trying to reconnect&#58; 4
Sep 22 15&#58;10&#58;58  ERROR &#58; 255c9740 DBConnection_mysql&#58; <0x240f200> MySQL query failed&#58; 
Sep 22 15&#58;10&#58;58  ERROR &#58; 255c9740 DBASQLError&#58; MySQL query failed&#58; 
ну, коли гора не идет к магомету....
проблема заключается в наличии дублирующихся записей в таблице
dtagg_iptraffic (поля (is_closed,slink_id,tclass,base_cost))
лечим так

Код: Выделить всё

DELETE s1
  FROM dtagg_iptraffic s1
  JOIN &#40;SELECT MIN&#40;id&#41; id, slink_id, is_closed, base_cost, tclass FROM dtagg_iptraffic GROUP BY slink_id, is_closed, base_cost, tclass&#41; s2
    ON s1.id <> s2.id AND s1.slink_id = s2.slink_id AND s1.is_closed = s2.is_closed AND s1.base_cost = s2.base_cost AND s1.tclass = s2.tclass;
потом создаем индекс

Код: Выделить всё

CREATE UNIQUE INDEX uniq_dbf2840cfffe4be64dbff06b1b8dfa00 ON dtagg_iptraffic&#40;is_closed,slink_id,tclass,base_cost&#41;;
и вуаля... ругани нет, ядро запускается за 4 секунды вместо 320
удалилось порядка 20 тысяч записей из 140 тысяч, как повлияло на работоспособность- неизвестно, делалось на тестовой базе

Аватара пользователя
ZeM
Сообщения: 371
Зарегистрирован: Чт фев 17, 2011 08:38

Сообщение ZeM »

Не помогло что то в моем случае

Код: Выделить всё

mysql> DELETE s1
    ->   FROM dtagg_iptraffic s1
    ->   JOIN &#40;SELECT MIN&#40;id&#41; id, slink_id, is_closed, base_cost, tclass FROM dt                                                                                                                                                             agg_iptraffic GROUP BY slink_id, is_closed, base_cost, tclass&#41; s2
    ->     ON s1.id <> s2.id AND s1.slink_id = s2.slink_id AND s1.is_closed = s2                                                                                                                                                             .is_closed AND s1.base_cost = s2.base_cost AND s1.tclass = s2.tclass;
Query OK, 0 rows affected &#40;1,33 sec&#41;

mysql> CREATE UNIQUE INDEX uniq_dbf2840cfffe4be64dbff06b1b8dfa00 ON dtagg_iptraffic&#40;is_closed,slink_id,tclass,base_cost&#41;;
ERROR 1061 &#40;42000&#41;&#58; Duplicate key name 'uniq_dbf2840cfffe4be64dbff06b1b8dfa00'

Point
Сообщения: 242
Зарегистрирован: Вт ноя 23, 2010 15:42

Сообщение Point »

ZeM писал(а):Не помогло что то в моем случае

Код: Выделить всё

mysql> DELETE s1
    ->   FROM dtagg_iptraffic s1
    ->   JOIN &#40;SELECT MIN&#40;id&#41; id, slink_id, is_closed, base_cost, tclass FROM dt                                                                                                                                                             agg_iptraffic GROUP BY slink_id, is_closed, base_cost, tclass&#41; s2
    ->     ON s1.id <> s2.id AND s1.slink_id = s2.slink_id AND s1.is_closed = s2                                                                                                                                                             .is_closed AND s1.base_cost = s2.base_cost AND s1.tclass = s2.tclass;
Query OK, 0 rows affected &#40;1,33 sec&#41;

mysql> CREATE UNIQUE INDEX uniq_dbf2840cfffe4be64dbff06b1b8dfa00 ON dtagg_iptraffic&#40;is_closed,slink_id,tclass,base_cost&#41;;
ERROR 1061 &#40;42000&#41;&#58; Duplicate key name 'uniq_dbf2840cfffe4be64dbff06b1b8dfa00'
Так это.... судя по логам тебе надо лечить dtagg_hotspot и индекс uniq_a6ba8c930a7fd5d9544531e489aa

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

serjk писал(а):
Rav писал(а):В api.xml прокралась очепятка. =)

Код: Выделить всё

4740c4740
<           <double name="qnt" />
---
>           <double nama="qnt" />
Исправили, поругали автора, выйдет в апдейте, вместе с более детальным логированием ошибок api.xml в utm5_urfaclient
А можно уже починить два года открытый тикет по поводу замещения значения переменной в функции rpcf_edit_user_new?

Во входящих параметрах функции переменная <integer name="user_id"/> содержит ID пользователя, а к концу исполнения превращается в код ошибки:

Код: Выделить всё

<output>
      <integer name="user_id"/>
      <if variable="user_id" value="0" condition="eq">
          <integer name="error_code"/>
          <string name="error_description"/>
      </if>
    </output>
сейчас я после каждого релиза вынужден исправлять этот кусок на:

Код: Выделить всё

<output>
      <integer name="edit_user_id"/>
      <if variable="edit_user_id" value="0" condition="eq">
          <integer name="error_code"/>
          <string name="error_description"/>
      </if>
    </output>

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

Давайте хоть какие то стандарты в именовании соблюдать, ну вот с какого перепугу в функции стало

Код: Выделить всё

  <function name="rpcf_get_tel_service_link" id="0x1031c">
    <input>
      <integer name="slinkId"/>
    </input>
вместо

Код: Выделить всё

  <function name="rpcf_get_tel_service_link" id="0x1031c">
    <input>
      <integer name="slink_id"/>
    </input>

Аватара пользователя
TiRider
Сообщения: 568
Зарегистрирован: Сб июн 07, 2008 12:43

Сообщение TiRider »

Magnum72 писал(а):Давайте хоть какие то стандарты в именовании соблюдать, ну вот с какого перепугу в функции стало

Код: Выделить всё

  <function name="rpcf_get_tel_service_link" id="0x1031c">
    <input>
      <integer name="slinkId"/>
    </input>
вместо

Код: Выделить всё

  <function name="rpcf_get_tel_service_link" id="0x1031c">
    <input>
      <integer name="slink_id"/>
    </input>
у разраба залип капс :D

Аватара пользователя
MaxDM
Сообщения: 313
Зарегистрирован: Пн апр 03, 2006 10:26
Контактная информация:

Сообщение MaxDM »

Скорей всего разраб поменялся на другого )

Ответить