Jump to content
Local
sergey104

ошибка при попытке редактировать свич

Recommended Posts

После обновления до последней версии при попытке отредактировать любой свич вываливается ошибка:


Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 72 bytes) in /usr/local/www/apache24/data/billing/api/libs/api.mapscommon.php on line 21

до этого была ошибка о том что за 30 секунд страница не была сгенирована, решилось

max_execution_time = 180

также увеличил

memory_limit = 512M

был 256M

Share this post


Link to post
Share on other sites
8 минут назад, sergey104 сказал:

После обновления до последней версии при попытке отредактировать любой свич вываливается ошибка:


Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 72 bytes) in /usr/local/www/apache24/data/billing/api/libs/api.mapscommon.php on line 21

до этого была ошибка о том что за 30 секунд страница не была сгенирована, решилось

max_execution_time = 180

также увеличил

memory_limit = 512M

был 256M

 

так может отрабатывать детекция петель (когда свичи друг другу как аплинки указаны)

Edited by l1ght

Share this post


Link to post
Share on other sites

проверить это не можем т.к. при попытке редактировать вываливается в ошибку

Share this post


Link to post
Share on other sites

тогда стоит допилить кусочек биллинга на такое "зацикливание"

Share this post


Link to post
Share on other sites
27 минут назад, pashaumka сказал:

тогда стоит допилить кусочек биллинга на такое "зацикливание"

У нас опенсурц. Всегда рады пулреквестам на Гите.

А вообще эта ошибка и есть попытки починить зацикливание свичей.

 

Пока вижу только возможность ручками сбросить в БД аплинки у свичей. Либо у всех сразу (если день разбираться) либо у проблемных.

Edited by l1ght
  • Like 1

Share this post


Link to post
Share on other sites

ну... в чужой код я не полезу ибо у меня старгазер не стоит... у меня свое..

ну типа сделать массив "посещенных" портов и если порт уже существует в списке - выплюнуть ошибку.... если нет - добавить

и типа тут-же можно отрисовать трассу "пройденнных" коммутаторов

заодно пропинговать коммутаторы и отрисовать ,  какой не отвечает..

Edited by pashaumka

Share this post


Link to post
Share on other sites
46 минут назад, pashaumka сказал:

ибо у меня старгазер не стоит.

спасибо, что поделились своими переживаниями на тему того, чего там у вас не стоит

 

47 минут назад, pashaumka сказал:

ну типа сделать массив "посещенных" портов и если пор

и прочее бла-бла-бла, которое давно у всех нормальных людей есть, реализовано и работает годами. Просто некоторым, такие банальные идеи поданные в виде поучительных советов, кажутся гениальными открытиями.

 

1 час назад, pashaumka сказал:

тогда стоит допилить кусочек биллинга на такое "зацикливание" 

И вот такие тоже.

 

Очевидно, такое происходит в тех случаях, когда люди в принципе не в теме, того что из вебморды уже хз сколько лет невозможно выставить аплинками самого себя, либо что-то что по петле к самому себе придет, либо свитч без указанных гео-координат. Или о том, что даже для таких случаев как лупы в отслеживании путей по свитчам есть штатный модуль для вылавливания и рихтовки таких проблем.

Share this post


Link to post
Share on other sites

можете поделиться запросом в базу почистить аплинки? Хорошо если всех сразу.

Share this post


Link to post
Share on other sites
3 часа назад, sergey104 сказал:

можете поделиться запросом в базу почистить аплинки? Хорошо если всех сразу.

Почему сразу не всю табличку грохнуть и облить сервер бензином? Ничего более радикального в голову не пришло?

 

"Свитчи" -> "Инструменты" -> "Проверка целостности".

 

Ну либо если вам хочется и кажется, что решения с бензином таки адекватные, можете сделать UPDATE `switches` set `parentid`=NULL

 

 

 

Share this post


Link to post
Share on other sites
1 hour ago, nightfly said:

 

"Свитчи" -> "Инструменты" -> "Проверка целостности". 

 

выдало:

Всего свитчей в базе: 125

Родительских свитчей найдено: 35

Это значит что проблем с зацикливанием нет?

Share this post


Link to post
Share on other sites
2 часа назад, sergey104 сказал:

Это значит что проблем с зацикливанием нет?

Нет, это только означает, то что ваша база имеет шанс на жизнь. Можете обновиться до Ubilling CURRENT 0.9.0 rev 6197 и повторить. Улучшил немного детектирование неочевидных колец.

Share this post


Link to post
Share on other sites

Сегодня еще вспомнил, что забыл нарисовать проверку на слишком близкородственные связи и инцест. Теперь и они есть в Ubilling CURRENT 0.9.0 rev 6198.

 

loops.png

Share this post


Link to post
Share on other sites

спасибо, попробуем через пару дней: сейчас начало месяца, не удобно откатываться если что.

Share this post


Link to post
Share on other sites
1 час назад, sergey104 сказал:

спасибо, попробуем через пару дней: сейчас начало месяца, не удобно откатываться если что.

Действительно, обновления это же так сложно, и так долго.

 

 

Share this post


Link to post
Share on other sites

обновились. Запускаем Проверка целостности свитчей:

Всего свитчей в базе: 125

Родительских свитчей найдено: 35

Взаимоотношения следующих свитчей могут произвести к петлям: [13] [84]

Share this post


Link to post
Share on other sites

Чисто из интереса, покажите ка

 

SELECT `id`,`parentid` from `switches` WHERE `id`='13' OR `id`='84'

и поведайте, как вы умудрились это сделать?

 

Ну и исправьте заодно

UPDATE `switches` SET `parentid`='' WHERE `id`='13'
UPDATE `switches` SET `parentid`='' WHERE `id`='84'

 

Share this post


Link to post
Share on other sites
mysql> SELECT `id`,`parentid` from `switches` WHERE `id`='13' OR `id`='84';
+----+----------+
| id | parentid |
+----+----------+
| 13 |       84 |
| 84 |       13 |
+----+----------+
2 rows in set (0.02 sec)

после

UPDATE `switches` SET `parentid`='' WHERE `id`='13'
UPDATE `switches` SET `parentid`='' WHERE `id`='84'

проблема была решена. Спасибо!

Провел убедительный разговор с теми кто это сделал.

Share this post


Link to post
Share on other sites
8 минут назад, sergey104 сказал:

Провел убедительный разговор с теми кто это сделал.

В том и фишка, что нормальными средствами веб-интерфейса это сделать невозможно. Их друг у друга в принципе не должно быть в выбирушках, как только вы один из них выберете родительским второго. Итого вопрос - "как у вас это получилось?"

 

9 минут назад, sergey104 сказал:

проблема была решена. Спасибо!

было бы странно если бы она не решилась :)

  • Like 1

Share this post


Link to post
Share on other sites
В 06.06.2018 в 13:57, nightfly сказал:

В том и фишка, что нормальными средствами веб-интерфейса это сделать невозможно. Их друг у друга в принципе не должно быть в выбирушках, как только вы один из них выберете родительским второго. Итого вопрос - "как у вас это получилось?"

 

Дарю идею:

1. открыть Свичи

2. открыть 1й свич во 2й вкладке, выбрать аплинком 2й свич

3. открыть 2й свич во 3й вкладке, выбрать аплинком 1й свич

4. нажать Сохранить по очереди в обеих вкладках.

5. наслаждаться восстановительными процедурами.

P.S.: при условии отсутствия проверки постфактум (при внесении в БД).

Share this post


Link to post
Share on other sites
2 часа назад, Tris сказал:

 

Дарю идею:

1. открыть Свичи

2. открыть 1й свич во 2й вкладке, выбрать аплинком 2й свич

3. открыть 2й свич во 3й вкладке, выбрать аплинком 1й свич

4. нажать Сохранить по очереди в обеих вкладках.

5. наслаждаться восстановительными процедурами.

P.S.: при условии отсутствия проверки постфактум (при внесении в БД).

Никак не могу отговорить от идей стрелять себе в ногу

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×