~/talk

Non-Obvious Things to Know When Coding in OpenSearch

Talkat OpenSearchCon China 2026 · 2026-03-17..03-18· [java, distributed-systems]
links:none on file
slides:none on file

Covers concrete, actionable quirks: OpenSearch uses a binary transport protocol with explicit version checks when serializing action requests so clusters can mix versions, and action dispatch uses ActionListener callbacks instead of Java futures. Thread pools are numerous and size constrained so blocking causes pool exhaustion and assertions abort operations, e g the management pool caps at five threads and search threads default to floor(cores 3/2) + 1. Plugin class loaders are isolated causing jar errors and requiring shadow jars* or core shared libs to avoid class conflicts.

AI-written summary · about

  1. 0:00Non-obvious OpenSearch coding
  2. 1:04OpenSearch architecture history
  3. 3:17Elasticsearch to OpenSearch
  4. 9:45Plugin model and dependency injection
  5. 19:14Sandboxing and plugin capabilities
  6. 22:31API actions and request handling
  7. 25:48Transport protocol serialization
  8. 26:33Asynchronous programming model
  9. 30:15OpenSearch thread pools
  10. 33:54Plugins and class loading isolation
  11. 38:13Concurrent OpenSearch development
  12. 39:18Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.