[SERVER-32509] Mobile SE: Implement error reporting for unsupported startup options Created: 02/Jan/18  Updated: 30/Oct/23  Resolved: 05/Jul/18

Status: Closed
Project: Core Server
Component/s: Storage
Affects Version/s: None
Fix Version/s: 4.0.1, 4.1.1

Type: Improvement Priority: Major - P3
Reporter: Sulabh Mahajan Assignee: Sulabh Mahajan
Resolution: Fixed Votes: 0
Labels: nonnyc, storage-engines
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Documented
is documented by DOCS-11907 Docs for SERVER-32509: Mobile SE: Imp... Closed
Backwards Compatibility: Fully Compatible
Backport Requested:
v4.0
Sprint: Storage Non-NYC 2018-07-02, Storage Non-NYC 2018-07-16
Participants:
Story Points: 3

 Comments   
Comment by Githook User [ 06/Jul/18 ]

Author:

{'username': 'sulabhM', 'name': 'Sulabh Mahajan', 'email': 'sulabh.mahajan@mongodb.com'}

Message: SERVER-32509 Report error for unsupported startup-options with Mobile SE

(cherry picked from commit 1899ec4b7b692e1a0aaf0086194f22f893a6cb55)
Branch: v4.0
https://github.com/mongodb/mongo/commit/6de0a65f11817a9bdbecdd05c65344b6b583f40b

Comment by Githook User [ 05/Jul/18 ]

Author:

{'username': 'sulabhM', 'name': 'Sulabh Mahajan', 'email': 'sulabh.mahajan@mongodb.com'}

Message: SERVER-32509 Remove --repair error reporting and "mobile" reference
Branch: master
https://github.com/mongodb/mongo/commit/a76888797c5713382aa7139157880aad2db378d5

Comment by Githook User [ 05/Jul/18 ]

Author:

{'username': 'sulabhM', 'name': 'Sulabh Mahajan', 'email': 'sulabh.mahajan@mongodb.com'}

Message: SERVER-32509 Report error for unsupported startup-options with Mobile SE
Branch: master
https://github.com/mongodb/mongo/commit/1899ec4b7b692e1a0aaf0086194f22f893a6cb55

Comment by Eric Milkie [ 27/Jun/18 ]

indexBuildRetry was intended for resuming index builds on secondary nodes with unclean shutdowns, so mobile shouldn't have to worry about it here. It would be fine to disable it (make it default to 'false' on mobile). Its behavior will be changing for 4.2 in any event.

I think you should ignore the syncPeriodSecs on mobile – we can document this to make it clear to users.

Comment by Sulabh Mahajan [ 27/Jun/18 ]

Status:
Coded the changes for:

  • Journal disabled - throw an error
  • directoryPerDB - engine settings already set to not supported, warning taking care of
  • turning replication ON - throw an error
  • repair - throw an error (repairPath defaults to database directory if not specified, I don't think we need to error out if user sets repairPath but doesn't specify --repair)
  • profiling - throw an error

Need to discuss the following:

  • The default for indexBuildRetry is true. Need to confirm the behaviour when index build is interrupted and session restarted and fix accordingly
  • storage.syncPeriodSecs or --syncdelay defaults to 60 and that doesn't make sense with mobile. SERVER-33651 makes sure SQLite3 runs with PRAGMA synchronous=FULL which should amount to fsync-ing each operation and hence equivalent to no syncdelay. I am not sure how to address it if the user tries to configure that value.
Comment by Eric Milkie [ 20/Jun/18 ]

(But I forgot you'll be backporting this to 4.0, so in retrospect it doesn't matter when you do this work.)

Comment by Eric Milkie [ 20/Jun/18 ]

You may want to wait a bit to do this work, as some of those command line options will be going away in this development cycle. For example, repairPath will be removed as part of the removal of MMAP, and indexBuildRetry will be going away as part of the two-phase index build project.

Comment by Sulabh Mahajan [ 20/Jun/18 ]

Implement error reporting for unsupported startup options:

  • Journal disabled
  • directoryPerDB
  • indexBuildRetry
  • repairPath
  • syncPeriodSecs
  • repair
  • Profiling
  • (Confirm enabling oplog/replication returns the right error)
Generated at Thu Feb 08 04:30:26 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.