{"record":{"id":"e8a5491b0a450009","repo":"nats-io/nats-server","slug":"sublist-no-matches-found","errorCode":null,"errorMessage":"sublist: no matches found","messagePattern":"sublist: no matches found","errorType":"error_code","errorClass":null,"httpStatus":null,"severity":"error","filePath":"server/sublist.go","lineNumber":44,"sourceCode":"// Sublist is a routing mechanism to handle subject distribution and\n// provides a facility to match subjects from published messages to\n// interested subscribers. Subscribers can have wildcard subjects to\n// match multiple published subjects.\n\n// Common byte variables for wildcards and token separator.\nconst (\n\tpwc   = '*'\n\tpwcs  = \"*\"\n\tfwc   = '>'\n\tfwcs  = \">\"\n\ttsep  = \".\"\n\tbtsep = '.'\n)\n\n// Sublist related errors\nvar (\n\tErrInvalidSubject    = errors.New(\"sublist: invalid subject\")\n\tErrNotFound          = errors.New(\"sublist: no matches found\")\n\tErrNilChan           = errors.New(\"sublist: nil channel\")\n\tErrAlreadyRegistered = errors.New(\"sublist: notification already registered\")\n)\n\nconst (\n\t// cacheMax is used to bound limit the frontend cache\n\tslCacheMax = 1024\n\t// If we run a sweeper we will drain to this count.\n\tslCacheSweep = 256\n\t// plistMin is our lower bounds to create a fast plist for Match.\n\tplistMin = 256\n)\n\n// SublistResult is a result structure better optimized for queue subs.\ntype SublistResult struct {\n\tpsubs []*subscription\n\tqsubs [][]*subscription // don't make this a map, too expensive to iterate\n}","sourceCodeStart":26,"sourceCodeEnd":62,"githubUrl":"https://github.com/nats-io/nats-server/blob/3a66a489d262bf89b71a71c955c94920394532f3/server/sublist.go#L26-L62","documentation":"ErrNotFound from sublist Match: no subscription matches the subject being looked up. For most callers this is an expected negative result (nothing to deliver), not a fault — e.g. gsl.Remove returns it when the subject has no registrations to remove.","triggerScenarios":"Thrown at server/sublist.go:44 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Treat as an empty result and skip delivery or removal","Register interest (subscribe) before matching if a match was expected","Verify subject spelling and normalization before matching"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"3a66a489d262bf89b71a71c955c94920394532f3","analyzedAt":"2026-09-02T04:41:54.247Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T15:18:49.778Z"}