Skip to content

Instantly share code, notes, and snippets.

@rjernst
Created March 12, 2026 20:58
Show Gist options
  • Select an option

  • Save rjernst/1e0bc1c89a1a846f40758d42231583e7 to your computer and use it in GitHub Desktop.

Select an option

Save rjernst/1e0bc1c89a1a846f40758d42231583e7 to your computer and use it in GitHub Desktop.
Here's the analysis of PRs reviewed by es-core-infra (due to CODEOWNERS) over the last month, excluding backports and PRs authored by team members.
---
Grouped by CODEOWNERS Path Triggered
1. server/src/main/java/org/elasticsearch/common/logging (6 PRs — all by smalyshev, query/activity logging)
All of these are from smalyshev building out the query logging (formerly "activity logging") feature:
┌─────────┬───────────────────────────────────────────────────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ PR │ Title │ Files │
├─────────┼───────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ #143768 │ Add CCS logging features │ ActivityLogProducer.java, ActivityLoggerContext.java, QueryLogging.java │
├─────────┼───────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ #143182 │ Refactor field names under elasticsearch.querylog │ ActivityLogProducer.java, ActivityLoggerContext.java, QueryLogging.java │
├─────────┼───────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ #143109 │ Refactor how we report response size │ QueryLogging.java │
├─────────┼───────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ #143094 │ Rename activitylog logger to querylog │ ActivityLogProducer.java │
├─────────┼───────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ #142916 │ Shard logging for activity log │ ActivityLogProducer.java, ActivityLogWriterProvider.java, ActivityLoggerContext.java, QueryLogging.java │
├─────────┼───────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ #142901 │ Activity logging improvements │ ActivityLogProducer.java, ActivityLoggerContext.java │
└─────────┴───────────────────────────────────────────────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Summary: Ongoing development of a query/activity logging framework under common/logging/activity/. Changes include renaming from "activity log" to "query log", adding CCS support, shard-level logging, response size reporting, and field name refactoring.
---
2. server/src/main/java/org/elasticsearch/common/settings (5 PRs)
┌─────────┬──────────────────────────────────────────────────┬────────────┬─────────────────────────────────────────────────────────────────────────────┐
│ PR │ Title │ Author │ Files │
├─────────┼──────────────────────────────────────────────────┼────────────┼─────────────────────────────────────────────────────────────────────────────┤
│ #143894 │ Add indexing pressure-aware protobuf aggregation │ felixbarny │ ClusterSettings.java — adds setting for protobuf aggregation thresholds │
├─────────┼──────────────────────────────────────────────────┼────────────┼─────────────────────────────────────────────────────────────────────────────┤
│ #143221 │ Add index.disable_sequence_numbers setting │ fcofdez │ IndexScopedSettings.java — registers new index-level setting │
├─────────┼──────────────────────────────────────────────────┼────────────┼─────────────────────────────────────────────────────────────────────────────┤
│ #143049 │ Time series binary DV 1MB block size │ martijnvg │ IndexScopedSettings.java — registers new TSDB doc values block size setting │
├─────────┼──────────────────────────────────────────────────┼────────────┼─────────────────────────────────────────────────────────────────────────────┤
│ #142746 │ Add search task watchdog │ andreidan │ ClusterSettings.java — registers watchdog threshold settings │
├─────────┼──────────────────────────────────────────────────┼────────────┼─────────────────────────────────────────────────────────────────────────────┤
│ #142355 │ Add utilization threshold to hotspotting │ schase-es │ ClusterSettings.java — registers write load constraint setting │
└─────────┴──────────────────────────────────────────────────┴────────────┴─────────────────────────────────────────────────────────────────────────────┘
Summary: All are adding new settings to ClusterSettings.java or IndexScopedSettings.java. These are mechanical one-line additions to register settings defined elsewhere.
---
3. libs/native (4 PRs — all by thecoop, SIMD vector ops)
┌─────────┬──────────────────────────────────────────────────┬────────────────────────┐
│ PR │ Title │ Files │
├─────────┼──────────────────────────────────────────────────┼────────────────────────┤
│ #143736 │ Templatize ARM native byte implementations │ libraries/build.gradle │
├─────────┼──────────────────────────────────────────────────┼────────────────────────┤
│ #143684 │ Use templates for native arm and x64 f32 methods │ libraries/build.gradle │
├─────────┼──────────────────────────────────────────────────┼────────────────────────┤
│ #142474 │ Implement bulk byte vector cosine operations │ libraries/build.gradle │
├─────────┼──────────────────────────────────────────────────┼────────────────────────┤
│ #142461 │ Create ARM bulk sqrI8 implementation │ libraries/build.gradle │
└─────────┴──────────────────────────────────────────────────┴────────────────────────┘
Summary: Native SIMD vector operation work — adding new bulk vector operations (cosine, sqrI8) and refactoring existing ARM/x64 implementations to use C++ templates to reduce duplication. Only build.gradle triggers CODEOWNERS (the actual C/C++ source files are presumably not covered).
---
4. server/src/main/java/org/elasticsearch/common/io (4 PRs — all by DaveCTurner + 1 other)
┌─────────┬───────────────────────────────────────────────────────────────┬───────────────────────┬─────────────────────────────────────┐
│ PR │ Title │ Author │ Files │
├─────────┼───────────────────────────────────────────────────────────────┼───────────────────────┼─────────────────────────────────────┤
│ #143822 │ Add CircuitBreaker param to newNetworkBytesStream │ DaveCTurner │ RecyclerBytesStreamOutput.java │
├─────────┼───────────────────────────────────────────────────────────────┼───────────────────────┼─────────────────────────────────────┤
│ #143738 │ Track recycler pages in circuit breaker │ DaveCTurner │ RecyclerBytesStreamOutput.java │
├─────────┼───────────────────────────────────────────────────────────────┼───────────────────────┼─────────────────────────────────────┤
│ #142451 │ Clarify expectedSize behaviour of ReleasableBytesStreamOutput │ DaveCTurner │ ReleasableBytesStreamOutput.java │
├─────────┼───────────────────────────────────────────────────────────────┼───────────────────────┼─────────────────────────────────────┤
│ #143242 │ Implement reasoning support in chat completion API │ Jan-Kazlouski-elastic │ StreamInput.java, StreamOutput.java │
└─────────┴───────────────────────────────────────────────────────────────┴───────────────────────┴─────────────────────────────────────┘
Summary: DaveCTurner's 3 PRs are circuit breaker / memory tracking improvements in stream output classes. The inference API PR (#143242) adds serialization methods to StreamInput/StreamOutput for new reasoning message types.
---
5. libs/core (3 PRs)
┌─────────┬───────────────────────────────────────┬─────────────┬────────────────────────────────────────────────────────────────────┐
│ PR │ Title │ Author │ Files │
├─────────┼───────────────────────────────────────┼─────────────┼────────────────────────────────────────────────────────────────────┤
│ #142213 │ PromQL: Atanh │ sidosera │ ESSloppyMath.java, FastMath.java │
├─────────┼───────────────────────────────────────┼─────────────┼────────────────────────────────────────────────────────────────────┤
│ #142184 │ PromQL: Asinh │ sidosera │ ESSloppyMath.java, FastMath.java, build.gradle, FastMathTests.java │
├─────────┼───────────────────────────────────────┼─────────────┼────────────────────────────────────────────────────────────────────┤
│ #142398 │ Document GC effects of *Once wrappers │ DaveCTurner │ Releasables.java │
└─────────┴───────────────────────────────────────┴─────────────┴────────────────────────────────────────────────────────────────────┘
Summary: sidosera's 2 PRs add math functions (asinh, atanh) to ESSloppyMath/FastMath for PromQL support. DaveCTurner's PR adds documentation comments about GC behavior.
---
6. server/src/main/java/org/elasticsearch/node (4 PRs, 2 touch NodeConstruction)
┌─────────┬─────────────────────────────────────────────────┬───────────┬──────────────────────────────────┐
│ PR │ Title │ Author │ Files │
├─────────┼─────────────────────────────────────────────────┼───────────┼──────────────────────────────────┤
│ #143289 │ Removing ingest random sampling │ masseyke │ Node.java, NodeConstruction.java │
├─────────┼─────────────────────────────────────────────────┼───────────┼──────────────────────────────────┤
│ #142746 │ Add search task watchdog │ andreidan │ Node.java, NodeConstruction.java │
├─────────┼─────────────────────────────────────────────────┼───────────┼──────────────────────────────────┤
│ #142515 │ Fix another shutdown formatting exception │ szybia │ ShutdownPrepareService.java │
├─────────┼─────────────────────────────────────────────────┼───────────┼──────────────────────────────────┤
│ #142482 │ Fix ShutdownPrepareService formatting exception │ szybia │ ShutdownPrepareService.java │
└─────────┴─────────────────────────────────────────────────┴───────────┴──────────────────────────────────┘
NodeConstruction changes detail:
- #143289 (masseyke) — Removal: Removes SamplingService creation, Guice binding, and cluster state listener registration from NodeConstruction. Removes it from start()/stop()/close() in Node.java. (Feature removal)
- #142746 (andreidan) — Addition: Creates a new SearchTaskWatchdog (taking ClusterSettings, TaskManager, ThreadPool), binds it via Guice, and adds it to start()/stop()/close() lifecycle in Node.java. (New service wiring)
- #142515/#142482 (szybia) — Fixes formatting bugs in ShutdownPrepareService (wrong format pattern style, wrong argument type). Not NodeConstruction.
---
7. server/src/main/java/org/elasticsearch/plugins + libs/x-content + modules/lang-mustache + common/util + common/xcontent (1 PR each)
┌─────────┬──────────────────────────────────────────┬────────────┬───────────────────────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ PR │ Title │ Author │ Path Triggered │ Summary │
├─────────┼──────────────────────────────────────────┼────────────┼───────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ #140712 │ Refactoring UserAgentPlugin │ eyalkoren │ node + plugins │ Adds UserAgentParserRegistryProvider plugin interface; creates registry in NodeConstruction and passes to IngestService │
├─────────┼──────────────────────────────────────────┼────────────┼───────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ #143501 │ Expose byte offsets on XContentParser │ quackaplop │ libs/x-content │ Adds getCurrentLocation() with byte offset tracking to XContentParser │
├─────────┼──────────────────────────────────────────┼────────────┼───────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ #143905 │ Remove unnecessary CrossProjectCandidate │ n1v0lg │ modules/lang-mustache │ Removes CrossProjectCandidate annotations from mustache request classes │
├─────────┼──────────────────────────────────────────┼────────────┼───────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ #143836 │ Faster MockBigArrays │ nik9000 │ common/util │ Modifies BigArrays.java to improve test mock performance │
├─────────┼──────────────────────────────────────────┼────────────┼───────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ #143476 │ ESQL: GroupedTopNOperator │ ivancea │ libs/core │ Adds a method to Releasables.java for resource management │
└─────────┴──────────────────────────────────────────┴────────────┴───────────────────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
NodeConstruction detail for #140712 (eyalkoren):
- Addition: Creates a MatcherWatchdog and a new UserAgentParserRegistry (obtained from a UserAgentParserRegistryProvider plugin). Passes the registry as a new parameter to IngestService constructor, decoupling user-agent parsing from the ingest plugin.
---
PRs with NO matching CODEOWNERS files (review likely manual)
┌─────────┬─────────────────────────────────────────────────────────────┬──────────────────┐
│ PR │ Title │ Author │
├─────────┼─────────────────────────────────────────────────────────────┼──────────────────┤
│ #143126 │ Exclude feature associated indices from index count limit │ zhubotang-wq │
├─────────┼─────────────────────────────────────────────────────────────┼──────────────────┤
│ #142969 │ Add custom headers for Azure OpenAI Service │ jonathan-buttner │
├─────────┼─────────────────────────────────────────────────────────────┼──────────────────┤
│ #142759 │ Add immutable T-Digest interface │ JonasKunz │
├─────────┼─────────────────────────────────────────────────────────────┼──────────────────┤
│ #142150 │ Add circuit breaker for query construction (OOM prevention) │ drempapis │
├─────────┼─────────────────────────────────────────────────────────────┼──────────────────┤
│ #141192 │ PromQL: Scalar │ sidosera │
├─────────┼─────────────────────────────────────────────────────────────┼──────────────────┤
│ #141074 │ Add graph_build_threshold for HNSW vector fields │ mayya-sharipova │
├─────────┼─────────────────────────────────────────────────────────────┼──────────────────┤
│ #140796 │ Adding base64-encoded kNN query vectors │ ah89 │
└─────────┴─────────────────────────────────────────────────────────────┴──────────────────┘
---
Summary of NodeConstruction Changes
┌─────────────────────┬─────────┬───────────┬────────────────────────────────────────────────────────────────────────────────────────────┐
│ Type │ PR │ Author │ What │
├─────────────────────┼─────────┼───────────┼────────────────────────────────────────────────────────────────────────────────────────────┤
│ Service removal │ #143289 │ masseyke │ Remove SamplingService (feature deleted) │
├─────────────────────┼─────────┼───────────┼────────────────────────────────────────────────────────────────────────────────────────────┤
│ Service addition │ #142746 │ andreidan │ Add SearchTaskWatchdog (new monitoring service) │
├─────────────────────┼─────────┼───────────┼────────────────────────────────────────────────────────────────────────────────────────────┤
│ Plugin API refactor │ #140712 │ eyalkoren │ Add UserAgentParserRegistry creation, new plugin provider interface, pass to IngestService │
└─────────────────────┴─────────┴───────────┴────────────────────────────────────────────────────────────────────────────────────────────┘
All three follow the same pattern of adding/removing a service from NodeConstruction's wiring + Node.java's lifecycle methods (start/stop/close).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment