Обновился сегодня ... ошибки в abills-error.log

Ответить
michaeladm
Сообщения: 4
Зарегистрирован: Ср мар 14, 2012 10:43 am

Обновился сегодня ... ошибки в abills-error.log

Сообщение michaeladm »

Обновился сегодня до каррент, эти ошибки вываливаются в /var/log/httpd/abills-error.log куда-бы я ние нажал в биллинге:

[Fri Sep 07 12:42:35 2012] [error] [client 10.10.2.125] commit ineffective with AutoCommit enabled at /usr/abills/cgi-bin/admin/index.cgi line 757., referer: https://10.10.2.125:9443/admin/index.cgi
[Fri Sep 07 12:44:52 2012] [error] [client 10.10.2.125] DBD::mysql::db do failed: Duplicate entry '' for key 1 at ../../Abills/mysql//main.pm line 134., referer: https://10.10.0.1:9443/admin/index.cgi?index=1
[Fri Sep 07 12:46:42 2012] [error] [client 10.10.2.125] DBD::mysql::db do failed: Duplicate entry '' for key 1 at ../../Abills/mysql//main.pm line 134., referer: https://10.10.0.1:9443/admin/index.cgi?index=1
[Fri Sep 07 12:46:47 2012] [error] [client 10.10.2.125] DBD::mysql::db do failed: Duplicate entry '' for key 1 at ../../Abills/mysql//main.pm line 134., referer: https://10.10.0.1:9443/admin/index.cgi?index=1&letter=m
[Fri Sep 07 12:46:51 2012] [error] [client 10.10.2.125] DBD::mysql::db do failed: Duplicate entry '' for key 1 at ../../Abills/mysql//main.pm line 134., referer: https://10.10.0.1:9443/admin/index.cgi?index=15&UID=809
[Fri Sep 07 12:46:55 2012] [error] [client 10.10.2.125] DBD::mysql::db do failed: Duplicate entry '' for key 1 at ../../Abills/mysql//main.pm line 134., referer: https://10.10.0.1:9443/admin/index.cgi?UID=809&index=2
[Fri Sep 07 12:46:56 2012] [error] [client 10.10.2.125] DBD::mysql::db do failed: Duplicate entry '' for key 1 at ../../Abills/mysql//main.pm line 134., referer: https://10.10.0.1:9443/admin/index.cgi
[Fri Sep 07 12:46:57 2012] [error] [client 10.10.2.125] DBD::mysql::db do failed: Duplicate entry '' for key 1 at ../../Abills/mysql//main.pm line 134., referer: https://10.10.0.1:9443/admin/index.cgi?index=15&UID=809
[Fri Sep 07 12:47:01 2012] [error] [client 10.10.2.125] DBD::mysql::db do failed: Duplicate entry '' for key 1 at ../../Abills/mysql//main.pm line 134., referer: https://10.10.0.1:9443/admin/index.cgi?UID=809&index=2
[Fri Sep 07 12:47:03 2012] [error] [client 10.10.2.125] DBD::mysql::db do failed: Duplicate entry '' for key 1 at ../../Abills/mysql//main.pm line 134., referer: https://10.10.0.1:9443/admin/index.cgi
[Fri Sep 07 12:47:06 2012] [error] [client 10.10.2.125] DBD::mysql::db do failed: Duplicate entry '' for key 1 at ../../Abills/mysql//main.pm line 134., referer: https://10.10.0.1:9443/admin/index.cgi?index=15&UID=809
[Fri Sep 07 12:47:20 2012] [error] [client 10.10.2.125] DBD::mysql::db do failed: Duplicate entry '' for key 1 at ../../Abills/mysql//main.pm line 134., referer: https://10.10.0.1:9443/admin/index.cgi?UID=809&index=2
[Fri Sep 07 12:47:21 2012] [error] [client 10.10.2.125] DBD::mysql::db do failed: Duplicate entry '' for key 1 at ../../Abills/mysql//main.pm line 134., referer: https://10.10.0.1:9443/admin/index.cgi
[Fri Sep 07 12:47:28 2012] [error] [client 10.10.2.125] DBD::mysql::db do failed: Duplicate entry '' for key 1 at ../../Abills/mysql//main.pm line 134., referer: https://10.10.0.1:9443/admin/index.cgi?index=15&UID=809
[Fri Sep 07 12:49:33 2012] [error] [client 10.10.2.125] DBD::mysql::db do failed: Duplicate entry '' for key 1 at ../../Abills/mysql//main.pm line 134., referer: https://10.10.0.1:9443/admin/index.cgi?index=1
[Fri Sep 07 12:59:27 2012] [error] [client 10.10.2.125] DBD::mysql::db do failed: Duplicate entry '' for key 1 at ../../Abills/mysql//main.pm line 134., referer: https://10.10.0.1:9443/admin/index.cgi?index=1&pg=100
[Fri Sep 07 13:01:04 2012] [error] [client 10.10.2.125] DBD::mysql::db do failed: Duplicate entry '' for key 1 at ../../Abills/mysql//main.pm line 134., referer: https://10.10.0.1:9443/admin/index.cgi?index=1&letter=b
[Fri Sep 07 13:01:10 2012] [error] [client 10.10.2.125] DBD::mysql::db do failed: Duplicate entry '' for key 1 at ../../Abills/mysql//main.pm line 134., referer: https://10.10.0.1:9443/admin/index.cgi?index=15&UID=995

Подскажите, куда копать? Хотя все работает. И в /tmp/sql_errors ничего в данные моменты.
И еще... после
# cvs -z3 -d:pserver:anonymous@abills.cvs.sourceforge.net:/cvsroot/abills checkout -r rel-0-5 abills
исчез модуль /usr/abills/Abills/mysql/Storage.pm , пришлось доставать его из бакапа и, может я не прав, но не хватает
ALTER TABLE `storage_discard` ADD COLUMN `sum` int(10) unsigned NOT NULL default '0';
для корректной работы кнопки "Списано" в пункте "Система-Склад"

~AsmodeuS~
Site Admin
Сообщения: 5749
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Обновился сегодня ... ошибки в abills-error.log

Сообщение ~AsmodeuS~ »

посмотрите коректна ли таблица

CREATE TABLE `web_online` (
`admin` varchar(15) NOT NULL default '',
`ip` varchar(15) NOT NULL default '',
`logtime` int(11) unsigned NOT NULL default '0',
`page_index` int unsigned NOT NULL Default 0,
`sid` varchar(32) NOT NULL default '',
`ext_info` varchar(200) NOT NULL default '',
`aid` smallint(6) unsigned NOT NULL default '0',
KEY (`aid`),
UNIQUE KEY `sid` (`sid`)
) COMMENT="Online admins" ;

michaeladm
Сообщения: 4
Зарегистрирован: Ср мар 14, 2012 10:43 am

Re: Обновился сегодня ... ошибки в abills-error.log

Сообщение michaeladm »

...да, именно такая. Конкретнее, что в нутри:
admin |ip |logtime |page_index |sid |ext_info |aid
Flashka |10.10.2.125 |1347024656 |0 | | |10
Это не может быть связанно с одновременной работой нескольких человек в биллинге? Или MyISAM структурой в MySQL?
Дело в том, что это както переодично - то есть эти ошибки, то нет при переходе по пунктам биллинга. :shock:

~AsmodeuS~
Site Admin
Сообщения: 5749
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Обновился сегодня ... ошибки в abills-error.log

Сообщение ~AsmodeuS~ »

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

мы советуем работать с inodb

michaeladm
Сообщения: 4
Зарегистрирован: Ср мар 14, 2012 10:43 am

Re: Обновился сегодня ... ошибки в abills-error.log

Сообщение michaeladm »

Пересоздание таблицы не помогло. Ошибки "...Duplicate entry '' for key 1 at..." валятся при одновременной работе в биллинге нескольких админов.
По поводу InnoDB. Нам удобнее пользоваться именно MyISAM, при какой нибудь катастрофе (выдернули кабель питания с сервака) быстро сделать REPAIRTABLE - и все заработало. В InnoDB - это гемор и не факт, что поможет :)

~AsmodeuS~
Site Admin
Сообщения: 5749
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Обновился сегодня ... ошибки в abills-error.log

Сообщение ~AsmodeuS~ »

michaeladm писал(а):Пересоздание таблицы не помогло. Ошибки "...Duplicate entry '' for key 1 at..." валятся при одновременной работе в биллинге нескольких админов.
По поводу InnoDB. Нам удобнее пользоваться именно MyISAM, при какой нибудь катастрофе (выдернули кабель питания с сервака) быстро сделать REPAIRTABLE - и все заработало. В InnoDB - это гемор и не факт, что поможет :)

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

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

michaeladm
Сообщения: 4
Зарегистрирован: Ср мар 14, 2012 10:43 am

Re: Обновился сегодня ... ошибки в abills-error.log

Сообщение michaeladm »

~AsmodeuS~ писал(а): тогда вы теряете использование транзакций и целостность данных из отсутствия внешних ключей
совершенно верно если один логин используют несколько админов, в будущем будем блокировать такие попытки
За несколько лет потеря целостности данных не наблюдалась.
Несколько админов используют каждый свой логин. Имеется ввиду одновременная работа нескольких админов, каждый под своим логином.

Makioro
Сообщения: 241
Зарегистрирован: Ср апр 27, 2011 11:09 am

Re: Обновился сегодня ... ошибки в abills-error.log

Сообщение Makioro »

Хм, у меня такие сообщения сегодня сыпались весь день
Я накатывал версию от 21.05.2012 к 06.08.2012. Хотел обновиться с утра, начал в базе делать изменения и ввел эти:

Код: Выделить всё

ALTER TABLE `abon_user_list` ADD COLUMN `service_count` smallint(4) unsigned NOT NULL DEFAULT 1;
UPDATE abon_user_list SET service_count=1
и эти

Код: Выделить всё

ALTER TABLE payments ADD COLUMN `reg_date` datetime NOT NULL default '0000-00-00 00:00:00';
CREATE TABLE docs_invoice2payments (
`invoice_id` int(11) unsigned NOT NULL default 0,
`payment_id` int(11) unsigned NOT NULL default 0,
`sum` double(10,2) NOT NULL default '0.00',
PRIMARY  KEY `invoice2payments` (`invoice_id`, `payment_id`),
FOREIGN KEY (payment_id) REFERENCES payments(id),
FOREIGN KEY (invoice_id) REFERENCES docs_invoices(id)
) COMMENT='Docs Invoice to payments' ;
REPLACE INTO docs_invoice2payments (SELECT i.id, i.payment_id, p.sum FROM docs_invoices i, payments p WHERE i.payment_id=p.id);

create table id (id int not null default 0);

DELETE FROM id;
INSERT INTO id SELECT r.id from docs_receipts r LEFT JOIN payments p ON (p.id=r.payment_id) WHERE p.id IS null;
Далее увидел, что в следующей команде

Код: Выделить всё

DELETE from docs_receipts  WHERE id in (SELECT id from id);
удаление, решил что лучше повременить с обновлением до вечера, когда можно будет не опасаться утери оплат от клиентов в случае отката изменений.
Весь день валили сообщения как в первом посте, а когда вечером закончил обновление, эти сообщения прекратились.
Надеюсь, мой пост поможет топик стартеру разобраться с проблемой

Ответить