proxy-сервер в сети и потеря данных при пересылке

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
indra
Сообщения: 7
Зарегистрирован: 23 авг 2005, 02:17

proxy-сервер в сети и потеря данных при пересылке

Сообщение indra » 03 окт 2005, 20:06

примерно года три назад в сети, где устанавливалась программа, был установлен proxy wingate и происходила потеря данных при пересылке на машину, на которой располfгался InterBase 6. сейчас замечал ли кто подобные проявления в приложениях под FireBird?

indra
Сообщения: 7
Зарегистрирован: 23 авг 2005, 02:17

Сообщение indra » 06 окт 2005, 22:12

короче. не замечали ли вы потери данных в сети при установленом прокси сервере?

Владимир Каратаев
Сообщения: 22
Зарегистрирован: 01 ноя 2004, 11:11

Сообщение Владимир Каратаев » 07 окт 2005, 13:41

не понятно- пользователи от сервера БД отделены прокси или просто два компа в одной подсети, или на одном компе и прокси и БД?
но как бы то ни было я не помню чтобы в телеконференциях такая проблема всплывала.
и что значит потеря данных? может там (в БД) индексы порушились, может UDF левая. почему связь потери данных именно с прокси?

indra
Сообщения: 7
Зарегистрирован: 23 авг 2005, 02:17

Сообщение indra » 10 окт 2005, 02:50

Владимир Каратаев, более детальное описание ситуации.

БД находилась там же где и прокси-сервер (с этой машины необходимо было выходить в интеренет). периодически, без каких либо закономерностей (покрайней мере заметить их не удалось), данные отправленные клиентом с другой машины просто не доходили до базы. в клиенте выдовалось, что все ОК, а в БД запись не приходила. после того как с машины с БД убрали прокси - проблема исчезла. сейчас в этой же сети ставится прокси, но уже на шлюзовую машину где нет БД. соответсвенно вопрос мой таков: наличие в сети действующего прокси не может ли привести к таким странным потерям данных вновь. разум отказывается от такого предположения, но все же... практика показала иное...

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 10 окт 2005, 09:52

да почему ж "разум отказывается" - прокси это дополнительный компонент, который часто глючит, и предназначен не только для передачи информации по протоколам, но и для КЭШИРОВАНИЯ этой информации. Так что, потеря данных вполне может быть.
Вингейт какой версии?

Владимир Каратаев
Сообщения: 22
Зарегистрирован: 01 ноя 2004, 11:11

Сообщение Владимир Каратаев » 10 окт 2005, 10:27

indra писал(а): БД находилась там же где и прокси-сервер (с этой машины необходимо было выходить в интеренет). периодически, без каких либо закономерностей (покрайней мере заметить их не удалось), данные отправленные клиентом с другой машины просто не доходили до базы. в клиенте выдовалось, что все ОК, а в БД запись не приходила. после того как с машины с БД убрали прокси - проблема исчезла.
вообще вингейт я оч сильно не люблю (и кто сказал, что это клас прокси- большего дерьма в жизни не встречал) но тут не обязат вингейт, может и другой прокси быть виноват. настраивать надо их аккуратно. они ж могут, например, перехватывать на сервере (а клиентская часть прокси- на клиента) вызовы sock-функций и принудит перенаправлять траффик куда укажешь. это используется для программ, не умеющих работать через прокси (особенно игры). я использовал на практике ms proxy, работающий на той же машине, что и firebird. вот уже 5 лет как живут вместе прекрасно.
еще один такой момент. многие программисты увлекаются конструкцией try...except...end, чтобы "забить" сообщение об ошибке. т.е. подавляют ошибочные ситуации. может и в данном случае тоже самое- ошибка возникла, ее подавили и получилось, что все "ОК".
еще. вставка может идет через процедуру и там есть условие (ошибочное) по которому не происходит записи, либо с помощью when подавляется возникновение исключения.

indra
Сообщения: 7
Зарегистрирован: 23 авг 2005, 02:17

Сообщение indra » 11 окт 2005, 02:42

сейчас будет стоять на выделенной машине для интернет соединения Kerio Winrout 6.0.8.

у меня в коде жестко указано, что лишь в случае успешного выполения операции (insert, update, delete) выдавать окошко в сообщением "ОК". поэтому если ошибка возникает, то выдается на непонятном английском матерное выражение и пользователь нервно дышит в трубку.

версию wingate не помню - три года назад это было и не я устанавливал.

Ответить