Hello! On Tue, Dec 31, 2013 at 12:57:06AM +0400, Михаил Монашёв wrote:
> Здравствуйте, Maxim. > > >> > То, что у тебя сломался open(), намекает на то, что в процессе > >> > выполнения этого запроса кто-то удалил каталог. > >> > >> Каталоги там никто не удаляет точно. Вся работа идёт через nginx, а он > >> удалять каталоги не умеет и на встроенном перле у меня ничего не > >> написано. И ошибка эта воспроизводится не всегда. > > > Вообще-то, nginx удалять каталоги умеет, нужно просто правильно > > попросить. Но это не твой случай, см. ниже. > > Даже не пустые? ;-) Легко, если не запрещено, см. http://nginx.org/r/min_delete_depth. > >> 2013/12/29 14:00:55 [debug] 78336#0: *10484311 http copy from: > >> "/opt2/beon/i41//43/96/1009643/avatars/9.gif" > >> 2013/12/29 14:00:55 [debug] 78336#0: *10484311 http copy to: > >> "/opt2/beon/i41/43/96/1009643/43/avatars/9.gif.tmp" > >> 2013/12/29 14:00:55 [debug] 78336#0: *10484311 malloc: > >> 0000000806E68000:65536 > >> 2013/12/29 14:00:55 [crit] 78336#0: *10484311 open() > >> "/opt2/beon/i41/43/96/1009643/43/avatars/9.gif.tmp" failed (2: No > >> such file or directory), client: 89.208.146.210, server: > >> i41.beon.ru, request: "COPY > >> http://b.i41.beon.ru/43/96/1009643/43/avatars/9.gif HTTP/1.1", > >> host: "b.i41.beon.ru" > > > Из вышепроцитированного более или менее очевидно, что копируют > > существующий файл, однако в несуществующий каталог. > > Таки разглядел этот несуществующий каталог. Спасибо. > > > Возврат 500 в подобной ситуации - не то чтобы лучшее из возможного, > > но как минимум объясним. > > Ну раз ошибки нет и 500 - правильный ответ, то тему можно считать > закрытой. Возможно, имеет смысл это место допилить, чтобы нужный каталог создавался. E.g., так сейчас делает MOVE, и PUT при create_full_put_path. Но в твоём случае это бы скорее усложнило поиск проблемы, чем наоборот. > > IMHO, это классическая иллюстрация к соседнему треду про > > rewrite'ы. :) > > Эх, если б всё было просто... :-) Да, сложность конфигов со всеми > этими заменами растёт экспоненциально и уже думаешь не как сделать, а > как сделать, чтобы не вводить ещё один уровень сложности. Ну ты, насколько я понимаю, извращаешься с целью не добавлять динамический бекенд. Но когда сразу за rewrite'ами - динамический бекенд, то смысла портить себе жизнь - ну совсем мало. -- Maxim Dounin http://nginx.org/ _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru