Files
documentdb/error_mappings.csv
Vinod Sridharan ccc471e169 Merged PR 1703619: [Cursors] Improve stability of file based cursors
### Does this PR have any customer impact?

### Type (Feature, Refactoring, Bugfix, DevOps, Testing, Perf, etc)

### Does it involve schema level changes? (Table, Column, Index, UDF, etc level changes)

### Are you introducing any new config? If yes, do you have tests with and without them being set?

### ChangeLog (Refer [Template](../oss/CHANGELOG.md))

### Description

----
#### AI description  (iteration 1)
#### PR Classification
Enhancement and bug fix to improve the stability and management of file-based cursors.

#### PR Summary
This pull request refactors and bolsters file-based cursor management by introducing shared memory support, improved cleanup, error handling, and configuration changes. It also adds new API endpoints and logging for better cursor lifecycle control.
- **`cursor_store.c` and related files:** Added shared memory functions (e.g., `FileCursorShmemSize`, `InitializeFileCursorShmem`), cursor count regulation (with `IncrementCursorCount`/`DecrementCursorCount`), and cleanup routines to ensure stable cursor file operations.
- **Test and expected output files:** Updated regression tests and expected outputs to cover scenarios like duplicate cursor creation, cursor deletion limits, and error reporting when the file cursor capacity is reached.
- **API enhancements:** Introduced new UDFs (e.g., `command_delete_cursors`) and tenant client methods for killing and deleting cursors, improving session management.
- **Configuration updates:** Renamed and added GUC parameters (e.g., `MaxAllowedCursorIntermediateFileSizeMB`, `MaxCursorFileCount`, and cursor expiry settings) to control file-based cursor behavior.
- **Logging and metrics improvements:** Enhanced logging in `mdsd_logger.c` to report current cursor counts and related metrics for operational insight.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->
2025-06-19 14:10:04 +08:00

12 KiB

1ErrorMappingErrorName
21InternalError
32BadValue
45GraphContainsCycle
59FailedToParse
614TypeMismatch
715Overflow
816InvalidLength
920IllegalOperation
1023AlreadyInitialized
1126NamespaceNotFound
1227IndexNotFound
1328PathNotViable
1431RoleNotFound
1534CannotBackfillArray
1640ConflictingUpdateOperators
1743CursorNotFound
1848NamespaceExists
1952DollarPrefixedFieldName
2053CanNotBeTypeArray
2154NotSingleValueField
2255Location55
2356EmptyFieldName
2457DottedFieldName
2561ShardKeyNotFound
2666ImmutableField
2767CannotCreateIndex
2868IndexAlreadyExists
2972InvalidOptions
3073InvalidNamespace
3185IndexOptionsConflict
3286IndexKeySpecsConflict
33111NotExactValueField
34115CommandNotSupported
35118NamespaceNotSharded
36121DocumentFailedValidation
37143CursorInUse
38146ExceededMemoryLimit
39159DurationOverflow
40165ViewDepthLimitExceeded
41166CommandNotSupportedOnView
42167OptionNotSupportedOnView
43181AmbiguousIndexKeyPattern
44197InvalidIndexSpecificationOption
45224QueryFeatureNotAllowed
46232MaxSubPipelineDepthExceeded
47241ConversionFailure
48263OperationNotSupportedInTransaction
49276IndexBuildAborted
50291UnableToFindIndex
51361CollectionUUIDMismatch
528000UserCountLimitExceeded
5310065Location10065
5410107NotWritablePrimary
5510334BsonObjectTooLarge
5611000DuplicateKey
5712587BackgroundOperationInProgressForNamespace
5813026Location13026
5913027Location13027
6013068Location13068
6113111Location13111
6213113MergeStageNoMatchingDocument
6313297DbAlreadyExists
6413548Location13548
6515947Location15947
6615952Location15952
6715955Location15955
6815957Location15957
6915958Location15958
7015959Location15959
7115972Location15972
7215976Location15976
7315981Location15981
7415998Location15998
7516004Location16004
7616006Location16006
7716007Location16007
7816020Location16020
7916034Location16034
8016035Location16035
8116410Location16410
8216411Location16411
8316433Location16433
8416554DollarAddNumericOrDateTypes
8516610DollarModByZeroProhibited
8616611DollarModOnlyNumeric
8716612DollarAddOnlyOneDate
8816702Location16702
8916747Location16747
9016748Location16748
9116749Location16749
9216755Location16755
9316764Location16764
9416766HashedIndexDoNotSupportArrayValues
9516800Location16800
9616801Location16801
9716804Location16804
9816874Location16874
9916875Location16875
10016876Location16876
10116878Location16878
10216879Location16879
10316880Location16880
10416882Location16882
10516883Location16883
10616990Location16990
10716994Location16994
10817040Location17040
10917041Location17041
11017042Location17042
11117043Location17043
11217044Location17044
11317045Location17045
11417046Location17046
11517047Location17047
11617048Location17048
11717049Location17049
11817053Location17053
11917080DollarCondMissingIfParameter
12017081DollarCondMissingThenParameter
12117082DollarCondMissingElseParameter
12217083DollarCondBadParameter
12317124DollarSizeRequiresArray
12417194ExactlyOneTextIndex
12517261Location17261
12617276Location17276
12717308Location17308
12817310Location17310
12917419DocumentAfterUpdateLargerThanMaxSize
13017420DocumentToUpsertLargerThanMaxSize
13118533Location18533
13218534Location18534
13318535Location18535
13418536Location18536
13518537Location18537
13618628Location18628
13718629Location18629
13828625Location28625
13928646Location28646
14028647Location28647
14128648Location28648
14228650Location28650
14328651Location28651
14428656Location28656
14528657Location28657
14628664Location28664
14728667RangeArgumentExpressionArgsOutOfRange
14828680DollarAbsCantTakeLongMinValue
14928689ArrayOperatorElemAtFirstArgMustBeArray
15028690DollarArrayElemAtSecondArgArgMustBeNumeric
15128691DollarArrayElemAtSecondArgArgMustBe32Bit
15228714DollarSqrtGreaterOrEqualToZero
15328724DollarSliceInvalidInput
15428725DollarSliceInvalidTypeSecondArg
15528726DollarSliceInvalidValueSecondArg
15628727DollarSliceInvalidTypeThirdArg
15728728DollarSliceInvalidValueThirdArg
15828729DollarSliceInvalidSignThirdArg
15928745Location28745
16028746Location28746
16128747Location28747
16228748Location28748
16328749Location28749
16428756DollarLogArgumentMustBeNumeric
16528757DollarLogBaseMustBeNumeric
16628758DollarLogNumberMustBePositive
16728759DollarLogBaseMustBeGreaterThanOne
16828761DollarLog10MustBePositiveNumber
16928762DollarPowBaseMustBeNumeric
17028763DollarPowExponentMustBeNumeric
17128764DollarPowExponentInvalidForZeroBase
17228765Location28765
17328766DollarLnMustBePositiveNumber
17428769Location28769
17528803Location28803
17628808Location28808
17728809Location28809
17828810Location28810
17928811Location28811
18028812Location28812
18128818Location28818
18228822Location28822
18331002Location31002
18431022Location31022
18531023Location31023
18631024Location31024
18731032KeyCannotContainNullByte
18831034Location31034
18931095Location31095
19031109Location31109
19131119Location31119
19231120Location31120
19331138Location31138
19431170Location31170
19531249Location31249
19631250Location31250
19731253Location31253
19831254Location31254
19931256Location31256
20031271Location31271
20131276Location31276
20231308Location31308
20331325Location31325
20431393Location31393
20531395Location31395
20631441Location31441
20731465Location31465
20834435Location34435
20934443Location34443
21034444Location34444
21134445Location34445
21234446Location34446
21334447Location34447
21434448Location34448
21534449Location34449
21634450Location34450
21734451Location34451
21834452Location34452
21934453Location34453
22034454Location34454
22134455Location34455
22234460Location34460
22334461Location34461
22434462Location34462
22534463Location34463
22634464Location34464
22734465Location34465
22834466Location34466
22934467Location34467
23034468Location34468
23134471Location34471
23234473Location34473
23340060DollarSwitchRequiresObject
23440061DollarSwitchRequiresArrayForBranches
23540062DollarSwitchRequiresObjectForEachBranch
23640063DollarSwitchUnknownArgumentForBranch
23740064DollarSwitchRequiresCaseExpressionForBranch
23840065DollarSwitchRequiresThenExpressionForBranch
23940066DollarSwitchNoMatchingBranchAndNoDefault
24040067DollarSwitchBadArgument
24140068DollarSwitchRequiresAtLeastOneBranch
24240075Location40075
24340076Location40076
24440077Location40077
24540078Location40078
24640079Location40079
24740080Location40080
24840081DollarInRequiresArray
24940085Location40085
25040086Location40086
25140087Location40087
25240090Location40090
25340091Location40091
25440092Location40092
25540093Location40093
25640094Location40094
25740096Location40096
25840097Location40097
25940100Location40100
26040101Location40101
26140102Location40102
26240103Location40103
26340104Location40104
26440105Location40105
26540147Location40147
26640156Location40156
26740158Location40158
26840160Location40160
26940169Location40169
27040177Location40177
27140181Location40181
27240185Location40185
27340191Location40191
27440192Location40192
27540193Location40193
27640194Location40194
27740195Location40195
27840196Location40196
27940197Location40197
28040198Location40198
28140199Location40199
28240200Location40200
28340201Location40201
28440202Location40202
28540218Location40218
28640228Location40228
28740229Location40229
28840234Location40234
28940235Location40235
29040236Location40236
29140237Location40237
29240238Location40238
29340239Location40239
29440240Location40240
29540241Location40241
29640242Location40242
29740243Location40243
29840244Location40244
29940245Location40245
30040246Location40246
30140257Location40257
30240258Location40258
30340260Location40260
30440261Location40261
30540272Location40272
30640319Location40319
30740321Location40321
30840323Location40323
30940324UnrecognizedCommand
31040352Location40352
31140386DollarArrayToObjectRequiresArray
31240390DollarObjectToArrayRequiresObject
31340391DollarArrayToObjectAllMustBeObjects
31440392DollarArrayToObjectIncorrectNumberOfKeys
31540393DollarArrayToObjectRequiresObjectWithKAndV
31640394DollarArrayToObjectObjectKeyMustBeString
31740395DollarArrayToObjectArrayKeyMustBeString
31840396DollarArrayToObjectAllMustBeArrays
31940397DollarArrayToObjectIncorrectArrayLength
32040398DollarArrayToObjectBadInputTypeFormat
32140400DollarMergeObjectsInvalidType
32240414Location40414
32340415UnknownBsonField
32440485Location40485
32540489Location40489
32640515Location40515
32740516Location40516
32840517Location40517
32940518Location40518
33040519Location40519
33140520Location40520
33240521Location40521
33340522Location40522
33440523Location40523
33540524Location40524
33640525Location40525
33740533Location40533
33840535Location40535
33940536Location40536
34040539Location40539
34140540Location40540
34240541Location40541
34340542Location40542
34440600Location40600
34540601Location40601
34640602Location40602
34740603Location40603
34840647ChangeStreamBadResumeToken
34940684Location40684
35042501InsufficientPrivilege
35150694Location50694
35250695Location50695
35350696Location50696
35450699Location50699
35550700Location50700
35650723Location50723
35750752Location50752
35850759Location50759
35950989Location50989
36051003Location51003
36151024Location51024
36251044Location51044
36351045Location51045
36451047Location51047
36551074Location51074
36651075Location51075
36751080DollarRoundOverflowInt64
36851081DollarRoundFirstArgMustBeNumeric
36951082DollarRoundPrecisionMustBeIntegral
37051083DollarRoundPrecisionOutOfRange
37151091Location51091
37251103Location51103
37351104Location51104
37451105Location51105
37551106Location51106
37651107Location51107
37751108Location51108
37851109Location51109
37951110Location51110
38051111Location51111
38151132Location51132
38251134Location51134
38351151Location51151
38451156Location51156
38551178Location51178
38651183Location51183
38751185Location51185
38851186Location51186
38951187Location51187
39051191Location51191
39151246Location51246
39251247Location51247
39351276Location51276
39451743Location51743
39551744Location51744
39651745Location51745
39751746Location51746
39851747Location51747
39951748Location51748
40051749Location51749
40151750Location51750
40251751Location51751
403327391Location327391
404327392Location327392
405605001Location605001
4061257300DollarIfNullRequiresAtLeastTwoArgs
4072942500Location2942500
4082942501Location2942501
4092942502Location2942502
4102942503Location2942503
4112942504Location2942504
4122942505Location2942505
4132942506Location2942506
4143040501DollarRandNonEmptyArgument
4153041701Location3041701
4163041702Location3041702
4173041703Location3041703
4183041704Location3041704
4194031700IntermediateResultTooLarge
4204161100DollarSetFieldRequiresObject
4214161101DollarSetFieldUnknownArgument
4224161102Location4161102
4234161103Location4161103
4244161104Location4161104
4254161105Location4161105
4264161106Location4161106
4274161107Location4161107
4284161108Location4161108
4294161109Location4161109
4304341107Location4341107
4314890500Location4890500
4324940400Location4940400
4334940401Location4940401
4345107200Location5107200
4355107201Location5107201
4365166301Location5166301
4375166302Location5166302
4385166303Location5166303
4395166304Location5166304
4405166305Location5166305
4415166307Location5166307
4425166400Location5166400
4435166401Location5166401
4445166402Location5166402
4455166403Location5166403
4465166404Location5166404
4475166405Location5166405
4485166406Location5166406
4495339900Location5339900
4505339901Location5339901
4515339902Location5339902
4525371601Location5371601
4535371602Location5371602
4545371603Location5371603
4555423900Location5423900
4565423901Location5423901
4575423902Location5423902
4585429413Location5429413
4595429414Location5429414
4605429513Location5429513
4615439007Location5439007
4625439008Location5439008
4635439009Location5439009
4645439010Location5439010
4655439012Location5439012
4665439013Location5439013
4675439014Location5439014
4685439015Location5439015
4695439016Location5439016
4705439017Location5439017
4715439018Location5439018
4725490710Location5490710
4735624900Location5624900
4745624901Location5624901
4755626500Location5626500
4765654600Location5654600
4775654601Location5654601
4785654602Location5654602
4795687301Location5687301
4805687302Location5687302
4815687400Location5687400
4825687401Location5687401
4835733201Location5733201
4845733401Location5733401
4855733402Location5733402
4865733403Location5733403
4875733406Location5733406
4885733408Location5733408
4895733409Location5733409
4905746102Location5746102
4915787801Location5787801
4925787900Location5787900
4935787901Location5787901
4945787902Location5787902
4955787903Location5787903
4965787906Location5787906
4975787907Location5787907
4985787908Location5787908
4995788001Location5788001
5005788002Location5788002
5015788003Location5788003
5025788004Location5788004
5035788005Location5788005
5045788200Location5788200
5055788604Location5788604
5065858203Location5858203
5075860402Location5860402
5085876900Location5876900
5095897900Location5897900
5105946802Location5946802
5115976500Location5976500
5126007200Location6007200
5136045000Location6045000
5146050106Location6050106
5156050202Location6050202
5166050204Location6050204
5176053600Location6053600
5186586400Location6586400
5197429703Location7429703
5207436100Location7436100
5217555701Location7555701
5227555702Location7555702
5237749501Location7749501
5247750301Location7750301
5257750302Location7750302
5267750303Location7750303
5278993000Location8993000