yangou opened a new issue #621:
URL: https://github.com/apache/pulsar-client-go/issues/621


   #### Expected behavior
   
   After producing the message with ordering key, the consumer should be able 
to receive the message with ordering key. 
   
   #### Actual behavior
   
   ```golang
   msg, err := consumer.Receive(context.Background())
   fmt.Printf("Received message msgId: %#v -- content: '%s', topic: '%s', event 
time: %d, key: %s, order: %s, props: %v\n",
                                msg.ID(), string(msg.Payload()), msg.Topic(), 
msg.EventTime().Unix(), msg.Key(), msg.OrderingKey(), msg.Properties())
   
   ```
   
   `msg.OrderingKey()` is returning empty string.
   
   #### Steps to reproduce
   
   Please use this code to reproduce
   
   ```golang
   package main
   
   import (
        "context"
        "fmt"
        "log"
        "os"
        "time"
   
        "github.com/apache/pulsar-client-go/pulsar"
        // "github.com/sirupsen/logrus"
   )
   
   func main() {
        // logrus.SetLevel(logrus.TraceLevel)
   
        client, err := pulsar.NewClient(pulsar.ClientOptions{
                URL:               "pulsar://localhost:6650",
                OperationTimeout:  30 * time.Second,
                ConnectionTimeout: 30 * time.Second,
        })
        if err != nil {
                log.Fatalf("Could not instantiate Pulsar client: %v", err)
        }
   
        defer client.Close()
   
        if os.Args[1] == "produce" {
   
                producer, err := client.CreateProducer(pulsar.ProducerOptions{
                        Topic: "123.json",
                })
   
                _, err = producer.Send(context.Background(), 
&pulsar.ProducerMessage{
                        Payload:     []byte("hello"),
                        Key:         "123xxxxx",
                        OrderingKey: "321xxxxx",
                })
   
                defer producer.Close()
   
                if err != nil {
                        fmt.Println("Failed to publish message", err)
                }
                fmt.Println("Published message")
        } else {
   
                consumer, err := client.Subscribe(pulsar.ConsumerOptions{
                        Topic:            "123.json",
                        SubscriptionName: "test",
                        Type:             pulsar.Shared,
                })
                if err != nil {
                        log.Fatal(err)
                }
                defer consumer.Close()
   
                for i := 0; i < 10; i++ {
                        msg, err := consumer.Receive(context.Background())
                        if err != nil {
                                log.Fatal(err)
                        }
   
                        fmt.Printf("Received message msgId: %#v -- content: 
'%s', topic: '%s', event time: %d, key: %s, order: %s, props: %v\n",
                                msg.ID(), string(msg.Payload()), msg.Topic(), 
msg.EventTime().Unix(), msg.Key(), msg.OrderingKey(), msg.Properties())
   
                        consumer.Ack(msg)
                }
   
                if err := consumer.Unsubscribe(); err != nil {
                        log.Fatal(err)
                }
   
        }
   
   }
   
   ```
   
   #### System configuration
   **Pulsar version**: 2.7.1
   
   Other clients are able to consume ordering key properly
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to