Борьба с дублями

Слегка доделал движок.
Теперь для всех книжек считается md5, что позволяет автоматом вылавливать одинаковые файлы.
Таковых в базе оказалось больше тысячи. Удалил.
Кроме того выяснилось, что среди не-fb2 книг больше 1200 штук (около 7 гиг) присутствует в библиотеке Генезис. Удалил файлы, заменив ссылками туда.
Поставил проверку при заливке, чтоб этот бред не повторялся.
Сделал адресацию в /b/ по fb2-id и md5, помимо Librusec-ID и названия.

Что-то не так:
Не могу закачать новую версию книги

cyborgrd написал:
Выходит постоянно ошибка
"ошибка подсчёта md5"
Багрепорт
justinmir написал:
Не могу добавить книгу. При попытке добавления получаю сообщение о неправильной md5 сумме.
V132508 Ученье - свет…
Zadd написал:
В книге Ученье - свет… много ошибок.
я вычитал и исправил ошибки и опечатки, но залить не могу,
при попытке залить возникает сообщение
Добавленине книги from-fb2.
ошибка подсчёта md5

книга остается в том же состоянии, в каком и была(ничего не меняется)
Ошибка подсчёта md5 возникает уже неоднократно.

И за сегодня (27.08.2009) пока так и не было ни одного поступления.

Не смог ничего загрузить:( С форумом, что-то непонятное.
Мозги Либрусека о чем-то задумались. О своём:)

Аналогично.
Книга - не повтор, не дубль, свежесделанная, так сказать, не заливается. Ругается:
Добавленине книги from-fb2.
ошибка подсчёта md5
Добавить ещё одну.

Через фтп тоже не добавляется...

Слишком кардинальный способ борьбы с дублями))).

carpenter написал:
Слишком кардинальный способ борьбы с дублями))).

гарантирует непоявление новых.
нет книжек - нет проблемы.

А у меня пршла одна "Абрам Палей ОСТРОВ ТАУСЕНА".
Может потому, что замена?

Отпустило вроде ))
Добавляется без глюков.

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

Zadd написал:
Получается действительно хороший способ- нет книги- нет проблемы!

люблю кардинальные решения.

Только вот исправили ошибку опять слишком кардинально!
Теперь вообще невозможно искать дубли.
Остается только после залития новой версии книги удалить старую вручную, потому что поиск дублей перестал работать и при залитии новой книги старая не исчезает, а остается.

Zadd написал:
Только вот исправили ошибку опять слишком кардинально!
Теперь вообще невозможно искать дубли.
Остается только после залития новой версии книги удалить старую вручную, потому что поиск дублей перестал работать и при залитии новой книги старая не исчезает, а остается.

Это не совсем так.
Старая дуполовка никуда не делась.

Zadd написал:

Остается только после залития новой версии книги удалить старую вручную

Пожалуйста, не делайте этого. Если не срабатывает "дуплеловка", всегда можно воспользоваться опцией "объединить с другой книгой".
В этом случае вся статистика тоже сохраняется.

golma1 написал:
Zadd написал:

Остается только после залития новой версии книги удалить старую вручную

Пожалуйста, не делайте этого. Если не срабатывает "дуплеловка", всегда можно воспользоваться опцией "объединить с другой книгой".
В этом случае вся статистика тоже сохраняется.

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

Ну не знаю... Я вчера несколько исправленных книг залила. Часть заменилась автоматически, а часть я объединяла. Всё работало.

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

Zadd написал:
Предлагаю вернуть все, как было, а сравнение md5 оставить только Ларину для служебного пользования.
Тем более, что совпадение контрольных сумм теоретически не гарантирует совпадения файлов. В конце концов, ведь контрольная сумма - это не весь файл, а следовательно, есть вероятность, пусть может и маленькая, что одной и той же md5 или любой другой контрольной сумме будут соответствовать несколько разных файлов.

Вероятность совпадения md5 хэша не больше 1/2^252. Число 2^252 сравнимо с количеством атомов во вселенной. (пометка... больше гуглу не верить)
md5 - 128 битный хэш. Вероятность совпадения md5 хэша у двух книг не больше 1/2^128 (~1e-37). На массиве из сотен тысяч книг эта вероятность, конечно, будет больше, но все равно это немыслимо малая величина. Прикинул для миллиона книг - вероятность получения двух одинаковых хэшей порядка 1e-25.

Что-то странное творится. После попытки добавить книгу, выдается информация о том, что книга уже есть в наличии.
Проверяю "дубль", выясняется, что это та самая книга, которую я только что вроде как "не добавил".

По ходу, еще один глюк: добавляю книгу - безуспешно. Невозможно заменить старую версию на обновленную.
Что я делаю не так?

Гм... Через некоторое время книга странным образом все-таки оказывается в библиотеке.
Но об этом узнаешь только после того, как она пропишется в новинках. Не очень приятная ситуация.

Борьба с дублями может привести к большему числу дублей. Судите сами:
После заливки книги получаем страницу с - "504 Gateway Time-out
nginx/0.5.35". Мы думаем, что файл загрузить не удалось и повторяем попытку. В результате выходит сообщение о том, что книга в библиотеке уже существует. Попытки ее найти не приводят к положительному успеху. Пытаемся загрузить ее еще раз, опять то же самое.
В конечном итоге все залитые книги через какое-то время (от пяти до десяти минут) дают о себе знать, но это уже не одна книга, а несколько. Хорошо, если заливавший не поленится, а объединит их все, а если не объединит?..

Алексей_Н написал:

В конечном итоге все залитые книги через какое-то время (от пяти до десяти минут) дают о себе знать, но это уже не одна книга, а несколько. Хорошо, если заливавший не поленится, а объединит их все, а если не объединит?..

А что, книга заливается каждый раз? У меня только один раз.

Я просто жду несколько минут, а потом проверяю на странице автора. Конечно, это не самый лучший выход, но пока Ларин не пофиксил...

golma1 написал:

А что, книга заливается каждый раз? У меня только один раз.

Я просто жду несколько минут, а потом проверяю на странице автора. Конечно, это не самый лучший выход, но пока Ларин не пофиксил...


Да заливается каждый раз, как говорит Алексей. Зная это я и не пытаюсь делать вторую попытку, а жду минут 10-20..Но Алексей прав- многие не знают оь этом и делают несколько попыток.
Кстати и в "последние поступления" книги добавляются сегодня без аннотаций (может ещё появятся)

Пример двойной заливки - http://lib.rus.ec/b/163433, http://lib.rus.ec/b/163432
Книги абсолютно идентичны, сменен только номер версии, именно по недоразумению.

X