Перейти к содержимому
Local
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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
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

 

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

Изменено пользователем l1ght

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
27 минут назад, pashaumka сказал:

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

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

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

 

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

Изменено пользователем l1ght
  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

Изменено пользователем pashaumka

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
46 минут назад, pashaumka сказал:

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

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

 

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

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

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

 

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

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, sergey104 сказал:

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

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

 

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

 

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

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 hour ago, nightfly said:

 

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

 

выдало:

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, sergey104 сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

loops.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, sergey104 сказал:

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

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

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

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'

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
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'

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
8 минут назад, sergey104 сказал:

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

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

 

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

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

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

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 06.06.2018 в 13:57, nightfly сказал:

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

 

Дарю идею:

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

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, Tris сказал:

 

Дарю идею:

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

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

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×