Tickets ошибка в логах
В последнее время в логах постоянно присутствует ошибка:
В целом на работу Tickets не влияет, но вместо количества комментариев в одном тикете показывает 0.
Помогите, пожалуйста, ее исправить.
[2015-08-28 11:12:43] (ERROR @ /index.php) [pdoTools] Could not load collection of "Ticket":
Error 42000: The SELECT would examine more than MAX_JOIN_SIZE rows;
check your WHERE and use SET SQL_BIG_SELECTS=1 or SET MAX_JOIN_SIZE=# if the SELECT is okay
В целом на работу Tickets не влияет, но вместо количества комментариев в одном тикете показывает 0.
Помогите, пожалуйста, ее исправить.
Комментарии: 16
Какая версия pdoTools? Начиная в 1.9.6 там SQL_BIG_SELECTS = 1 включено по умолчанию.
pdoTools 1.10.1-pl, SQL_BIG_SELECTS = 1 есть.
Устанавливала в марте, все работало нормально. Ошибка появилась недели три назад.
Единственное, что обновляла в августе — это Ace.
Устанавливала в марте, все работало нормально. Ошибка появилась недели три назад.
Единственное, что обновляла в августе — это Ace.
Значит, уже нужен MAX_JOIN_SIZE = 1.
Сколько же в этом тикете комментариев, что не могут присоединиться? И какая версия Tickets?
Сколько же в этом тикете комментариев, что не могут присоединиться? И какая версия Tickets?
Tickets 1.5.0-pl
6 веток и всего 20 комментариев на все ветки.
6 веток и всего 20 комментариев на все ветки.
Тогда это всё как-то очень странно.
Может, накручено что-то в вызовах? Добавлены какие-то джойны? У нас тут на порядки больше и веток и комментариев, однако никаких ошибок нет.
Может, накручено что-то в вызовах? Добавлены какие-то джойны? У нас тут на порядки больше и веток и комментариев, однако никаких ошибок нет.
Все посмотрела, php не трогала, в настройках подключен свой tickets.frontend_js, все используемые шаблоны свои. Настраивала всё в феврале и больше не трогала. Не знаю, что это может быть.
А как исправить?
А как исправить?
Ошибка появляется только в списке тикетов.
Вызываю так:
Вызываю так:
[[!pdoPage?
&element=`getTickets`
&includeTVs=`lock,fire`
&tpl=`cmtTicketsListRow`
&showLog=`1`
]]
Log:0.0002129: Query parameters are prepared.
0.0000620: xPDO query object created
0.0006239: Included list of tvs: fire, lock
0.0003219: leftJoined TicketsSection as Section
0.0002720: leftJoined modUser as User
0.0002670: leftJoined modUserProfile as Profile
0.0006528: leftJoined TicketVote as Vote
0.0006521: leftJoined TicketStar as Star
0.0002680: leftJoined modTemplateVarResource as TVfire
0.0002611: leftJoined modTemplateVarResource as TVlock
0.0000050: Grouped by Ticket.id
0.0001380: Added selection of TicketsSection: SQL_CALC_FOUND_ROWS `id` AS `section.id`, `type` AS `section.type`, `contentType` AS `section.contentType`, `pagetitle` AS `section.pagetitle`, `longtitle` AS `section.longtitle`, `description` AS `section.description`, `alias` AS `section.alias`, `link_attributes` AS `section.link_attributes`, `published` AS `section.published`, `pub_date` AS `section.pub_date`, `unpub_date` AS `section.unpub_date`, `parent` AS `section.parent`, `isfolder` AS `section.isfolder`, `introtext` AS `section.introtext`, `richtext` AS `section.richtext`, `template` AS `section.template`, `menuindex` AS `section.menuindex`, `searchable` AS `section.searchable`, `cacheable` AS `section.cacheable`, `createdby` AS `section.createdby`, `createdon` AS `section.createdon`, `editedby` AS `section.editedby`, `editedon` AS `section.editedon`, `deleted` AS `section.deleted`, `deletedon` AS `section.deletedon`, `deletedby` AS `section.deletedby`, `publishedon` AS `section.publishedon`, `publishedby` AS `section.publishedby`, `menutitle` AS `section.menutitle`, `donthit` AS `section.donthit`, `privateweb` AS `section.privateweb`, `privatemgr` AS `section.privatemgr`, `content_dispo` AS `section.content_dispo`, `hidemenu` AS `section.hidemenu`, `class_key` AS `section.class_key`, `context_key` AS `section.context_key`, `content_type` AS `section.content_type`, `uri` AS `section.uri`, `uri_override` AS `section.uri_override`, `hide_children_in_tree` AS `section.hide_children_in_tree`, `show_in_tree` AS `section.show_in_tree`, `properties` AS `section.properties`
0.0000381: Added selection of modUser: `username`
0.0000560: Added selection of modUserProfile: `internalKey`, `fullname`, `email`, `phone`, `mobilephone`, `blocked`, `blockeduntil`, `blockedafter`, `logincount`, `lastlogin`, `thislogin`, `failedlogincount`, `sessionid`, `dob`, `gender`, `address`, `country`, `city`, `state`, `zip`, `fax`, `photo`, `comment`, `website`, `extended`
0.0000710: Added selection of Ticket: `id`, `type`, `contentType`, `pagetitle`, `longtitle`, `description`, `alias`, `link_attributes`, `published`, `pub_date`, `unpub_date`, `parent`, `isfolder`, `introtext`, `richtext`, `template`, `menuindex`, `searchable`, `cacheable`, `createdby`, `createdon`, `editedby`, `editedon`, `deleted`, `deletedon`, `deletedby`, `publishedon`, `publishedby`, `menutitle`, `donthit`, `privateweb`, `privatemgr`, `content_dispo`, `hidemenu`, `class_key`, `context_key`, `content_type`, `uri`, `uri_override`, `hide_children_in_tree`, `show_in_tree`, `properties`
0.0000451: Added selection of TicketVote: `value` as `vote`
0.0000999: Added selection of TicketStar: COUNT(`id`) as `star`
0.0000260: Added selection of modTemplateVarResource: IFNULL(`value`, '') AS `fire`
0.0000229: Added selection of modTemplateVarResource: IFNULL(`value`, '') AS `lock`
0.0006330: Processed additional conditions
0.0009708: Added where condition: Ticket.parent:IN(133,134,135,136,137,138,139), Ticket.published=1, Ticket.deleted=0
0.0000620: Replaced TV conditions
0.0001390: Sorted by Ticket.createdon, DESC
0.0000060: Limited to 10, offset
0.0007029: SQL prepared "SELECT SQL_CALC_FOUND_ROWS `Section`.`id` AS `section.id`, `Section`.`type` AS `section.type`, `Section`.`contentType` AS `section.contentType`, `Section`.`pagetitle` AS `section.pagetitle`, `Section`.`longtitle` AS `section.longtitle`, `Section`.`description` AS `section.description`, `Section`.`alias` AS `section.alias`, `Section`.`link_attributes` AS `section.link_attributes`, `Section`.`published` AS `section.published`, `Section`.`pub_date` AS `section.pub_date`, `Section`.`unpub_date` AS `section.unpub_date`, `Section`.`parent` AS `section.parent`, `Section`.`isfolder` AS `section.isfolder`, `Section`.`introtext` AS `section.introtext`, `Section`.`richtext` AS `section.richtext`, `Section`.`template` AS `section.template`, `Section`.`menuindex` AS `section.menuindex`, `Section`.`searchable` AS `section.searchable`, `Section`.`cacheable` AS `section.cacheable`, `Section`.`createdby` AS `section.createdby`, `Section`.`createdon` AS `section.createdon`, `Section`.`editedby` AS `section.editedby`, `Section`.`editedon` AS `section.editedon`, `Section`.`deleted` AS `section.deleted`, `Section`.`deletedon` AS `section.deletedon`, `Section`.`deletedby` AS `section.deletedby`, `Section`.`publishedon` AS `section.publishedon`, `Section`.`publishedby` AS `section.publishedby`, `Section`.`menutitle` AS `section.menutitle`, `Section`.`donthit` AS `section.donthit`, `Section`.`privateweb` AS `section.privateweb`, `Section`.`privatemgr` AS `section.privatemgr`, `Section`.`content_dispo` AS `section.content_dispo`, `Section`.`hidemenu` AS `section.hidemenu`, `Section`.`class_key` AS `section.class_key`, `Section`.`context_key` AS `section.context_key`, `Section`.`content_type` AS `section.content_type`, `Section`.`uri` AS `section.uri`, `Section`.`uri_override` AS `section.uri_override`, `Section`.`hide_children_in_tree` AS `section.hide_children_in_tree`, `Section`.`show_in_tree` AS `section.show_in_tree`, `Section`.`properties` AS `section.properties`, `User`.`username`, `Profile`.`internalKey`, `Profile`.`fullname`, `Profile`.`email`, `Profile`.`phone`, `Profile`.`mobilephone`, `Profile`.`blocked`, `Profile`.`blockeduntil`, `Profile`.`blockedafter`, `Profile`.`logincount`, `Profile`.`lastlogin`, `Profile`.`thislogin`, `Profile`.`failedlogincount`, `Profile`.`sessionid`, `Profile`.`dob`, `Profile`.`gender`, `Profile`.`address`, `Profile`.`country`, `Profile`.`city`, `Profile`.`state`, `Profile`.`zip`, `Profile`.`fax`, `Profile`.`photo`, `Profile`.`comment`, `Profile`.`website`, `Profile`.`extended`, `Ticket`.`id`, `Ticket`.`type`, `Ticket`.`contentType`, `Ticket`.`pagetitle`, `Ticket`.`longtitle`, `Ticket`.`description`, `Ticket`.`alias`, `Ticket`.`link_attributes`, `Ticket`.`published`, `Ticket`.`pub_date`, `Ticket`.`unpub_date`, `Ticket`.`parent`, `Ticket`.`isfolder`, `Ticket`.`introtext`, `Ticket`.`richtext`, `Ticket`.`template`, `Ticket`.`menuindex`, `Ticket`.`searchable`, `Ticket`.`cacheable`, `Ticket`.`createdby`, `Ticket`.`createdon`, `Ticket`.`editedby`, `Ticket`.`editedon`, `Ticket`.`deleted`, `Ticket`.`deletedon`, `Ticket`.`deletedby`, `Ticket`.`publishedon`, `Ticket`.`publishedby`, `Ticket`.`menutitle`, `Ticket`.`donthit`, `Ticket`.`privateweb`, `Ticket`.`privatemgr`, `Ticket`.`content_dispo`, `Ticket`.`hidemenu`, `Ticket`.`class_key`, `Ticket`.`context_key`, `Ticket`.`content_type`, `Ticket`.`uri`, `Ticket`.`uri_override`, `Ticket`.`hide_children_in_tree`, `Ticket`.`show_in_tree`, `Ticket`.`properties`, `Vote`.`value` as `vote`, COUNT(`Star`.`id`) as `star`, IFNULL(`TVfire`.`value`, '') AS `fire`, IFNULL(`TVlock`.`value`, '') AS `lock` FROM `modx_site_content` AS `Ticket` LEFT JOIN `modx_site_content` `Section` ON `Section`.`id` = `Ticket`.`parent` LEFT JOIN `modx_users` `User` ON `User`.`id` = `Ticket`.`createdby` LEFT JOIN `modx_user_attributes` `Profile` ON `Profile`.`internalKey` = `User`.`id` LEFT JOIN `modx_tickets_votes` `Vote` ON `Vote`.`id` = `Ticket`.`id` AND `Vote`.`class` = "Ticket" AND `Vote`.`createdby` = 1 LEFT JOIN `modx_tickets_stars` `Star` ON `Star`.`id` = `Ticket`.`id` AND `Star`.`class` = "Ticket" AND `Star`.`createdby` = 1 LEFT JOIN `modx_site_tmplvar_contentvalues` `TVfire` ON `TVfire`.`contentid` = `Ticket`.`id` AND `TVfire`.`tmplvarid` = 17 LEFT JOIN `modx_site_tmplvar_contentvalues` `TVlock` ON `TVlock`.`contentid` = `Ticket`.`id` AND `TVlock`.`tmplvarid` = 1 WHERE ( `Ticket`.`parent` IN (133,134,135,136,137,138,139) AND `Ticket`.`published` = 1 AND `Ticket`.`deleted` = 0 ) GROUP BY Ticket.id ORDER BY Ticket.createdon DESC LIMIT 10 "
0.0002260: SQL executed
0.0001881: Total rows: 6
0.0001478: Rows fetched
0.0005360: Returning raw data
0.0115032: Loaded chunk "cmtTicketsListRow"
0.0431619: Returning processed chunks
0.0632241: Total time
20 185 088: Memory usage
Что в чанке cmtTicketsListRow?
<div class="row panel-page" data-id="[[+id]]">
<div class="row">
<div class="col-xs-1 text-right" style="margin-top:5px">
[[+lock:notempty=`<img src="[[+lock]]" alt="Закрытый раздел" title="Закрытый раздел" />`]]
</div>
<div class="col-xs-17 col-sm-18 col-lg-18">
<h2>
[[+lock:ne=``:then=`
[[!+modx.user.id:isloggedin:is=`1`:then=`<a href="[[~[[+id]]]]">
`:else=`<a href="#" data-toggle="modal" data-target="#login" value="[[+id]]">`]]
`:else=`<a href="[[~[[+id]]]]">`]]
[[+pagetitle]]</a>
</h2>
<em>[[+introtext]]</em>
</div>
<div class="col-xs-2 col-sm-1 text-right">
[[+fire:notempty=`<img src="[[+fire]]" alt="Важная тема" title="Важная тема" />`]]
</div>
<div class="col-xs-2 col-sm-1 col-lg-1 text-right">
<i class="glyphicon glyphicon-comment" title="Кол-во комментариев"></i><br />[[+comments]] [[+new_comments]]
</div>
</div>
<div class="row" style="border-top:#ccc 1px solid; margin-top:5px; padding-top:5px;">
<div class="col-xs-19 col-xs-offset-1">
<p class="comment">Тема создана: [[+date_ago]] | Автор: [[!+modx.user.id:isloggedin:is=`1`:then=`[[+fullname]]`:else=`[[+extended.firstname]]`]]</p>
</div>
</div>
</div>
<!--tickets_new_comments <span class="ticket-new-comments" title="Новые комментарии">+[[+new_comments]]</span>-->
<!--tickets_active active-->
<!--tickets_inactive inactive-->
Никакого криминала не вижу. Мистика, какая-то!
Правда, тут видно нужно самому смотреть на сайте, а мне некогда.
Правда, тут видно нужно самому смотреть на сайте, а мне некогда.
Да, мистика.
Попробовала (не знаю правильно или нет) заменить SQL_BIG_SELECTS = 1 на MAX_JOIN_SIZE = 1, потом на MAX_JOIN_SIZE = #. Все-равно ошибка, точнее 6 тикетов и 6 ошибок.
Может быть можно как-то протестировать что и как к странице подключается и где ошибка?
Василий, а когда у Вас найдется немного времени?
Попробовала (не знаю правильно или нет) заменить SQL_BIG_SELECTS = 1 на MAX_JOIN_SIZE = 1, потом на MAX_JOIN_SIZE = #. Все-равно ошибка, точнее 6 тикетов и 6 ошибок.
Может быть можно как-то протестировать что и как к странице подключается и где ошибка?
Василий, а когда у Вас найдется немного времени?
С понедельника в отпуске на 2 недели, так что нескоро.
Мне кажется, что проблема у вас в хостинге. Возможно, там поменяли настройки MySQL. Попробуйте обратиться к кому-нибудь из местных специалистов.
Мне кажется, что проблема у вас в хостинге. Возможно, там поменяли настройки MySQL. Попробуйте обратиться к кому-нибудь из местных специалистов.
Написала хостеру, посмотрим, что ответят.
Если хостер не поможет, то буду ждать Вас из отпуска.
Желаю хорошо отдохнуть!
Если хостер не поможет, то буду ждать Вас из отпуска.
Желаю хорошо отдохнуть!
Хостер ответил:
заменить
Ура! Всё заработало, ошибки больше нет!
Василий, спасибо!
заменить
$this->modx->exec('SET OPTION SQL_BIG_SELECTS = 1');
на$this->modx->exec('SET SQL_BIG_SELECTS = 1');
следуя синтакcису MySQL 5.6.Ура! Всё заработало, ошибки больше нет!
Василий, спасибо!
То есть, хостер обновил MySQL, понятно.
видимо, да
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.