SASGIS - SAS.Планета
View Issue Details
0002970SAS.Планета[All Projects] Багpublic24-02-2016 06:2827-03-2016 07:20
ygorigor 
zed 
normalmajoralways
resolvedfixed 
Windows 6.2Windows10
.Nightly 
160606160606 
0002970: Ошибка при поиске меток, если база данных в MongoDB 3.2.3
Выдаётся ассерт: List not ordered by Category! (D:\coding\Delphi\src\SAS.Planet\sas.nightly\sas.src\Src\MarksDB\mORMot\Marks\u_MarkDbImplORMHelper.pas, line 1152).
No tags attached.
? log.elf (30,031) 24-02-2016 08:14
http://www.sasgis.org/mantis/file_download.php?file_id=2020&type=bug
png Error.png (73,846) 24-02-2016 12:10
http://www.sasgis.org/mantis/file_download.php?file_id=2021&type=bug
png

png Error1.png (37,170) 24-02-2016 12:17
http://www.sasgis.org/mantis/file_download.php?file_id=2022&type=bug
png

log SASPlanet 20160326 113834.log (62,044) 26-03-2016 09:40
http://www.sasgis.org/mantis/file_download.php?file_id=2042&type=bug
Issue History
24-02-2016 06:28ygorigorNew Issue
24-02-2016 07:21zedNote Added: 0017027
24-02-2016 07:53ygorigorNote Added: 0017028
24-02-2016 08:12zedSummaryБаг при поиски меток если база данныв mongodb => Баг при поиске меток, если база данных в MongoDB
24-02-2016 08:12zedDescription Updatedbug_revision_view_page.php?rev_id=6860#r6860
24-02-2016 08:13zedSticky IssueNo => Yes
24-02-2016 08:13zedSticky IssueYes => No
24-02-2016 08:14zedFile Added: log.elf
24-02-2016 08:33zedNote Added: 0017029
24-02-2016 12:08ygorigorNote Added: 0017030
24-02-2016 12:10ygorigorFile Added: Error.png
24-02-2016 12:17ygorigorFile Added: Error1.png
24-02-2016 12:19ygorigorNote Edited: 0017030bug_revision_view_page.php?bugnote_id=17030#r6862
26-03-2016 05:41zedNote Added: 0017107
26-03-2016 05:42zedStatusnew => feedback
26-03-2016 09:40ygorigorFile Added: SASPlanet 20160326 113834.log
26-03-2016 13:08zedNote Added: 0017108
26-03-2016 13:11zedSummaryБаг при поиске меток, если база данных в MongoDB => Ошибка при поиске меток, если база данных в MongoDB 3.2.3
26-03-2016 13:12zedNote Edited: 0017108bug_revision_view_page.php?bugnote_id=17108#r6890
26-03-2016 14:45ygorigorNote Added: 0017109
26-03-2016 14:45ygorigorStatusfeedback => new
26-03-2016 14:47zedNote Added: 0017110
26-03-2016 14:56ygorigorNote Added: 0017111
26-03-2016 14:58ygorigorNote Edited: 0017111bug_revision_view_page.php?bugnote_id=17111#r6892
26-03-2016 15:05zedNote Added: 0017112
26-03-2016 15:18zedNote Added: 0017113
26-03-2016 15:45zedNote Added: 0017114
26-03-2016 16:03zedNote Added: 0017115
26-03-2016 16:32ygorigorNote Added: 0017116
27-03-2016 07:19zedStatusnew => resolved
27-03-2016 07:19zedFixed in Version => 160606
27-03-2016 07:19zedResolutionopen => fixed
27-03-2016 07:19zedAssigned To => zed
27-03-2016 07:20zedTarget Version => 160606

Notes
(0017027)
zed   
24-02-2016 07:21   
Версия монги?

Зачем лог выложили матроской? Тут же можно загружать и прикреплять файлы.
(0017028)
ygorigor   
24-02-2016 07:53   
mongo 3.2.3
(0017029)
zed   
24-02-2016 08:33   
Опишите свои действия для повторения ошибки?
(0017030)
ygorigor   
24-02-2016 12:08   
(edited on: 24-02-2016 12:19)
Нажимаю на кнопку Перейти, открывается окно Перейти к...
Начинаю печатать название метки и появляется эта ошибка.
В sqlite поиск работает без проблем, структура базы данных идентичная

(0017107)
zed   
26-03-2016 05:41   
Попробуйте собрать логи вот этой версией: https://yadi.sk/d/dYoK18KpqUfep

Может станет понятно, почему оно возвращает неотсортированный результат.
(0017108)
zed   
26-03-2016 13:08   
(edited on: 26-03-2016 13:12)
Из-за слишком большого количества меток, в лог не попал весь результат, а только первые 20 меток. Поэтому, попробуйте выполнить 2 запроса из консоли Robomongo и приложить результат:

db.Mark.find({$query:{},$orderby:{mCategory:1}},{_id:1,mCategory:1,mImage:1,mAppearance:1})

db.Mark.find({},{_id:1,mCategory:1,mImage:1,mAppearance:1}).sort({mCategory:1})

Первый - это то, как ходит SAS, второй - как рекомендуется. В доках написано, что $orderby устаревшая конструкция, и рекомендуют cursor.sort().

(0017109)
ygorigor   
26-03-2016 14:45   
Результат первого запроса

Error: error: {
    "waitedMS" : NumberLong(0),
    "ok" : 0,
    "errmsg" : "unknown top level operator: $query",
    "code" : 2
}

Со вторым все работает нормально.

Заметил еще что в версии 151111 оба запроса работают без проблем.
(0017110)
zed   
26-03-2016 14:47   
> в версии 151111 оба запроса работают без проблем
Не понял, при чём тут версия SAS?
(0017111)
ygorigor   
26-03-2016 14:56   
(edited on: 26-03-2016 14:58)
Перепутал, хотел сказать что в версии 151111 поиск работает, а в найтли появляется эта проблема

(0017112)
zed   
26-03-2016 15:05   
В подсистеме меток никаких изменений с того времени небыло.
(0017113)
zed   
26-03-2016 15:18   
Поставил сейчас себе для тестов MongoDB 3.2.4 x86, запустил вот так:

mongod --dbpath=data --directoryperdb --journal --storageEngine=mmapv1

Потом подключился к ней из SAS и поставил пару меток, а потом выполнил запрос из Robomongo 0.8.5 - никаких ошибок не наблюдаю. Ищите, что делаете не так.
(0017114)
zed   
26-03-2016 15:45   
А вот попытка выполнить этот запрос через mongo shell обламывается именно с такой ошибкой. Хотя, если к монге 3.2 подключиться шелом от 3.0, то этот запрос отрабатывает. Похоже, они таки этот $orderby конкретно поломали.
(0017115)
zed   
26-03-2016 16:03   
Добавил дополнительную сортировку на стороне SAS, тестируйте: https://yadi.sk/d/k-j-0h2gqViZf
(0017116)
ygorigor   
26-03-2016 16:32   
Поиск работает, ошибка не появляется