[#362] pool: Don't use default session token for read #8

Merged
KirillovDenis merged 1 commit from feature/362-drop_session_for_read_opreations_in_pool into master 2023-07-26 21:08:01 +00:00
2 changed files with 6 additions and 26 deletions

View file

@ -2074,11 +2074,6 @@ type ResGetObject struct {
// //
// Main return value MUST NOT be processed on an erroneous return. // Main return value MUST NOT be processed on an erroneous return.
func (p *Pool) GetObject(ctx context.Context, prm PrmObjectGet) (ResGetObject, error) { func (p *Pool) GetObject(ctx context.Context, prm PrmObjectGet) (ResGetObject, error) {
var prmCtx prmContext
prmCtx.useDefaultSession()
prmCtx.useVerb(session.VerbObjectGet)
prmCtx.useAddress(prm.addr)
p.fillAppropriateKey(&prm.prmCommon) p.fillAppropriateKey(&prm.prmCommon)
var cc callContext var cc callContext
@ -2087,7 +2082,7 @@ func (p *Pool) GetObject(ctx context.Context, prm PrmObjectGet) (ResGetObject, e
var res ResGetObject var res ResGetObject
err := p.initCallContext(&cc, prm.prmCommon, prmCtx) err := p.initCallContext(&cc, prm.prmCommon, prmContext{})
if err != nil { if err != nil {
return res, err return res, err
} }
@ -2102,11 +2097,6 @@ func (p *Pool) GetObject(ctx context.Context, prm PrmObjectGet) (ResGetObject, e
// //
// Main return value MUST NOT be processed on an erroneous return. // Main return value MUST NOT be processed on an erroneous return.
func (p *Pool) HeadObject(ctx context.Context, prm PrmObjectHead) (object.Object, error) { func (p *Pool) HeadObject(ctx context.Context, prm PrmObjectHead) (object.Object, error) {
var prmCtx prmContext
prmCtx.useDefaultSession()
prmCtx.useVerb(session.VerbObjectHead)
prmCtx.useAddress(prm.addr)
p.fillAppropriateKey(&prm.prmCommon) p.fillAppropriateKey(&prm.prmCommon)
var cc callContext var cc callContext
@ -2116,7 +2106,7 @@ func (p *Pool) HeadObject(ctx context.Context, prm PrmObjectHead) (object.Object
var obj object.Object var obj object.Object
err := p.initCallContext(&cc, prm.prmCommon, prmCtx) err := p.initCallContext(&cc, prm.prmCommon, prmContext{})
if err != nil { if err != nil {
return obj, err return obj, err
} }
@ -2157,11 +2147,6 @@ func (x *ResObjectRange) Close() error {
// //
// Main return value MUST NOT be processed on an erroneous return. // Main return value MUST NOT be processed on an erroneous return.
func (p *Pool) ObjectRange(ctx context.Context, prm PrmObjectRange) (ResObjectRange, error) { func (p *Pool) ObjectRange(ctx context.Context, prm PrmObjectRange) (ResObjectRange, error) {
var prmCtx prmContext
prmCtx.useDefaultSession()
prmCtx.useVerb(session.VerbObjectRange)
prmCtx.useAddress(prm.addr)
p.fillAppropriateKey(&prm.prmCommon) p.fillAppropriateKey(&prm.prmCommon)
var cc callContext var cc callContext
@ -2170,7 +2155,7 @@ func (p *Pool) ObjectRange(ctx context.Context, prm PrmObjectRange) (ResObjectRa
var res ResObjectRange var res ResObjectRange
err := p.initCallContext(&cc, prm.prmCommon, prmCtx) err := p.initCallContext(&cc, prm.prmCommon, prmContext{})
if err != nil { if err != nil {
return res, err return res, err
} }
@ -2224,11 +2209,6 @@ func (x *ResObjectSearch) Close() {
// //
// Main return value MUST NOT be processed on an erroneous return. // Main return value MUST NOT be processed on an erroneous return.
func (p *Pool) SearchObjects(ctx context.Context, prm PrmObjectSearch) (ResObjectSearch, error) { func (p *Pool) SearchObjects(ctx context.Context, prm PrmObjectSearch) (ResObjectSearch, error) {
var prmCtx prmContext
prmCtx.useDefaultSession()
prmCtx.useVerb(session.VerbObjectSearch)
prmCtx.useContainer(prm.cnrID)
p.fillAppropriateKey(&prm.prmCommon) p.fillAppropriateKey(&prm.prmCommon)
var cc callContext var cc callContext
@ -2238,7 +2218,7 @@ func (p *Pool) SearchObjects(ctx context.Context, prm PrmObjectSearch) (ResObjec
var res ResObjectSearch var res ResObjectSearch
err := p.initCallContext(&cc, prm.prmCommon, prmCtx) err := p.initCallContext(&cc, prm.prmCommon, prmContext{})
if err != nil { if err != nil {
return res, err return res, err
} }

View file

@ -413,12 +413,12 @@ func TestSessionCacheWithKey(t *testing.T) {
st, _ := pool.cache.Get(formCacheKey(cp.address(), pool.key)) st, _ := pool.cache.Get(formCacheKey(cp.address(), pool.key))
require.True(t, st.AssertAuthKey(&expectedAuthKey)) require.True(t, st.AssertAuthKey(&expectedAuthKey))
var prm PrmObjectGet var prm PrmObjectDelete
prm.SetAddress(oid.Address{}) prm.SetAddress(oid.Address{})
anonKey := newPrivateKey(t) anonKey := newPrivateKey(t)
prm.UseKey(anonKey) prm.UseKey(anonKey)
_, err = pool.GetObject(ctx, prm) err = pool.DeleteObject(ctx, prm)
require.NoError(t, err) require.NoError(t, err)
st, _ = pool.cache.Get(formCacheKey(cp.address(), anonKey)) st, _ = pool.cache.Get(formCacheKey(cp.address(), anonKey))
require.True(t, st.AssertAuthKey(&expectedAuthKey)) require.True(t, st.AssertAuthKey(&expectedAuthKey))