Azure / go-amqp

AMQP 1.0 client library for Go.
https://github.com/Azure/go-amqp
MIT License
104 stars 56 forks source link

memory leak #314

Open ChipArtem opened 8 months ago

ChipArtem commented 8 months ago

For generate a loading I create goroutines. Goroutines are created by a consumer and a producer. After these I send and read messages. Over time, my memory begins to leak.

func goConsumer(...) {
         ...
    ctx := context.TODO()
    conn, err := amqp.Dial(....)
    if err != nil {
    ....
    }
    defer conn.Close()
    session, err := conn.NewSession(ctx, nil)
    if err != nil {
         ...
    }
    defer session.Close(ctx)
    consumer, err := session.NewReceiver(ctx, q.Name, nil)
    if err != nil {
    ...
    }
    defer consumer.Close(ctx)
    for {
        select {
        case <-chTimer.C:
            return
        default:
            msg, err := consumer.Receive(ctx, nil)
            ....
            ctx = context.TODO()
            err = consumer.AcceptMessage(ctx, msg)
            ....
        }
    }
}
image
jhendrixMSFT commented 8 months ago

Can we please get more info on your scenario.