@@ -18,6 +18,7 @@ import (
1818 // standard libraries.
1919 "context"
2020 "math"
21+ "time"
2122
2223 // third-party libraries.
2324 "go.opentelemetry.io/otel/trace"
@@ -26,7 +27,7 @@ import (
2627 // first-party libraries.
2728 "github.com/linkall-labs/vanus/observability/tracing"
2829 "github.com/linkall-labs/vanus/pkg/controller"
29- ctlpb "github.com/linkall-labs/vanus/proto/pkg/controller"
30+ ctrlpb "github.com/linkall-labs/vanus/proto/pkg/controller"
3031 metapb "github.com/linkall-labs/vanus/proto/pkg/meta"
3132
3233 // this project.
@@ -42,15 +43,15 @@ func NewNameService(endpoints []string) *NameService {
4243}
4344
4445type NameService struct {
45- client ctlpb .EventLogControllerClient
46+ client ctrlpb .EventLogControllerClient
4647 tracer * tracing.Tracer
4748}
4849
4950func (ns * NameService ) LookupWritableSegment (ctx context.Context , logID uint64 ) (* record.Segment , error ) {
5051 ctx , span := ns .tracer .Start (ctx , "LookupWritableSegment" )
5152 defer span .End ()
5253
53- req := & ctlpb .GetAppendableSegmentRequest {
54+ req := & ctrlpb .GetAppendableSegmentRequest {
5455 EventLogId : logID ,
5556 Limited : 1 ,
5657 }
@@ -71,7 +72,7 @@ func (ns *NameService) LookupReadableSegments(ctx context.Context, logID uint64)
7172 ctx , span := ns .tracer .Start (ctx , "LookupReadableSegments" )
7273 defer span .End ()
7374
74- req := & ctlpb .ListSegmentRequest {
75+ req := & ctrlpb .ListSegmentRequest {
7576 EventLogId : logID ,
7677 StartOffset : 0 ,
7778 EndOffset : math .MaxInt64 ,
@@ -87,13 +88,13 @@ func (ns *NameService) LookupReadableSegments(ctx context.Context, logID uint64)
8788 return segments , nil
8889}
8990
90- func toSegments (segmentpbs []* metapb.Segment ) []* record.Segment {
91- if len (segmentpbs ) == 0 {
91+ func toSegments (pbs []* metapb.Segment ) []* record.Segment {
92+ if len (pbs ) == 0 {
9293 return make ([]* record.Segment , 0 )
9394 }
94- segments := make ([]* record.Segment , 0 , len (segmentpbs ))
95- for _ , segmentpb := range segmentpbs {
96- segment := toSegment (segmentpb )
95+ segments := make ([]* record.Segment , 0 , len (pbs ))
96+ for _ , pb := range pbs {
97+ segment := toSegment (pb )
9798 segments = append (segments , segment )
9899 // only return first working segment
99100 if segment .Writable {
@@ -103,23 +104,22 @@ func toSegments(segmentpbs []*metapb.Segment) []*record.Segment {
103104 return segments
104105}
105106
106- func toSegment (segmentpb * metapb.Segment ) * record.Segment {
107- blocks := make (map [uint64 ]* record.Block , len (segmentpb .Replicas ))
108- for blockID , blockpb := range segmentpb .Replicas {
107+ func toSegment (segment * metapb.Segment ) * record.Segment {
108+ blocks := make (map [uint64 ]* record.Block , len (segment .Replicas ))
109+ for blockID , block := range segment .Replicas {
109110 blocks [blockID ] = & record.Block {
110- ID : blockpb .Id ,
111- Endpoint : blockpb .Endpoint ,
111+ ID : block .Id ,
112+ Endpoint : block .Endpoint ,
112113 }
113114 }
114- segment := & record.Segment {
115- ID : segmentpb .GetId (),
116- StartOffset : segmentpb .GetStartOffsetInLog (),
117- // TODO align to server side
118- EndOffset : segmentpb . GetEndOffsetInLog () + 1 ,
119- // TODO: writable
120- Writable : segmentpb .State == "working" ,
121- Blocks : blocks ,
122- LeaderBlockID : segmentpb .GetLeaderBlockId (),
115+ return & record.Segment {
116+ ID : segment .GetId (),
117+ StartOffset : segment .GetStartOffsetInLog (),
118+ EndOffset : segment . GetEndOffsetInLog (),
119+ FirstEventBornAt : time . UnixMilli ( segment . FirstEventBornAtByUnixMs ) ,
120+ LastEventBornAt : time . UnixMilli ( segment . LastEvnetBornAtByUnixMs ),
121+ Writable : segment .State == "working" , // TODO: writable
122+ Blocks : blocks ,
123+ LeaderBlockID : segment .GetLeaderBlockId (),
123124 }
124- return segment
125125}
0 commit comments