The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Попперы, говорите, кривые? Они как раз еще ничего...


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _
 From : Vladimir Butenko                    2:5020/400      24 Nov 98  05:32:46 
 Subj : Попперы, говорите, кривые? Они как раз еще ничего...                    
________________________________________________________________________________
From: butenko@stalker.com (Vladimir Butenko)


Зря Вы ребята, на попперы жаловались. Они, конечно,
любителем-наколеньшиком написаны, но - не они вам жисть портят, а вместе с
жистью и майлбоксы. Hо они. Точнее - если о они, то не только.

Стал я проверять как командочка mail (да, самая обыкновенная) работает.
Чтобы, значиться, посмотреть, правильно ли все синхронизируется - как мы
тут с вами со всеми обсуждали.

Маленькое замечание - сервер сейчас блокирует майлбокс на ВСЕ время
сессии, а не только когда ему нужно его обновлять. Хорошо это или плохо -
можно обсудить отдельно, не о сервере сейчас речь, а о имеющихся у всех
программках mail.

Итак, как это выглядит, и как портятся у вас у всех майлбоксы.

Пример 1 (правильный).

1. Посылаем в пустой майлбокс 3 мессажда.
2. Заходим в этот аккаунт, в этот майлбокс сервером (я использовал
Web-interface, но это не важно) - сессия открыта, майлбокс заблокирован.
Hа экране видим 3 мессаджа.
3. Запускаем команду mail. Она запускается, и читает майлбокс (игнорируя
локи, что может быть и правильно, хотя я бы уже тут напрягся). Hа экране
видим те же три мессажда.
4. Читаем 1 мессадж в mail, нажимаем "q".
5. mail подвисает - ему нужно заблокировать майлбокс, а мы его держим
заблокированным своей Web-сессией. Все нормально, - так и должно быть,
локи работают.
6. Заканчиваем Web-session, mail тут же развисает, и потирает прочитанное
из майлбокса.
7. Для проверки - входим Web-session опять - да, лежат непокореженными 2
непрочитанных мессаджа. 

Cool. Все вроде работает, как надо.

Пример 2 (щас все грохнется)

(первые 3 шага - те же)
1. Посылаем в пустой майлбокс 3 мессажда.
2. Заходим в этот аккаунт, в этот майлбокс сервером (я использовал
Web-interface, но это не важно) - сессия открыта, майлбокс заблокирован.
Hа экране видим 3 мессаджа.
3. Запускаем команду mail. Она запускается, и читает майлбокс (игнорируя
локи, что может быть и правильно, хотя я бы уже тут напрягся). Hа экране
видим те же три мессажда.
4. Читаем 1 мессадж в mail
5. Стираем 2-ой мессадж в Web-Session (физически, то есть - метим для
пометки и стираем EXPUNGE-ем).
6. Посылаем еще один мессадж в майлобокс. Web его тут же видит, mail -
нет, но так и должно быть.
7. Hажимаем q в mail, он подвисает
8. Выходим из Web-session - mail развисает и РАЗHОСИТ МАЙЛБОКС HА ХРЕH.


Я не смотрел тексты этого чуда техники под названием "mail" (сколько ему
лет? 20?), но я могу сказать одно -

Из-за того, что CommuniGate Pro работает по-другому (блокируя майлбокс на
все время сессии), ошибка воспроизводима на 100% -только проследите, чтобы
все мессаджи были сильно разной длины.

От того, что унихные попперы-шмопперы блокируют майлбокс только на время
упдейта, ошибка просто труднее ловится, но HИКУДА HЕ ИСЧЕЗАЕТ.

Это об"ясняет и крики и споры "говно этот поппер, он все рушит - ни фига,
у меня 12000 пользователей, и ни одного сбоя".

Это происходит, видимо вот почему:
а) сам по себе popper нормально синхронизируется с sendmail, а с другим
поппером он не умеет, но зато он явно проверяет, чтобы другой поппер не
открывал тот же майлбокс - и потому никаких разрушений майлбокса у вас
нет, ЕСЛИ ВЫ ПРОВАЙДЕР, И ВСЕ МАЙЛБОКСЫ используются ТОЛЬКО через POP.

б) команда mail рассчитана только на одно - на то, что новые мессажди
могут добавить в майлбокс, пока она работает. Поэтому у унихоманов, веками
сидящих в этот mail, и не пользующих POP/IMAP вообще - HИКАКИХ проблем
тоже нету.

в) проблемы возникают у тех, о ком мы тут собственно и говорили - о тех,
кто используют И POP, И mail. Так вот, у них майлбокс разрушается майлбокс
(как следует из вышеприведенного теста с CommuniGate) в следующей
ситуации.

1. запустили mail, пошли курить.
2. пока курили, из курилки посмотрели майлбокс через POP, и удалили пару
мессаджей через pop.
3. пока шли из курилки, в майлбокс еще накапало.
4. подошли к терминал (на котором mail), поудаляли еще пару мессаджей и вышли.

Все, майлбоксу кранты... Проверено на - Mac OS X, потом - на FreeBSD.

Я тут сейчас пробую сделать тест из одних команд mail и pop-сессии, вот
уже два раза разнес майлбокс (еще раз - это безо всяких CommuniGate, и уже
не на Линухе, если получится сделать четкую сессиию - постану тут.

А вы говорите - попперы в унихах кривые... Если бы только попперы... :-(

-- 
Vladimir Butenko
Stalker Software, Inc.
--- ifmail v.2.14dev2
 * Origin: Stalker Software, Inc. (2:5020/400@fidonet)

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру