[SERVER-32709] Mobile SE: Index creation takes a long time Created: 16/Jan/18  Updated: 30/Oct/23  Resolved: 05/Apr/19

Status: Closed
Project: Core Server
Component/s: Storage
Affects Version/s: None
Fix Version/s: 4.1.10, 4.0.10

Type: Improvement Priority: Major - P3
Reporter: Neha Khatri Assignee: Henrik Edin
Resolution: Fixed Votes: 0
Labels: SERG, nonnyc, storage-engines
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
depends on SERVER-40124 Mobile SE: Make All SQLite Pragmas Co... Closed
depends on SERVER-39259 Mobile SE: Adjust SQLite Pragmas for ... Closed
Related
related to SERVER-40561 Mobile SE: Building indexes on preexi... Closed
related to SERVER-40444 IndexCatalogEntry should expose Names... Closed
related to SERVER-40463 stringutils should return StringData ... Closed
Backwards Compatibility: Fully Compatible
Backport Requested:
v4.0
Sprint: Dev Tools 2019-04-08
Participants:
Linked BF Score: 43

 Description   

The createIndex operation takes a long time on a mongoDB instance started with Mobile storage engine . Due to this some of the jstests in the test suites either timeout or take too long to execute. The following tests have been disabled for now because of this issue:

  • jstests/concurrency/fsm_workloads/reindex.js
  • jstests/concurrency/fsm_workloads/reindex_background.js
  • jstests/noPassthrough/indexbg1.js
  • jstests/noPassthrough/indexbg2.js
  • jstests/noPassthroughWithMongod/geo_polygon.js

It would be useful to understand the cause for the delay in index creation with Mobile storage engine. This ticket will track the effort in fixing this issue and then re-enabling the above tests.



 Comments   
Comment by Luke Chen [ 11/Apr/19 ]

Fixing up fixversion as this ticket was not included as part of 4.0.9 release.

Comment by Githook User [ 10/Apr/19 ]

Author:

{'email': 'henrik.edin@mongodb.com', 'name': 'Henrik Edin', 'username': 'henrikedin'}

Message: SERVER-32709 Improve performance with the mobile storage engine.

SQLite is configured with synchronous=NORMAL for all sessions.
Reduced temporary memory allocations when constructing SQL statements.
Implemented waitUntilDurable when this storage engine is used in mongod only.

(cherry picked from commit 2ee7dcb2bcb4372a49b8584c43bb65caea6212c8)
Branch: v4.0
https://github.com/mongodb/mongo/commit/3873c080388d5148afde90d7e02b2c4f5a297867

Comment by Githook User [ 05/Apr/19 ]

Author:

{'name': 'Henrik Edin', 'username': 'henrikedin', 'email': 'henrik.edin@mongodb.com'}

Message: SERVER-32709 Correctly pass cache_size to SQLite.
Branch: master
https://github.com/mongodb/mongo/commit/a05ef93e5a6c691f4b25800a2f3d94e273ab5b9f

Comment by Githook User [ 05/Apr/19 ]

Author:

{'email': 'henrik.edin@mongodb.com', 'name': 'Henrik Edin', 'username': 'henrikedin'}

Message: SERVER-32709 Fix duplicate error code
Branch: master
https://github.com/mongodb/mongo/commit/f3232b5169ac56da663520b6ecba95a42c84933a

Comment by Githook User [ 05/Apr/19 ]

Author:

{'email': 'henrik.edin@mongodb.com', 'name': 'Henrik Edin', 'username': 'henrikedin'}

Message: SERVER-32709 Improve performance with the mobile storage engine.

SQLite is configured with synchronous=NORMAL for all sessions.
Reduced temporary memory allocations when constructing SQL statements.
Implemented waitUntilDurable when this storage engine is used in mongod only.
Branch: master
https://github.com/mongodb/mongo/commit/2ee7dcb2bcb4372a49b8584c43bb65caea6212c8

Generated at Thu Feb 08 04:31:03 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.