Skip to content

Commit 42af24d

Browse files
authored
fix(llm-bridge): mem source & reducer close mem conn (#1023)
Fix unexpected `panic: unimplemented` when LRU closes the reducer.
1 parent 0ff89c8 commit 42af24d

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

pkg/bridge/ai/reducer.go

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,11 @@ func (m *memSource) Connect() error {
3939
return m.conn.Handshake(hf)
4040
}
4141

42+
func (m *memSource) Close() error {
43+
return m.conn.CloseWithError("llm bridge source closed")
44+
}
45+
4246
func (m *memSource) Write(_ uint32, _ []byte) error { panic("unimplemented") }
43-
func (m *memSource) Close() error { panic("unimplemented") }
4447
func (m *memSource) SetErrorHandler(_ func(_ error)) { panic("unimplemented") }
4548

4649
func (m *memSource) WriteWithTarget(tag uint32, data []byte, target string) error {
@@ -76,10 +79,6 @@ func NewReducer(conn *mem.FrameConn, cred *auth.Credential) yomo.StreamFunction
7679
}
7780
}
7881

79-
func (m *memStreamFunction) Close() error {
80-
return nil
81-
}
82-
8382
func (m *memStreamFunction) Connect() error {
8483
hf := &frame.HandshakeFrame{
8584
Name: "fc-reducer",
@@ -114,6 +113,10 @@ func (m *memStreamFunction) Connect() error {
114113
return nil
115114
}
116115

116+
func (m *memStreamFunction) Close() error {
117+
return m.conn.CloseWithError("llm bridge reducer closed")
118+
}
119+
117120
func (m *memStreamFunction) onDataFrame(dataFrame *frame.DataFrame) {
118121
serverlessCtx := serverless.NewContext(m.conn, dataFrame.Tag, core.NewMetadata(m.id, id.New()), dataFrame.Payload)
119122
m.handler(serverlessCtx)

0 commit comments

Comments
 (0)