- New src/utils/osLimits.ts: reads RLIMIT_NOFILE (soft/hard, from /proc/self/limits) and vm.max_map_count at open — once per process, Linux-only, measurement-only — and warns loudly when either sits below the pool-scale floors (soft NOFILE < 65536, max_map_count < 262144), with the exact raise commands. On stock defaults the failure otherwise arrives as EMFILE or a failed mmap deep inside an index open, long after the cause stopped being visible. An unreadable limit produces NO warning — no measurement, no claim — so non-Linux platforms stay silent. - Exported for ops doors: checkOsLimits() returns the full OsLimitsReport; floors exported as constants. Wired fire-and-forget in performInit after storage init; the check can never affect open. - Unit tests pin the parser (incl. 'unlimited'), the floor thresholds, the null-never-warns rule, and the off-Linux silent path. |
||
|---|---|---|
| .. | ||
| roaring | ||
| adaptiveBackpressure.ts | ||
| brainyTypes.ts | ||
| callerLocation.ts | ||
| collation.ts | ||
| contentExtractor.ts | ||
| crc32c.ts | ||
| distance.ts | ||
| embedding.ts | ||
| entityIdMapper.ts | ||
| environment.ts | ||
| errorClassification.ts | ||
| fieldNameTracking.ts | ||
| fieldTypeInference.ts | ||
| idNormalization.ts | ||
| import-progress-tracker.ts | ||
| index.ts | ||
| indexReadiness.ts | ||
| jsonProcessing.ts | ||
| logger.ts | ||
| memoryDetection.ts | ||
| metadataFilter.ts | ||
| metadataIndex.ts | ||
| metadataIndexCache.ts | ||
| metadataIndexChunking.ts | ||
| metadataWriteBuffer.ts | ||
| mutex.ts | ||
| operationUtils.ts | ||
| osLimits.ts | ||
| paramValidation.ts | ||
| performanceMonitor.ts | ||
| rebuildCounts.ts | ||
| recallPreset.ts | ||
| resultRanking.ts | ||
| statisticsCollector.ts | ||
| typeUtils.ts | ||
| typeValidation.ts | ||
| unifiedCache.ts | ||
| version.ts | ||