mirror of
https://github.com/gogrlx/nats-server.git
synced 2026-04-17 03:24:40 -07:00
Use append in case pubAck is larger than stack []byte
Signed-off-by: Derek Collison <derek@nats.io>
This commit is contained in:
@@ -12884,6 +12884,32 @@ func TestJetStreamExpireAllWhileServerDown(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestJetStreamLongStreamNamesAndPubAck(t *testing.T) {
|
||||
s := RunBasicJetStreamServer()
|
||||
defer s.Shutdown()
|
||||
|
||||
config := s.JetStreamConfig()
|
||||
if config != nil {
|
||||
defer removeDir(t, config.StoreDir)
|
||||
}
|
||||
|
||||
nc, js := jsClientConnect(t, s)
|
||||
defer nc.Close()
|
||||
|
||||
data := make([]byte, 256)
|
||||
rand.Read(data)
|
||||
stream := base64.StdEncoding.EncodeToString(data)[:256]
|
||||
|
||||
cfg := &nats.StreamConfig{
|
||||
Name: stream,
|
||||
Subjects: []string{"foo"},
|
||||
}
|
||||
if _, err := js.AddStream(cfg); err != nil {
|
||||
t.Fatalf("Unexpected error: %v", err)
|
||||
}
|
||||
js.Publish("foo", []byte("HELLO"))
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Simple JetStream Benchmarks
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -2594,9 +2594,8 @@ func (mset *stream) processJetStreamMsg(subject, reply string, hdr, msg []byte,
|
||||
|
||||
var resp = &JSPubAckResponse{}
|
||||
|
||||
var buf [128]byte
|
||||
copy(buf[0:], mset.pubAck)
|
||||
pubAck := buf[:len(mset.pubAck)]
|
||||
var buf [256]byte
|
||||
pubAck := append(buf[:0], mset.pubAck...)
|
||||
|
||||
// For clustering the lower layers will pass our expected lseq. If it is present check for that here.
|
||||
if lseq > 0 && lseq != (mset.lseq+mset.clfs) {
|
||||
|
||||
Reference in New Issue
Block a user