[SERVER-7289] validate command should do more inexpensive tests Created: 07/Oct/12  Updated: 11/Jul/16  Resolved: 11/Oct/12

Status: Closed
Project: Core Server
Component/s: Storage
Affects Version/s: 2.0.7, 2.2.0
Fix Version/s: 2.2.2, 2.3.0

Type: Improvement Priority: Major - P3
Reporter: Tad Marshall Assignee: Tad Marshall
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Fully Compatible
Participants:

 Description   

The validate command does not do some cheap and easy tests for validation.

  1. The 'xprev' pointer in each extent in the extent list should point to the previous extent, or be null for the first extent
  2. The 'lastExtent' pointer in NamespaceDetails should point to the last extent
  3. If an exception is thrown while counting extents, the failing extent is not identified
  4. If an exception is thrown while counting extents, no count is reported
  5. If an exception is thrown while counting extents, the first extent is not validated and the check for 'xprev' in the first extent being null is skipped
  6. If an invalid signature is found in an extent, the value found is not reported and the extent is not identified
  7. The "self-pointer" 'myLoc' in an extent is not validated
  8. The extent size should be compared with Extent::minSize(), not zero


 Comments   
Comment by auto [ 06/Nov/12 ]

Author:

{u'date': u'2012-10-09T20:33:45Z', u'email': u'tad@10gen.com', u'name': u'Tad Marshall'}

Message: SERVER-7289 add inexpensive tests to validate command

Checks added to the validate command:
1) The 'xprev' pointer in each extent in the extent list should point
to the previous extent, or be null for the first extent
2) The 'lastExtent' pointer in NamespaceDetails should point to the last extent
3) If an exception is thrown while counting extents, identify the failing extent
4) If an exception is thrown while counting extents, report the count
5) If an exception is thrown while counting extents, the first extent should be
validated and the check for 'xprev' in the first extent being null should be done
6) If an invalid signature is found in an extent, report the value found and
identify the extent
7) The "self-pointer" 'myLoc' in an extent should be validated
8) The extent size should be compared with Extent::minSize(), not zero
Branch: v2.2
https://github.com/mongodb/mongo/commit/c5bfd792bd6b53ebb753784d3786a7afeb4ccfbb

Comment by auto [ 11/Oct/12 ]

Author:

{u'date': u'2012-10-09T13:33:45-07:00', u'email': u'tad@10gen.com', u'name': u'Tad Marshall'}

Message: SERVER-7289 add inexpensive tests to validate command

Checks added to the validate command:
1) The 'xprev' pointer in each extent in the extent list should point
to the previous extent, or be null for the first extent
2) The 'lastExtent' pointer in NamespaceDetails should point to the last extent
3) If an exception is thrown while counting extents, identify the failing extent
4) If an exception is thrown while counting extents, report the count
5) If an exception is thrown while counting extents, the first extent should be
validated and the check for 'xprev' in the first extent being null should be done
6) If an invalid signature is found in an extent, report the value found and
identify the extent
7) The "self-pointer" 'myLoc' in an extent should be validated
8) The extent size should be compared with Extent::minSize(), not zero
Branch: master
https://github.com/mongodb/mongo/commit/65d082199d1f6573c530f75790d27d5fc984abfc

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