PDA

View Full Version : ошибка при импорте майнинга



Wertall
04-19-2011, 04:10 AM
Привет

появилась проблема с импортом майнинга ( приходит каждый день по рассылке)
http://i042.radikal.ru/1104/f6/a96c753e1de2.jpg (http://www.radikal.ru)

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

Если создаю другую базу ( для проверки) и пытаюсь импортить несколько файлов, то все работает хорошо.

раньше все работало хорошо

Предложения куда смотреть, что делать ?

спасибо

Sarek
04-19-2011, 04:47 AM
Сначала смотреть на тексты историй из майнинга. Вдруг там что-то явно не так.
Затем сделать вот что: очистить папки
...\Holdem Manager\Importing\Logs
...\Holdem Manager\Importing\Import Errors
(чтобы старые ошибки не мешали)
потом проимпортить небольшую часть историй и посмотреть ошибки
Если они указывают на базу данных (а по смыслу понятно сразу) - значит, проблемы там. А если что-то типа нераспознавания формата даты-времени-чисел - это другая история.

Wertall
04-19-2011, 05:06 AM
значит так,
...\Holdem Manager\Importing\Import Errors

E:\Hands\Entraction_NL10_6max\DAILY-2011-04-18-2011-04-19-Entraction-Texas_Hold_em_No_Limit-0.05_0.1-6max-45C273BC\Entraction-005.txt ERROR: 25P02: current transaction is aborted, commands ignored until end of transaction block

из лога (там много, но я взял кусочек, дальше вроде похоже)

EXECUTE PHCashKeyEXECUTE(15472988,90817,to_timestamp('04/19/2011 03:45:52','MM/DD/YYYY HH24:MI:SS'),20,18164,5,0,0,0,0,0,-5,0,False,False,4,0,0,0,0,0,0,0,0,0,False,False,Fa lse,False,-1,False,False,False,False,-1,False,False,False,False,-1,0,0);

о чем это говорит?
мне непонятно

Ваше мнение и куда нажимать дальше?

Спасибо

Wertall
04-19-2011, 05:14 AM
из файла хистори

http://i033.radikal.ru/1104/03/38685b2e7c89.png


как они раньше выглядели не знаю, потому непонятно что может быть не так

Wertall
04-19-2011, 05:38 AM
ошибка : ERROR: 25P02
в соседней ветке нашел
http://forums.holdemmanager.com/holdem-manager-replayer/69511-error-25p02.html

это повреждение базы данных, файловой системы

предлагают выполнить Реиндекс базы

Sarek
04-19-2011, 06:32 AM
Да, это проблемы в базе данных.
Реиндекс иногда помогает. Но, к сожалению, не всегда.
Причем ломает базу (по моим наблюдениям) именно импорт майнинга почему-то чаще всего.

Wertall
04-19-2011, 07:01 AM
Ну ладно,
тогда если реиндекс не поможет, то базу можно сносить ?

Ну и на этом тему наверное можно будет закрывать.

Спасибо.

Sarek
04-19-2011, 07:04 AM
Да, если не поможет реиндекс, то "в морг".
Новая база и импорт из архива.
Пока не поздно, сделай экспорт нотсов (если считаешь нужным). Потом в новую базу их - но после импорта рук, чтобы ники там уже были.
И еще рейкбеки с бонусами - так же.

TTpro
10-08-2011, 03:35 PM
Вы с такой легкостью говорите "базу в морг"! Я поражаюсь просто!! У меня та же самая проблема, с которой я уже 2 недели мучаюсь! И я НЕ хочу базу в морг, я хочу, чтобы саппорт компании, у которой я КУПИЛ продукт, исправили эту ситуацию. Иначе получается, что ваша компания просто обманывает потребителя, продавая абсолютно сырой продукт, который не в состоянии справится с возложенными на него обязанностями.
Итак, я прошу разобраться в ситуации, почему после импорта некоторого кол-ва рук, сначала появляются ошибки, затем импорт совершенно умирает, с показателем в 100% ошибок. База совершенно новая, НМ последней версии, Постгре последней версии (с предпоследней было тоже самое). Не помогает ни вакуум фул + аналайз, ни реиндекс. Ни смена названия папки из которой идет импорт. Импорт в пару сотен тысяч рук и ХМ умирает! ПОЧЕМУ?

Sarek
10-08-2011, 05:44 PM
Базу можно сломать разными способами. Самый надежный - внезапное выключение питания компютера во время интенсивной работы с базой данных.
Второй (по частоте встречаемости) - импорт не совсем "качественного майнинга". А если это еще совмещается с неуказанием исключений для антивируса и файерволла - ситуация усугубится.
Конкретно - всю папку postgresql/data рекомендуется от этих программ "спрятать". Вирусов там не может быть в принципе, а вот операций чтения-записи - очень много. И на каждую из них сторожевым программам приходится реагировать - как минимум, время тратится. Что сказывается на скорости импорта, в частности.
Практика показывает, что импорт больших количеств историй, присланных непосредственно из рума, ничего плохого базе данных обычно не делает. А вот майнинг бывает разный... И еще не следует использовать для импорта больших объемов автоимпорт. Он для этого не предназначен, там ограничения по числу обрабатываемых файлов и рук имеются. Import from folder же специально для этого и сделан.
Архив, в который ХМ переносит истории после автоимпорта, в числе прочего служит как раз для того, чтобы было откуда восстанавливать базу данных в случае ее поломки. А поломки, к сожалению, бывают.
Кроме того, ХМ не сам по себе управляет базой данных, а через PostgreSQL - а это продукт других разработчиков, со своими достоинствами, недостатками и ошибками. И мы на них влиять не можем - "как есть".
В качестве еще одной рекомендации: импортить огромные объемы не целиком сразу, а частями. В сумме получится быстрее.
И регулярно делать базе данных техобслуживание: вакуум и реиндекс. Особенно после добавления или удаления значительных объемов информации.

TTpro
10-08-2011, 06:47 PM
Спасибо за обстоятельный ответ. Это уже радует. Пожалуйста, давайте разбираться с ситуацией.
База, как я успел сообщить абсолютно новая. Пару дней назад было снесено абсолютно ВСЕ, и заново ВСЕ инсталлировано. Постгре на диске С, сама база на диске Д. Никаких перебоев с электроэнергией в стране моего проживания не бывает. Руки очень качественные, ибо те же самые руки, на которые выдается ошибка, летят на ура в новую базу. НО, как я уже сказал, через пару сотен тыс. рук просто отрубается импорт. Выдает 100% ошибки.
Автоимпорт не используется для объемов. Только "импорт из фолдера" или для разнообразия, когда возникает проблема "из файла". Сегодня импортил по 25-30к. Все тоже самое. Несколько загрузок идут на ура, затем 50/50 и в итоге, после 150-200к импортированных рук, начинается 100% выдача ошибок. При том, если вновь создать новую базу, то те руки, что шли с ошибками вновь летят на ура. Но, снова только н-ное кол-во.
Как я уже писал, вакуум фул и аналайз, + реиндекс, даже в новой базе уже пару раз было сделано. Не помогает. Мощностей лептопа для ХМ хватает. 2 ядра + 4гб оперативка. На 2-х дисках винчестера по 50 и 130гб свободного места. Пару дней назад делал дефрагментацию дисков. Скажите, какие логи Вам прислать, из каких папок, чтобы Вы могли помочь разрешить эту проблему? Кивание в сторону разработчиков Постгре, замечено, но, насколько я понимаю, меня как потребителя это не должно волновать, ибо Ваш продукт работает на основе постгре. В противном случае, мое утверждение, что Ваш продукт СЫРОЙ и НЕ готов к продаже, имеет смысл. Техадмины с Покерстратеджи мне помочь не смогли, посоветовав обратиться напрямую к производителю.
И заметьте, я НЕ один, с такой проблемой. Первая картинка от ТС, копия моей ситуации!! А времени прошло уже много с его поста.
Заранее спасибо. Очень рассчитываю на квалифицированную помощь.
П.С. Фойерволл у меня ZoneAlarm Pro. На любой его запрос о Посгре или Хм, я ставил галочку разрешать все действия в будущем. Т.е., еще раз: Импорт в начале в новой базе идет прекрасно, на скорости до 90 рук/сек, и только потом умирает.

Sarek
10-09-2011, 05:01 AM
В папку ...\Holdem Manager\Importing\Import Errors
пишется файл с ошибками импорта. Сейчас-то он огромный, скорее всего, и даже открыть его будет сложновато.
Но если файл удалить и дождаться очередных свежих - можно будет посмотреть, в чем именно они состоят.
Вот пару-тройку этих сообщений хотелось бы увидеть.
Также надо бы посмотреть файл SQLErrors.txt в папке ...\Holdem Manager\Logs - если там есть ошбки, то они, как правило, повторяются. И у них номер имеется, по которому можно нагуглить.

Отключить UAC (user account control) - совсем. Перевести ползунок в нижнее положение.
1) Открыть папку C:\Program Files\RVG Software\Holdem Manager (в 64-битной версии = Program Files (x86)
2) По правому клику на файле HoldemManager.exe выбрать Свойства, перейти на вкладку Совместимость и задать “Запускать файл от администратора” - причем для всех пользователей компа.
3) Сделать то же самое для файлов
hmhud.exe,
hmimport.exe,
dbcontrolpanel.exe
4) Аналогично - для покерного слиента
5) И для файлов
pg_ctl.exe
postgres.exe
из папки postgresql/Х.x/bin
Службу "вторичный вход в систему" поставить на автостарт.

И задать все-таки вручную файерволлу и антивирусу исключения в их настройках:
все вышеперечисленные файлы, а также
всю папку postgresql/data
папку C:/hmarchive
и папки, куда румы пишут истории

Если проблема останется - деинсталлировать файерволл / антивирус ненадолго и пробовать без них.
Еще (маловероятно, но все же) - с винчестером все в порядке? При остановленном сервисе Postgres проделать проверку диска и дефрагментацию.
Также: В свойствах каждого логического диска снять флажок "Разрешить индексирование" (Allow indexing Service to index this disk for fast file searching). По крайней мере, для того диска, на котором расположена папка Data. Процесс будет долгим... Это (в том числе) должно добавить скорости импорту, кстати.
И, естественно, установку (там же, в свойствах диска) Compress drive to save disk space - не применять.

TTpro
10-09-2011, 03:51 PM
Здравствуйте. Спасибо за Ваш ответ. Вначале вопрос, если позволите:

1. Возможно ли, что Вы наверняка знаете, что при определенном взаимодействии конкретной версии PostgreSQL и ХМ, моя проблема, описанная выше разрешится? Т.е., например, Вам доподлинно известно, что с версией Постгри 8,4 проблем меньше, чем с 9,0 скажем? У меня до этого стояла 9,0, было тоже самое. Сейчас стоит 9,1. Ну и ХМ последняя версия 1.12.04

2. Если я правильно понимаю, то получается, что ХМ выкидывает в ошибки и не импортирует весь файл txt, в котором, например 2000 рук, если обнаружит какую-то ошибку в синтаксисе всего лишь в одной руке?

UAC ползунок стоял в нижнем положении.
Файла запускались от админа. Да и у юзера права админа. Но, я еще раз проверил и переделал для "всех пользователей", хотя, я единственный пользователь системы.
Вторичный вход так же стоял на автостарте.
Антивируса нет, пользуюсь файерволом. Все нужное стояло с самым высоким приоритетом. Папку C:/hmarchive не смог внести, ибо вроде можно только ехе файлы? Но, с ней проблем никогда и не было. При автоимпорте проблем нет. Все вносится, все архивируется. Проблема только с импортом объемов (из папки, или из файла).
С дисками, я вчера, кстати писал, проблем нет. Делал chkdsk и дефрагментацию.
Флажок индексирования снял. Процесс какой-то идет. Компрессию не применял, места и так много еще.

========= SQLErrors========================================= ====

The Error: FEHLER: 42703: Spalte »minuteadjustment« von Relation »pokersites« existiert nicht

Occurred when running ExecuteNonQuery with this query: ALTER TABLE PokerSites DROP COLUMN minuteadjustment

The Error: FEHLER: 42704: Index »compiledresults_month_idx1« existiert nicht

Occurred when running ExecuteNonQuery with this query: DROP INDEX compiledresults_month_idx1

The Error: FEHLER: 42703: Spalte »minuteadjustment« von Relation »pokersites« existiert nicht

Occurred when running ExecuteNonQuery with this query: ALTER TABLE PokerSites DROP COLUMN minuteadjustment

The Error: FEHLER: 42704: Index »compiledresults_month_idx1« existiert nicht

Occurred when running ExecuteNonQuery with this query: DROP INDEX compiledresults_month_idx1

The Error: FEHLER: 42703: Spalte »minuteadjustment« von Relation »pokersites« existiert nicht

Occurred when running ExecuteNonQuery with this query: ALTER TABLE PokerSites DROP COLUMN minuteadjustment

The Error: FEHLER: 42704: Index »compiledresults_month_idx1« existiert nicht

Occurred when running ExecuteNonQuery with this query: DROP INDEX compiledresults_month_idx1
================================================== =========================

========ImportErrors============================== ============================

Там текста много, тут неудобно постировать, может я мог бы послать на емайл Вам? Приведу только номера ошибок:
в скобках перевод с немецкого.

FEHLER: 25P02: aktuelle Transaktion wurde abgebrochen, Befehle werden bis zum Ende der Transaktion ignoriert
(Эта трансакция была прервана, команды до конца трансакции игнорируются)

FEHLER: 42601: Syntaxfehler bei »EXECUTE« (ошибка синтаксиса)

FEHLER: 08P01: ungültiges Message-Format (недействительный формат сообщений)

Sarek
10-09-2011, 05:40 PM
1) Версии. В инсталляторе ХМ сидит Postgres 8.4.7. Это, так сказать, "официальная ХМ-версия". Но вообще, ХМ работает и с 9.0, и с любой 8.4, и с любой 8.3, и даже с 8.2 (если другие устанавливаться не желают, а такое очень редко, но бывает). И обычно нормально работает со всеми ими. Как правило, если проблемы и возникают, то именно из-за "контролирующих органов". Причем зачастую единственным решением оказывается удаление данного файерволла и/или антивируса с компа. Простое отключение может не помочь. Особенно, если он и не настраивается толком - всю папку, к примеру, в исключения не добавить (в некоторых можно). Причем это, в основном, проблемы именно с Postgres. Собственно ХМ (точнее, реплейер ХМ) отказывается работать только с Comodo firewall. И еще Norton (разных видов) нарекания вызывает.
Вот насчет 9.1 "дистанции" отзывов пока маловато. Так что именно ее комментировать нет достаточных оснований.
Кроме того, в ХМ есть фичи, которые работают вообще только с 8.4 - бекап, в частности. И только, если Postgres установлена в умолчальные папки. А по производительности - это в основном от конфигурации системы зависит. И ХМ умеет делать "тонкую настройку" Postgres - но лучше всего это, опять же, получается с "официальной" 8.4.
Сложность еще и в том, что разные версии Postgres взаимно не понимают базы от других. Потому при смене версии СУБД придется переимпортить весь архив (или часть). На сайте postgresql.org что-то для перехода по версиям имеется, но наш саппорт все-таки рекомендует переимпорт.

2) Насколько я в курсе, импорт после ошибки будет пытаться читать следующую руку.

3) Права админа у пользователя Виндовс в полной мере срабатывают только под XP. В более свежих - они обрезаны, причем сильно. Это Microsoft так пользователей защищает от разного. Так что "Run as admin" - обязательно. Просто "родной" инсталлятор ХМ делает это автоматом, если его самого запустить от админа.

4) Постить в форум огромные файлы, конечно, не следует. Их надо на support@holdemmanager.com послать, причем архивированные. Но перед отправкой сделать это (должо быть понятно и без перевода):
Please set your PostgreSQL error messages to English.
Edit the postgres.conf file via Start > Programs > Postgres > Configruation Files > Edit postgres.conf; and find the line with lc_messages in it.
Put a # at the start of the line (to comment it out) and then add this line below it:
lc_messages='English_United States.1252'

Save the file and then do Start > Programs > Postgres > Reload Configuration.

Потому что по-немецки у нас читать почти никто не умеет. А, скорее всего, придется обсуждать проблему с другими коллегами. Кстати, сам текст письма на английском - тоже было бы неплохо. Если получится.

В общем, предлагается такой план действий:
1) деинсталлировать файервол и на новой базе данных посмотреть, будут ли ошибки.
2) Если да: поставить 8.4.x (самую последнюю из лежащих на сайте postgres) на другой порт 5433 и снова пробовать. Опять же - без файерволла. При этом две Postgres на разных портах вполне нормально живут, работают и друг другу не мешают, проверено. Ну, чуть больше оперативки займут... А впоследствии "лишнюю" версию можно спокойно убрать.
3) Если на каком-то этапе выясняется, что без файерволла все ОК - искать другой. Защита компьютеру действительно нужна, но чтобы она работать не мешала...
4) А если все равно не будет нормально функционировать - собрать все логи в один архив, добавить к ним файлы, на которых импорт ломается (в примерно том же объеме, что и давался на импорт) и послать почтой. Со ссылкой на эту тему.

TTpro
10-09-2011, 07:31 PM
Спасибо ЗА Ваши обстоятельные ответы. Я непременно последую им. Это займет некоторое время. Меня несколько напрягает факт деинсталяции файервола. Все-таки комп постоянно подключен к сети, и такой рискованный шаг. Может есть какой-нибудь файервол, который абсолютно корректно работает с ХМ? (Из Вашего опыта.)

Sarek
10-10-2011, 03:38 AM
Речь не о том, чтобы вообще без защиты жить, только в тестовых целях и ненадолго.
До выяснения "виновника".
В качестве антивируса можно использовать microsoft security essentials
Он достаточно просто устанавливается и конфликтов с ним практически нет.
Еще варианты:
ESET NOD, Касперский - эти вполне настраиваются. И в них имеется файерволл среди всего.
AVG, Avira (но не варианты "все в одном")

А проблемы чаще всего возникают при McAffee, Norton, Bitdefender and Comodo.
В конце концов, если выяснится, что дело в файерволле - у каждого из них есть саппорт, который может подсказать, как именно настроить защитную программу, чтобы устранить проблему.

Вот, кстати, ссылка на текст коллеги в форуме, в них ваш файерволл упоминается в "черном списке"
http://forums.holdemmanager.com/manager-general/130081-hem-freezes-after-launch.html#post650031

TTpro
10-10-2011, 05:43 PM
Ага, спасибо. Пользовался им много лет. До этого момента проблем никогда, вроде, не было.
Итак, я чуточку отступил от Вашего плана. Я удалил Ad-aware, Zemana Antilogger i ZoneAlarm Pro. Установил версию 8.4.5 Постгри, она по умолчанию сама взяла себе порт 5433. Сутки пока идет импорт. Скорость правда сейчас упала до 17рук в сек, и то, после перезагрузки компа (не знаю, какая взаимосвязь) но ошибок можно сказать вообще нет. Примерно 0,06-0,11% от кол-ва рук. Больше 99000 рук одновременно боюсь скармливать. Еще, я переименовал утилитой все файлы с руками в короткую нумерацию не более 8 символов. И папки с руками разместил сразу на диске. Без кучи подпапок, как у меня ранее было.
Так, что сказать, что именно было причиной проблемы сейчас уже трудно. Но, факт, что процесс идет, не может не радовать, учитывая более 2 недель мучений. Сейчас поставил PC Tools FireWall Plus (где-то хвалили его). Продолжу импорт, посмотрим, влияет ли файерволл на импорт.

TTpro
10-10-2011, 10:40 PM
Не понимаю, что происходит, но ОБЕ базы, которые находятся на разных версиях Постгри, на 9,1 и 8,4.5 наполняются руками. Вы же писали, что они спокойно живут рядом и друг другу не мешают. Как тогда понять происходящее? Естественно была создана новая база на порте 5433 в ХМ. И в нее уже со вчерашней ночи заливаются руки.

http://img59.imageshack.us/img59/4746/screenshot02264.jpg (http://img59.imageshack.us/i/screenshot02264.jpg/)

http://img809.imageshack.us/img809/1750/screenshot02265.jpg (http://img809.imageshack.us/i/screenshot02265.jpg/)

Обратите внимание на даты изменения в папках. База 9,1 с 10.10-го ночи, уже не эксплуатировалась. Почему там изменения, и ее размер даже больше уже, чем оазмер 8,4? Хотя в 8,4 уже залито куда больше рук, чем заливалось в 9,1.

Sarek
10-11-2011, 03:53 AM
На самом деле заполняется только одна база данных - к которой в настоящий момент приконнектился ХМ.
Postgres - штука сложная. Она когда запущена, пишет логи, еще много всякого. Там же на картинках - куча папок. А сервисы запущены оба. Вот и пишет. но не данные, а служебную информацию для своего внутреннего применения. Что, когда и как - это надо интересоваться на форумах разработчиков Postgres.
Собственно файлы данных расположены чуть глубже - в одной из подпапок папки base.
Если любопытно - в какой именно - открыть PGAdmin и посмотреть в свойствах нужной базы данных параметр OID. Вот папка с таким цифровым именем внутри папки base - и есть склад данных от этой базы. Но для работы Postgres все равно нужны эти все, что на картинке. Ну, разве что содержание pg_log не обязательно, да и то - "в мирное время".
Так что не надо паники :)

TTpro
10-11-2011, 04:08 AM
Да? Ну тогда ладно, успокоили :) А то и правда, уже на грани легкой паники был. Спасибо.

Sarek
10-11-2011, 04:17 AM
ХМ сделан так, что работает только с одной базой данных. ВСе остальные его интересуют только в момент, когда нужно посмотреть их список.
В отличие от ПТ, который со многими сразу может. И писать, и читать. Но наши разработчики посчитали, что в этом нет смысла. Так что ДВЕ базы данных ХМ не могут наполняться одновременно - никогда. В принципе.

TTpro
10-11-2011, 10:42 AM
Спасибо за Ваши компетентные разъяснения! Радует, что у ХМ такие специалисты.
Скажите пожалуйста, как можно увеличить скорость импорта, которая упала до 6/сек?

Sarek
10-11-2011, 12:40 PM
Если все "тонкие настройки" ХМ, Postgres и железа уже сделаны - практически никак.
Разве что уменьшить "дозировку" на импорт. И время от времени после окончания импорта очередной порции перезапускать сервис Postgres. Но это мало поможет.
В ХМ2 импорт гораздо быстрее.

Sarek
10-11-2011, 12:44 PM
А про разъяснения... обычно пользователю достаточно простых указаний, что и как сделать. Он делает - и всё (если правильно сделал, что не всегда случается).
А тут пытливый попался :)

TTpro
10-11-2011, 01:24 PM
Меня, как пользователя ХМ1, купленного в этом году, конечно не может не радовать факт, что в ХМ2 скорость намного больше, чем в ХМ1 :)
Нашел где-то о выделении для Постгре дополнительной памяти с помощью Тюнинг Визард. Сделал - результата нет. Хотя некоторые пишут, чуть ли не до 200р/сек скорость у них. А у меня только 7 сейчас :(

А насчет пытливости... До того, как сюда попал долго искал инфо по форумам. Все переделал, что там описывали... На ПокерСтратеджи, вроде очень даже толковые модераторы техотдела, просто развели руками: Больше ничем помочь не можем, обращайся в ХМсаппорт. Я немного расстроен был тем, что больше 2-х недель не мог заставить продукт Вашей компании работать так, как он и должен в принципе, это делать. И базу тогда с 80гб удалил, и десятки раз создавал новые, и. и. и. + все это время нет возможности игры. А это простой, недополучение прибыли и тд ;) Ну, сами понимаете. Так, что я искренне надеюсь, что Вы не сильно были в обиде за некоторую долю критики продукта в моем начальном посте.

Sarek
10-11-2011, 06:19 PM
Да ладно, это все "рабочая дискуссия" :)

А насчет Тюнинг Визарда - кто-то из коллег писал в форуме (давно), что визард этот что-то не так (для ХМ) делает, и возможны проблемы. Потому в ХМ есть своя встроенная утилита оптимизации Postgres - в контрольной панели базы данных (где список баз) справа кнопка Optimize. И еще не забыть вручную выключить logging_collector (задать его в off) в файле конфигурации Postgres