diff --git a/offset_request.go b/offset_request.go index d19b40926..b4e63bf6d 100644 --- a/offset_request.go +++ b/offset_request.go @@ -130,6 +130,13 @@ func (r *OffsetRequest) SetReplicaID(id int32) { r.replicaID = &r.storeReplicaID } +func (r *OffsetRequest) ReplicaID() int32 { + if r.replicaID == nil { + return -1 + } + return r.storeReplicaID +} + func (r *OffsetRequest) AddBlock(topic string, partitionID int32, time int64, maxOffsets int32) { if r.blocks == nil { r.blocks = make(map[string]map[int32]*offsetRequestBlock) diff --git a/offset_request_test.go b/offset_request_test.go index 7a86e57d9..8ca818e49 100644 --- a/offset_request_test.go +++ b/offset_request_test.go @@ -48,6 +48,12 @@ func TestOffsetRequestV1(t *testing.T) { func TestOffsetRequestReplicaID(t *testing.T) { request := new(OffsetRequest) - request.SetReplicaID(42) + replicaID := int32(42) + request.SetReplicaID(replicaID) + + if found := request.ReplicaID(); found != replicaID { + t.Errorf("replicaID: expected %v, found %v", replicaID, found) + } + testRequest(t, "with replica ID", request, offsetRequestReplicaID) }