You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by mm...@apache.org on 2019/03/14 17:57:45 UTC

[pulsar] branch master updated: fix message_id_serialize to empty slice (#3801)

This is an automated email from the ASF dual-hosted git repository.

mmerli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new 9bd4f49  fix message_id_serialize to empty slice (#3801)
9bd4f49 is described below

commit 9bd4f492673c989f4903236d08d139cb4227a26f
Author: Tevic <te...@gmail.com>
AuthorDate: Fri Mar 15 01:57:39 2019 +0800

    fix message_id_serialize to empty slice (#3801)
    
    * fix message_id_serialize to empty slice
    
    * test for serialize and deserialize
---
 pulsar-client-cpp/lib/c/c_MessageId.cc   |  1 +
 pulsar-client-go/pulsar/consumer_test.go | 11 +++++++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/pulsar-client-cpp/lib/c/c_MessageId.cc b/pulsar-client-cpp/lib/c/c_MessageId.cc
index a139370..8466a91 100644
--- a/pulsar-client-cpp/lib/c/c_MessageId.cc
+++ b/pulsar-client-cpp/lib/c/c_MessageId.cc
@@ -48,6 +48,7 @@ void *pulsar_message_id_serialize(pulsar_message_id_t *messageId, int *len) {
     messageId->messageId.serialize(str);
     void *p = malloc(str.length());
     memcpy(p, str.c_str(), str.length());
+    *len = str.length();
     return p;
 }
 
diff --git a/pulsar-client-go/pulsar/consumer_test.go b/pulsar-client-go/pulsar/consumer_test.go
index f217161..b28341f 100644
--- a/pulsar-client-go/pulsar/consumer_test.go
+++ b/pulsar-client-go/pulsar/consumer_test.go
@@ -20,14 +20,16 @@
 package pulsar
 
 import (
+	"bytes"
 	"context"
 	"fmt"
-	"github.com/stretchr/testify/assert"
 	"io/ioutil"
 	"net/http"
 	"strings"
 	"testing"
 	"time"
+
+	"github.com/stretchr/testify/assert"
 )
 
 func TestConsumerConnectError(t *testing.T) {
@@ -48,7 +50,7 @@ func TestConsumerConnectError(t *testing.T) {
 	assert.Nil(t, consumer)
 	assert.NotNil(t, err)
 
-	assert.Equal(t, err.(*Error).Result(), ConnectError);
+	assert.Equal(t, err.(*Error).Result(), ConnectError)
 }
 
 func TestConsumer(t *testing.T) {
@@ -107,6 +109,11 @@ func TestConsumer(t *testing.T) {
 		assert.True(t, sendTime.Unix() <= msg.PublishTime().Unix())
 		assert.True(t, recvTime.Unix() >= msg.PublishTime().Unix())
 
+		serializedId := msg.ID().Serialize()
+		deserializedId := DeserializeMessageID(serializedId)
+		assert.True(t, len(serializedId) > 0)
+		assert.True(t, bytes.Equal(deserializedId.Serialize(), serializedId))
+
 		consumer.Ack(msg)
 	}