[SERVER-16741] Unable to create wiredTiger database with name containing ASCII control character with directoryperdb Created: 06/Jan/15  Updated: 28/Sep/16  Resolved: 28/May/15

Status: Closed
Project: Core Server
Component/s: Storage, WiredTiger
Affects Version/s: None
Fix Version/s: 3.1.4

Type: Bug Priority: Minor - P4
Reporter: Spencer Jackson Assignee: David Hows
Resolution: Done Votes: 0
Labels: 28qa, FT, wiredtiger
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Identified on Linux.


Attachments: File unprintable.cpp    
Issue Links:
Documented
is documented by DOCS-8987 Unable to create wiredTiger database ... Closed
Related
related to SERVER-16765 WiredTiger accepts fewer characters i... Closed
Backwards Compatibility: Minor Change
Operating System: ALL
Steps To Reproduce:

Compile the attached C++ program. This program will take a hex code as an argument and create a database whose name is the character represented by the hex code.

Start mongod with --directoryperdb and --storageEngine wiredTiger

Run ./unprintable 07

Participants:

 Description   

Creating a database whose name consists of a single ASCII control character will fail on wiredTiger when using directoryperdb. The resulting error message is:

2015-01-06T15:57:47.849-0500 E STORAGE [conn1] WiredTiger (22) [1420577867:849716][8582:0x7f7f6cee1700], session.create: Error parsing 'source="file:/collection-2--8284435167946820371.wt"' at byte 13: Unexpected character: Invalid argument
2015-01-06T15:57:47.849-0500 I - [conn1] Assertion: 2:22: Invalid argument
2015-01-06T15:57:47.850-0500 I WRITE [conn1] insert .col query:

{ _id: ObjectId('54ac4c4b45b361825ef700be'), data: true }

ninserted:0 keyUpdates:0 exception: 22: Invalid argument code:2 249ms

Either disabling directoryperdb or using mmapv1 prevents this error from occurring.



 Comments   
Comment by Githook User [ 12/May/15 ]

Author:

{u'username': u'daveh86', u'name': u'daveh86', u'email': u'howsdav@gmail.com'}

Message: SERVER-16741 Add escape sequence to directoryperdb paths in KV Store
Branch: master
https://github.com/mongodb/mongo/commit/21a16d229bdba571f1118a419898b666c666b869

Comment by Githook User [ 11/May/15 ]

Author:

{u'username': u'amidvidy', u'name': u'Adam Midvidy', u'email': u'amidvidy@gmail.com'}

Message: Revert "SERVER-16741 Add escape sequence to directoryperdb paths in KV Store"

This reverts commit e45ec68181c5d27074c75be6627f9660f75cf484.
Branch: master
https://github.com/mongodb/mongo/commit/b73ab5765fb75ae87ee5ad0f4afbc4fdfc2bc151

Comment by Githook User [ 11/May/15 ]

Author:

{u'username': u'daveh86', u'name': u'daveh86', u'email': u'howsdav@gmail.com'}

Message: SERVER-16741 Add escape sequence to directoryperdb paths in KV Store
Branch: master
https://github.com/mongodb/mongo/commit/e45ec68181c5d27074c75be6627f9660f75cf484

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