{"record":{"id":"d46d7df356c1fb77","repo":"thanos-io/thanos","slug":"unknown-sync-strategy-s-d46d7d","errorCode":null,"errorMessage":"unknown sync strategy %s","messagePattern":"unknown sync strategy (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/thanos/store.go","lineNumber":391,"sourceCode":"\t\treturn errors.Wrap(err, \"create index cache\")\n\t}\n\n\tvar matchersCache = storecache.NoopMatchersCache\n\tif conf.matcherCacheSize > 0 {\n\t\tmatchersCache, err = storecache.NewMatchersCache(storecache.WithSize(conf.matcherCacheSize), storecache.WithPromRegistry(reg))\n\t\tif err != nil {\n\t\t\treturn errors.Wrap(err, \"failed to create matchers cache\")\n\t\t}\n\t}\n\n\tvar blockLister block.Lister\n\tswitch syncStrategy(conf.blockListStrategy) {\n\tcase concurrentDiscovery:\n\t\tblockLister = block.NewConcurrentLister(logger, insBkt)\n\tcase recursiveDiscovery:\n\t\tblockLister = block.NewRecursiveLister(logger, insBkt)\n\tdefault:\n\t\treturn errors.Errorf(\"unknown sync strategy %s\", conf.blockListStrategy)\n\t}\n\tignoreDeletionMarkFilter := block.NewIgnoreDeletionMarkFilter(logger, insBkt, time.Duration(conf.ignoreDeletionMarksDelay), conf.blockMetaFetchConcurrency)\n\tparquetConvertedBlocksFilter, err := block.NewIgnoreParquetConvertedBlocksFilter(logger, parquetBktConfigYaml, conf.blockMetaFetchConcurrency, extprom.WrapRegistererWithPrefix(\"thanos_\", reg))\n\tif err != nil {\n\t\treturn errors.Wrap(err, \"create parquet converted blocks filter\")\n\t}\n\tmetaFetcher, err := block.NewMetaFetcher(logger, conf.blockMetaFetchConcurrency, insBkt, blockLister, dataDir, extprom.WrapRegistererWithPrefix(\"thanos_\", reg),\n\t\t[]block.MetadataFilter{\n\t\t\tparquetConvertedBlocksFilter,\n\t\t\tblock.NewTimePartitionMetaFilter(conf.filterConf.MinTime, conf.filterConf.MaxTime),\n\t\t\tblock.NewLabelShardedMetaFilter(relabelConfig),\n\t\t\tblock.NewConsistencyDelayMetaFilter(logger, time.Duration(conf.consistencyDelay), extprom.WrapRegistererWithPrefix(\"thanos_\", reg)),\n\t\t\tignoreDeletionMarkFilter,\n\t\t\tblock.NewDeduplicateFilter(conf.blockMetaFetchConcurrency),\n\t\t})\n\tif err != nil {\n\t\treturn errors.Wrap(err, \"meta fetcher\")\n\t}","sourceCodeStart":373,"sourceCodeEnd":409,"githubUrl":"https://github.com/thanos-io/thanos/blob/35b8b991177def87ed52dcf10f9b6d87f07282c8/cmd/thanos/store.go#L373-L409","documentation":"A switch-default guard on syncStrategy(conf.blockListStrategy): the value of --store.block-list-strategy is not one of the known strategies (concurrent or recursive). It fires purely from an invalid CLI flag value; no I/O is involved.","triggerScenarios":"Thrown at cmd/thanos/store.go:391 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use --store.block-list-strategy=concurrent-discovery or recursive-discovery","Check the flag for typos"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"35b8b991177def87ed52dcf10f9b6d87f07282c8","analyzedAt":"2026-09-07T01:49:59.689Z","contentChangedAt":"2026-09-07T01:49:59.689Z","schemaVersion":2},"datasetVersion":"2026-09-15T23:17:13.987Z"}