Если создать карту для каждого из контейнера, и затем создавать линки между нодами на каждой из карт и сохранить, то после закрытия и нового открытия сохраненные данные исчезают.. Т.е. грубо говоря не сохраняется ни одно из изменений.
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
Quote from: Alex on May 17, 2008, 09:55:18 PM
Если создать карту для каждого из контейнера, и затем создавать линки между нодами на каждой из карт и сохранить, то после закрытия и нового открытия сохраненные данные исчезают.. Т.е. грубо говоря не сохраняется ни одно из изменений.
A automatic layout vikljuchen?
V logah servera est' kakie-nibud' soobschenija ob oshibkah?
Забыл вырубить 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) :)
Проблема видимо в том что если запись в таблице уже существует то он не апдейтит ее а пытается добавить новую. Если карта только одна помогает очистка таблиц submap_links и submap_object_positions ;)
У меня основная карта очень здоровая и расписанная уже.. Ежели я почищу таблицы, эта карта удалится?
Если просто удалить оттуда все, то удалится. Попробуем почистить интеллектуально. Что говорит
SELECT * FROM maps
?
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 ставится нулевым - это нормально?
Похоже что именно в этом и проблема - что он становится 0. Буду разбираться как это происходит.
подтверждаю следующий глюк - создал карты для разных контейнеров - после этого закрыть окно network maps не смог, перезапустил консоль - карты создались.
А еще удаление карт пока "Not implented" И переименовать их нельзя. Все тока через базу...
А может до выхода 0.2.22 можно будет патчем эту проблему поправить? Уж очень хочется карты порисовать уже... :)
обнаружилось что теперь карты никто кроме админа сохранять не может, т.е. не наследование прав не принудительное выставление прав на контейнер не помогают
и как то непонятно - это получается что для каждого юзера свои карты и только default общая?
Такс, по поводу ошибки в сохранении - почистил таблицу 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