NetXMS Support Forum

Russian Support => Общие вопросы => Topic started by: Alex on May 17, 2008, 09:55:18 PM

Title: Проблемы в 0.2.21
Post by: Alex on May 17, 2008, 09:55:18 PM
Если создать карту для каждого из контейнера, и затем создавать линки между нодами на каждой из карт и сохранить, то после закрытия и нового открытия сохраненные данные исчезают.. Т.е. грубо говоря не сохраняется ни одно из изменений.
Title: Re: Проблемы в 0.2.21
Post by: weec on May 18, 2008, 01:21:23 AM
c++ -DHAVE_CONFIG_H -I. -I../../../.. -I../../../../include -I/usr/local/include -D_THREAD_SAFE -D_THREAD_SAFE -DPREFIX=\"/usr/local\" -DPREFIXW=L\"/usr/local\" -DDATADIR=\"/usr/local/share/netxms\" -DLIBDIR=\"/usr/local/lib\" -fpermissive -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT freebsd.lo -MD -MP -MF .deps/freebsd.Tpo -c freebsd.cpp  -fPIC -DPIC -o .libs/freebsd.o
freebsd.cpp: In function 'BOOL __NxSubAgentGetIfList(NETXMS_VALUES_LIST*)':
freebsd.cpp:114: warning: deprecated conversion from string constant to 'char*'
freebsd.cpp: In function 'BOOL __NxSubAgentGetArpCache(NETXMS_VALUES_LIST*)':
freebsd.cpp:119: warning: deprecated conversion from string constant to 'char*'
mv -f .deps/freebsd.Tpo .deps/freebsd.Plo
/bin/sh ../../../../libtool --tag=CXX    --mode=compile c++ -DHAVE_CONFIG_H -I. -I../../../.. -I../../../../include   -I/usr/local/include -D_THREAD_SAFE -D_THREAD_SAFE -DPREFIX=\"/usr/local\" -DPREFIXW=L\"/usr/local\" -DDATADIR=\"/usr/local/share/netxms\" -DLIBDIR=\"/usr/local/lib\" -fpermissive -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT system.lo -MD -MP -MF .deps/system.Tpo -c -o system.lo system.cpp
c++ -DHAVE_CONFIG_H -I. -I../../../.. -I../../../../include -I/usr/local/include -D_THREAD_SAFE -D_THREAD_SAFE -DPREFIX=\"/usr/local\" -DPREFIXW=L\"/usr/local\" -DDATADIR=\"/usr/local/share/netxms\" -DLIBDIR=\"/usr/local/lib\" -fpermissive -O2 -pipe -I/usr/local/include -fno-strict-aliasing -MT system.lo -MD -MP -MF .deps/system.Tpo -c system.cpp  -fPIC -DPIC -o .libs/system.o
In file included from system.cpp:34:
/usr/include/sys/proc.h:270: error: field 'td_lprof' has incomplete type
*** Error code 1

Stop in /usr/ports/net-mgmt/netxms/work/netxms-0.2.21/src/agent/subagents/freebsd.
*** Error code 1

Stop in /usr/ports/net-mgmt/netxms/work/netxms-0.2.21/src/agent/subagents.
*** Error code 1

Stop in /usr/ports/net-mgmt/netxms/work/netxms-0.2.21/src/agent.
*** Error code 1

Stop in /usr/ports/net-mgmt/netxms/work/netxms-0.2.21/src.
*** Error code 1

Stop in /usr/ports/net-mgmt/netxms/work/netxms-0.2.21.
*** Error code 1

Stop in /usr/ports/net-mgmt/netxms/work/netxms-0.2.21.
*** Error code 1

Stop in /usr/ports/net-mgmt/netxms.
*** Error code 1

Stop in /usr/ports/net-mgmt/netxms.
проблема при сборке на FreeBSD 8.0-CURRENT
Title: Re: Проблемы в 0.2.21
Post by: Victor Kirhenshtein on May 18, 2008, 06:17:37 PM
Quote from: Alex on May 17, 2008, 09:55:18 PM
Если создать карту для каждого из контейнера, и затем создавать линки между нодами на каждой из карт и сохранить, то после закрытия и нового открытия сохраненные данные исчезают.. Т.е. грубо говоря не сохраняется ни одно из изменений.

A automatic layout vikljuchen?
V logah servera est' kakie-nibud' soobschenija ob oshibkah?
Title: Re: Проблемы в 0.2.21
Post by: Alex on May 18, 2008, 07:31:14 PM
Забыл вырубить Enable automatic layot. Думал глобально работает, оказывается для каждой из карт свой параметр.

Но теперь при сохранении на некоторых картах выдает ошибку:
Cannot save map on server: Database failure.

Судя по записям в логе, это то что я вчера пытался линки создавать между нодами и сохранил. А так как был врубле Enable automatic layot, то он почему-то не удалил записи из базы.

[18-May-2008 18:09:03] SQL query failed (Query = "INSERT INTO submap_object_positions (map_id,submap_id,object_id,x,y) VALUES (301,101814,101815,20,10)"): Duplicate entry '301-101814-101815' for key 1
[18-May-2008 18:11:30] SQL query failed (Query = "INSERT INTO submap_object_positions (map_id,submap_id,object_id,x,y) VALUES (301,101814,101815,20,10)"): Duplicate entry '301-101814-101815' for key 1



Если зайти в Network Maps через Control Panel и попытаться ее закрыть, то ничего не выходит. В итоге если через Control Panel вызвать Network Maps еще раз, то в меню появляется второй набор инструментов (minimize, maximize, close) :)
Title: Re: Проблемы в 0.2.21
Post by: prx on May 19, 2008, 11:00:05 AM
Проблема видимо в том что если запись в таблице уже существует то он не апдейтит ее а пытается добавить новую. Если карта только одна помогает очистка таблиц submap_links и submap_object_positions ;)
Title: Re: Проблемы в 0.2.21
Post by: Alex on May 19, 2008, 11:01:59 AM
У меня основная карта очень здоровая и расписанная уже.. Ежели я почищу таблицы, эта карта удалится?
Title: Re: Проблемы в 0.2.21
Post by: Victor Kirhenshtein on May 19, 2008, 11:10:51 AM
Если просто удалить оттуда все, то удалится. Попробуем почистить интеллектуально. Что говорит


SELECT * FROM maps


?
Title: Re: Проблемы в 0.2.21
Post by: prx on May 19, 2008, 11:19:26 AM
select * from maps:
+--------+----------+---------------------+----------------+
| map_id | map_name | description         | root_object_id |
+--------+----------+---------------------+----------------+
|      1 | Default  | Default network map |              1 |
|      3 | Map      | #00                 |          10038 |
+--------+----------+---------------------+----------------+

[19-May-2008 12:19:13] SQL query failed (Query = "INSERT INTO submap_object_positions (map_id,submap_id,object_id,x,y) VALUES (0,10038,22,158,49)"): Duplicate entry '0-10038-22' for key 1

Почему-то map_id ставится нулевым - это нормально?
Title: Re: Проблемы в 0.2.21
Post by: Victor Kirhenshtein on May 19, 2008, 11:33:26 AM
Похоже что именно в этом и проблема - что он становится 0. Буду разбираться как это происходит.
Title: Re: Проблемы в 0.2.21
Post by: MaG on May 22, 2008, 03:52:25 PM
подтверждаю следующий глюк - создал карты для разных контейнеров - после этого закрыть окно network maps не смог, перезапустил консоль - карты создались.
Title: Re: Проблемы в 0.2.21
Post by: prx on May 23, 2008, 10:51:47 AM
А еще удаление карт пока "Not implented" И переименовать их нельзя. Все тока через базу...
Title: Re: Проблемы в 0.2.21
Post by: prx on May 28, 2008, 11:29:57 AM
А может до выхода 0.2.22 можно будет патчем эту проблему поправить? Уж очень хочется карты порисовать уже... :)
Title: Re: Проблемы в 0.2.21
Post by: MaG on May 29, 2008, 08:08:56 AM
обнаружилось что теперь карты никто кроме админа сохранять не может, т.е. не наследование прав не принудительное выставление прав на контейнер не помогают
и как то непонятно - это получается что для каждого юзера свои карты и только default общая?
Title: Re: Проблемы в 0.2.21
Post by: prx on May 29, 2008, 10:54:24 AM
Такс, по поводу ошибки в сохранении - почистил таблицу submaps, submap_links, submap_object_positions. Удалили все созданные map'ы кроме default.

Создаем новый map, в качестве root object'a выбираем контейнер с id=10038.
Смотрим таблицы:
Maps:
+--------+----------+---------------------+----------------+
| map_id | map_name | description         | root_object_id |
+--------+----------+---------------------+----------------+
|      1 | Default  | Default network map |              1 |
|      2 | Test map | #00                 |          10038 |
+--------+----------+---------------------+----------------+

Submaps, submap_links, submap_object_positions - пустые. Открываем карту Test map. Двигаем либой объект. Жмем сохранить.
Смотрим таблицу submaps:
+------------+-----------+------------+
| map_id     | submap_id | attributes |
+------------+-----------+------------+
| 1635123200 |     10038 |          1 |
+------------+-----------+------------+

Submap_links пустая. Submap_object_positions:
+------------+-----------+-----------+------+------+
| map_id     | submap_id | object_id | x    | y    |
+------------+-----------+-----------+------+------+
| 1635123200 |     10038 |        13 |   20 |   10 |
| 1635123200 |     10038 |        20 |  110 |   10 |
| 1635123200 |     10038 |        22 |  200 |   10 |
| 1635123200 |     10038 |        27 |  290 |   10 |
| 1635123200 |     10038 |        33 |  380 |   10 |
| 1635123200 |     10038 |        35 |  470 |   10 |
| 1635123200 |     10038 |        38 |  560 |   10 |
| 1635123200 |     10038 |        40 |  650 |   10 |
| 1635123200 |     10038 |        42 |  740 |   10 |
... и т.д.


Естественно если мы двигаем еще раз и жмем save, То пишет что ошибка в базе, так как submap_object_positions для map_id=2 почистились а не для 1635123200 :)
Перезагружаем netxmsd, перезапускам консоль. Открываем test map. Видим что даже начальные изменения не прочитались. Двигаем объект, делаем save. Смотрим таблицы:
submaps:
+------------+-----------+------------+
| map_id     | submap_id | attributes |
+------------+-----------+------------+
| 1635123200 |     10038 |          1 |
|          2 |     10038 |          1 |
+------------+-----------+------------+

submap_links Пустая, submap_object_positions:

...
| 1635123200 |     10038 |      9792 |  650 | 2290 |
| 1635123200 |     10038 |      9830 |  740 | 2290 |
| 1635123200 |     10038 |      9832 |  830 | 2290 |
| 1635123200 |     10038 |      9834 |  920 | 2290 |
| 1635123200 |     10038 |      9941 | 1010 | 2290 |
| 1635123200 |     10038 |      9977 |   20 | 2404 |
|          2 |     10038 |        13 |   20 |   10 |
|          2 |     10038 |        20 |  110 |   10 |
|          2 |     10038 |        22 |  200 |   10 |
|          2 |     10038 |        27 |  290 |   10 |
|          2 |     10038 |        33 |  380 |   10 |
...

Двигаем еще раз, save проходит успешно. Зыкрываем карту. открываем, видим что изменения не подгрузились. Делаем еще раз save - проходит успешно. Далее меняем в таблице Submaps attributes с 1 на 0 для map_id=2. Перезапускаем netxms. перезапускам консоль. Открываем test map. Видим что последние изменения прочитались. И save теперь тоже работает.
Итог: При создании карты и первом созранении map_id выставляется неверно.
При сохранении в таблицу submaps параметр attributes выставляется в 1 что в дальнейшем мешает ее чтению в дальнейшем.

UPD: Если после создания карты перезапустить Netxmsd - то ошибка выставления Map_id исчезает. Видимо после создания карты неправильно выставляется dwMapId или VID_MAP_ID (пока не разобрался...)

UPD2: По поводу аттрибутов я лажанулся - это не баг :) 1 значит включен Automatic Layout