Fix tracing panic #23

Closed
dstepanov-yadro wants to merge 4 commits from dstepanov-yadro/frostfs-api-go:fix/tracing-panic into support/v2.15
14 changed files with 38 additions and 10 deletions

View file

@ -3,6 +3,8 @@
## [Unreleased] ## [Unreleased]
### Added ### Added
- Add impersonate flag to bearer token (#17)
### Fixed ### Fixed
### Changed ### Changed
### Updated ### Updated

View file

@ -427,6 +427,7 @@ func (bt *BearerTokenBody) ToGRPCMessage() grpc.Message {
m.SetOwnerId(bt.ownerID.ToGRPCMessage().(*refsGRPC.OwnerID)) m.SetOwnerId(bt.ownerID.ToGRPCMessage().(*refsGRPC.OwnerID))
m.SetLifetime(bt.lifetime.ToGRPCMessage().(*acl.BearerToken_Body_TokenLifetime)) m.SetLifetime(bt.lifetime.ToGRPCMessage().(*acl.BearerToken_Body_TokenLifetime))
m.SetEaclTable(bt.eacl.ToGRPCMessage().(*acl.EACLTable)) m.SetEaclTable(bt.eacl.ToGRPCMessage().(*acl.EACLTable))
m.SetImpersonate(bt.impersonate)
} }
return m return m
@ -479,6 +480,8 @@ func (bt *BearerTokenBody) FromGRPCMessage(m grpc.Message) error {
err = bt.eacl.FromGRPCMessage(eacl) err = bt.eacl.FromGRPCMessage(eacl)
} }
bt.impersonate = v.GetAllowImpersonate()
return err return err
} }

View file

@ -84,6 +84,11 @@ func (m *BearerToken_Body) SetLifetime(v *BearerToken_Body_TokenLifetime) {
m.Lifetime = v m.Lifetime = v
} }
// SetImpersonate allows impersonate.
func (m *BearerToken_Body) SetImpersonate(v bool) {
m.AllowImpersonate = v
}
// SetBody sets bearer token body. // SetBody sets bearer token body.
func (m *BearerToken) SetBody(v *BearerToken_Body) { func (m *BearerToken) SetBody(v *BearerToken_Body) {
m.Body = v m.Body = v

BIN
acl/grpc/types.pb.go generated

Binary file not shown.

View file

@ -31,6 +31,7 @@ const (
bearerTokenBodyACLField = 1 bearerTokenBodyACLField = 1
bearerTokenBodyOwnerField = 2 bearerTokenBodyOwnerField = 2
bearerTokenBodyLifetimeField = 3 bearerTokenBodyLifetimeField = 3
bearerTokenBodyImpersonate = 4
bearerTokenBodyField = 1 bearerTokenBodyField = 1
bearerTokenSignatureField = 2 bearerTokenSignatureField = 2
@ -251,7 +252,8 @@ func (bt *BearerTokenBody) StableMarshal(buf []byte) []byte {
offset += protoutil.NestedStructureMarshal(bearerTokenBodyACLField, buf[offset:], bt.eacl) offset += protoutil.NestedStructureMarshal(bearerTokenBodyACLField, buf[offset:], bt.eacl)
offset += protoutil.NestedStructureMarshal(bearerTokenBodyOwnerField, buf[offset:], bt.ownerID) offset += protoutil.NestedStructureMarshal(bearerTokenBodyOwnerField, buf[offset:], bt.ownerID)
protoutil.NestedStructureMarshal(bearerTokenBodyLifetimeField, buf[offset:], bt.lifetime) offset += protoutil.NestedStructureMarshal(bearerTokenBodyLifetimeField, buf[offset:], bt.lifetime)
protoutil.BoolMarshal(bearerTokenBodyImpersonate, buf[offset:], bt.impersonate)
return buf return buf
} }
@ -264,6 +266,7 @@ func (bt *BearerTokenBody) StableSize() (size int) {
size += protoutil.NestedStructureSize(bearerTokenBodyACLField, bt.eacl) size += protoutil.NestedStructureSize(bearerTokenBodyACLField, bt.eacl)
size += protoutil.NestedStructureSize(bearerTokenBodyOwnerField, bt.ownerID) size += protoutil.NestedStructureSize(bearerTokenBodyOwnerField, bt.ownerID)
size += protoutil.NestedStructureSize(bearerTokenBodyLifetimeField, bt.lifetime) size += protoutil.NestedStructureSize(bearerTokenBodyLifetimeField, bt.lifetime)
size += protoutil.BoolSize(bearerTokenBodyImpersonate, bt.impersonate)
return size return size
} }

View file

@ -52,6 +52,8 @@ type BearerTokenBody struct {
ownerID *refs.OwnerID ownerID *refs.OwnerID
lifetime *TokenLifetime lifetime *TokenLifetime
impersonate bool
} }
type BearerToken struct { type BearerToken struct {
@ -340,6 +342,18 @@ func (bt *BearerTokenBody) SetLifetime(v *TokenLifetime) {
bt.lifetime = v bt.lifetime = v
} }
func (bt *BearerTokenBody) GetImpersonate() bool {
if bt != nil {
return bt.impersonate
}
return false
}
func (bt *BearerTokenBody) SetImpersonate(v bool) {
bt.impersonate = v
}
func (bt *BearerToken) GetBody() *BearerTokenBody { func (bt *BearerToken) GetBody() *BearerTokenBody {
if bt != nil { if bt != nil {
return bt.body return bt.body

Binary file not shown.

View file

@ -109,7 +109,7 @@ func (m *PutRequest_Body_Init) SetHeader(v *Header) {
} }
// SetCopiesNumber sets number of the copies to save. // SetCopiesNumber sets number of the copies to save.
func (m *PutRequest_Body_Init) SetCopiesNumber(v uint32) { func (m *PutRequest_Body_Init) SetCopiesNumber(v []uint32) {
m.CopiesNumber = v m.CopiesNumber = v
} }

Binary file not shown.

Binary file not shown.

View file

@ -516,7 +516,7 @@ func (r *PutObjectPartInit) StableMarshal(buf []byte) []byte {
offset += proto.NestedStructureMarshal(putReqInitObjectIDField, buf[offset:], r.id) offset += proto.NestedStructureMarshal(putReqInitObjectIDField, buf[offset:], r.id)
offset += proto.NestedStructureMarshal(putReqInitSignatureField, buf[offset:], r.sig) offset += proto.NestedStructureMarshal(putReqInitSignatureField, buf[offset:], r.sig)
offset += proto.NestedStructureMarshal(putReqInitHeaderField, buf[offset:], r.hdr) offset += proto.NestedStructureMarshal(putReqInitHeaderField, buf[offset:], r.hdr)
proto.UInt32Marshal(putReqInitCopiesNumField, buf[offset:], r.copyNum) proto.RepeatedUInt32Marshal(putReqInitCopiesNumField, buf[offset:], r.copyNum)
return buf return buf
} }
@ -529,7 +529,9 @@ func (r *PutObjectPartInit) StableSize() (size int) {
size += proto.NestedStructureSize(putReqInitObjectIDField, r.id) size += proto.NestedStructureSize(putReqInitObjectIDField, r.id)
size += proto.NestedStructureSize(putReqInitSignatureField, r.sig) size += proto.NestedStructureSize(putReqInitSignatureField, r.sig)
size += proto.NestedStructureSize(putReqInitHeaderField, r.hdr) size += proto.NestedStructureSize(putReqInitHeaderField, r.hdr)
size += proto.UInt32Size(putReqInitCopiesNumField, r.copyNum)
arrSize, _ := proto.RepeatedUInt32Size(putReqInitCopiesNumField, r.copyNum)
size += arrSize
return size return size
} }

View file

@ -216,7 +216,7 @@ func GeneratePutObjectPartInit(empty bool) *object.PutObjectPartInit {
m := new(object.PutObjectPartInit) m := new(object.PutObjectPartInit)
if !empty { if !empty {
m.SetCopiesNumber(234) m.SetCopiesNumber([]uint32{234})
m.SetObjectID(refstest.GenerateObjectID(false)) m.SetObjectID(refstest.GenerateObjectID(false))
} }

View file

@ -128,7 +128,7 @@ type PutObjectPartInit struct {
hdr *Header hdr *Header
copyNum uint32 copyNum []uint32
} }
type PutObjectPartChunk struct { type PutObjectPartChunk struct {
@ -894,15 +894,15 @@ func (r *PutObjectPartInit) SetHeader(v *Header) {
r.hdr = v r.hdr = v
} }
func (r *PutObjectPartInit) GetCopiesNumber() uint32 { func (r *PutObjectPartInit) GetCopiesNumber() []uint32 {
if r != nil { if r != nil {
return r.copyNum return r.copyNum
} }
return 0 return nil
} }
func (r *PutObjectPartInit) SetCopiesNumber(v uint32) { func (r *PutObjectPartInit) SetCopiesNumber(v []uint32) {
r.copyNum = v r.copyNum = v
} }

View file

@ -51,7 +51,6 @@ func NewGRPCStreamClientInterceptor() grpc.StreamClientInterceptor {
strWrp := newgRPCClientStream(str, desc, finished, done) strWrp := newgRPCClientStream(str, desc, finished, done)
go func() { go func() {
defer close(finished)
defer close(done) defer close(done)
defer span.End() defer span.End()