RemoteIndex client uses newline-delimited JSON; hero_indexer_server speaks HTTP/1.1 #37
Labels
No labels
prio_critical
prio_low
type_bug
type_contact
type_issue
type_lead
type_question
type_story
type_task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lhumina_code/hero_rpc#37
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
hero_rpc_osis::index::RemoteIndex(the official async client forhero_indexer) sends raw newline-delimited JSON over Unix sockets:The current
hero_indexer_server(lhumina_code/hero_indexer) accepts only HTTP/1.1 atPOST /rpc— it does not parse the newline-delimited protocol. Result: everyRemoteIndex.index_document(...)call returns"Broken pipe (os error 32)"because the HTTP server can't parse the malformed-by-its-standards request line.Reproduction
hero_indexer_serverlog shows the request being received but rejected with a malformed-HTTP error.Workaround (downstream)
Bypass the official client and write a small HTTP/1.1 client over the Unix socket directly. The
hero_embeddercrate has used this pattern since its initial integration; mirroring it works fine. Seeindex_addin any consumer that integrates withhero_indexer_server.Suggested fixes (any one is sufficient)
RemoteIndexto use HTTP/1.1. Mirrors what the embedder client does; matches the server.hero_indexer_server. If the older protocol is intended to remain canonical.Impact
Currently every consumer that uses the official
RemoteIndexclient silently fails on first write. The error doesn't point at a protocol mismatch — it looks like a connection problem. Both downstream consumers and any futurehero_indexerconsumer hit this on day one.Not blocking — workaround is small. Filing as ecosystem-correctness signal.