Notes |
|
(0008834)
|
Tolik
|
12-09-2012 04:36
|
|
А что САС выводит на экран в такой ситуации: тайл или ничто? И пытается ли его скачать? |
|
|
|
САС игнорирует tne в этом случае и при показе, и при построении карты заполнения.
Таким образом, возвращаясь к резке пустышек, их мало перекачать, их надо сначала удалить из кэша. То есть сначала Delete+Click - тайл пропал (ну и tne с ним, если был уже), потом при закачке появляется tne вместо пустышки. |
|
|
|
|
|
|
Надо что-то более хитрое придумать, чем просто удалять тайл при получении tne. А то косяк на сервисе или прокси - всем http 404 - и кэша нет (((((.
Не дуракоустойчиво.
Из очевидного - тайл заведомо можно удалять, если tne получился в результате резки пустышек, как и настроено юзером. Хотя бы потому что он есть в папке EmptyTiles. |
|
|
(0008847)
|
Tolik
|
12-09-2012 08:35
(edited on: 12-09-2012 08:40) |
|
Да, если просто удалять при случайной ошибке, у Yurec66 получится куча дырок (которые сами не затянутся) и ещё больше вопросов:
http://sasgis.org/forum/viewtopic.php?p=29974#p29974
|
|
|
|
Не путайте ошибку и 404 ошибку. |
|
|
|
>Не путайте ошибку и 404 ошибку
Ошибка типа указания неверного key (типа ключа доступа) как раз и будет приводить к тому, что будет прилетать 404. А key может смениться на лету в процесе закачки. Соответственно перекачиваем мы область, сервер сменил key - и кэш пустой, весь в tne. |
|
|
(0009724)
|
Tolik
|
24-10-2012 11:52
(edited on: 25-10-2012 04:04) |
|
> Сейчас поправлю
Я так понял, теперь при наличии и тайла, и tne, тайл не выводится на экран?
Но тайл не удаляется из кэша при получении пустышки?
Столкнулся сейчас с такой картиной: был непустой тайл, потом слой изменился (НЯК) и на этом месте появилась пустышка. Но САС показывает старый тайл, и его можно удалить только вручную.
|
|
|
|
Формат кэша? Если беркли, то это к Zed. В файловом при сохранении tne делится старый тайл. Если у вас отключено сохранение tne, то и старый тайл удаляться не будет. |
|
|
(0009726)
|
Tolik
|
24-10-2012 12:05
|
|
Да, переключил на кэш САС - всё нормально. Щас попробую воспроизвести на Беркли. |
|
|
|
Если воспроизведете, то это уже новый баг нужно открывать |
|
|
(0009728)
|
Tolik
|
24-10-2012 12:20
(edited on: 24-10-2012 12:21) |
|
А на беркли воспроизводится легко.
1. есть объект на слое НЯК, скачивается в САС
2. удаляем его из НЯК, ёрзаем там в режиме Интернет, видим ошибки, что тайл Empty.
3. из САСа изображение не удаляется никак, при любом состоянии флага "сохранять TNE"
Что там в кэше - я не знаю, удалить можно только из контекстного меню.
Новый баг открывать сейчас некогда.
|
|
|
(0009730)
|
zed
|
24-10-2012 12:39
|
|
>А на беркли воспроизводится легко.
И вы хотите, чтобы у вас хороший тайл удалялся, а вместо него оставался tne? Не пойму, для чего такое может понадобится? |
|
|
(0009738)
|
Tolik
|
24-10-2012 14:14
|
|
Это уже плохой тайл, устаревший.
На исходной карте уже пустой тайл, а в кэше остался непустой, т.е. мусор. |
|
|
(0009739)
|
zed
|
24-10-2012 14:31
|
|
Вообще-то, tne это не "пустой тайл", это либо отсутствие тайла, либо, как привёл пример vasketsov - ошибка запроса.
Я придерживаюсь мнения, что если тайл в кэше есть и нам в режиме Интернет прилетает ошибка от сервера, то никаких tne сохранять не нужно и тем более, удалять существующий тайл. |
|
|
(0009740)
|
Tolik
|
24-10-2012 15:18
(edited on: 24-10-2012 15:21) |
|
Я не говорю про ошибку от сервера, я говорю о факте детектирования пустышки. Нет никакой ошибки, сервер прислал полностью прозрачный тайл, и на слое должен быть прозрачный квадрат, т.е. ничего.
Больше того: если с сервера пришёл именно пустой тайл, существующий тайл надо удалять независимо от tne. И независимо от хранилища, конечно.
Представьте: если бы не было образца в EmptyTile, эта пустышка бы затёрла то, что лежит в кэше. И если он есть, надо делать то же самое.
|
|
|
|
Ну не любая ошибка сервера, а только 404-я. Плюс возможно стоит различать вариант когда сам скрипт еще до запроса сервера считает что тайла быть не может. |
|
|
(0009742)
|
Tolik
|
24-10-2012 15:31
|
|
|
|
(0009743)
|
Tolik
|
25-10-2012 04:24
(edited on: 25-10-2012 04:41) |
|
В Беркли есть ещё один баг при работе с tne.
Допустим, в кэше есть старый непустой тайл, а tne нет.
Включаем сохранение tne.
На сервере карта изменилась, и он присылает пустышку.
С экрана мусор исчезает.
Но если переключить в режим Кэш и сменить зум туда-сюда, он появляется снова!
Если перезапустить САС, мусор тоже виден.
Если переключить в режим Интернет, снова прилетают пустышки и картинка исчезает.
Значит, tne или вообще не сохраняется в базе или работает неправильно (1. приоритет отображения у тайлов и 2. шлются запросы несмотря на то, что tne есть).
|
|
|
(0009744)
|
zed
|
25-10-2012 04:48
(edited on: 25-10-2012 04:49) |
|
>Если переключить в режим Интернет, снова прилетают пустышки и картинка исчезает.
А разве в режиме Интернет из кэша вообще что-нибудь читается? По-моему tne игнорируются, так же как и тайлы. В любом кэше.
|
|
|
(0009745)
|
Tolik
|
25-10-2012 04:49
|
|
Хм. А зачем тогда tne? Разве не для того, чтобы не лазить в Интернет напрасно? |
|
|
(0009746)
|
Tolik
|
25-10-2012 07:05
|
|
Проверил с помощью Карты заполнения, что tne всё-таки сохраняется.
В том месте, где есть и тайл, и tne, карта заполнения серая (а после удаления тайла вручную становится красной).
Вообще-то такой ситуации быть не должно, тайл надо удалять. |
|
|
(0009786)
|
Tolik
|
31-10-2012 06:44
(edited on: 31-10-2012 06:48) |
|
По поводу дублей в кэше Беркли открыл 0001669.
По поводу того, как должны работать tne, жду комментариев (возможно, надо открыть ещё один багрепорт).
|
|