Skip to content
This repository has been archived by the owner on Dec 23, 2024. It is now read-only.

Write a single error/response type with states and do decoding once #100

Closed
KaymeKaydex opened this issue Oct 12, 2024 · 2 comments · Fixed by #99, #113 or #114
Closed

Write a single error/response type with states and do decoding once #100

KaymeKaydex opened this issue Oct 12, 2024 · 2 comments · Fixed by #99, #113 or #114

Comments

@KaymeKaydex
Copy link
Owner

tmp description


BenchmarkTestMsgpackDecodeErrors-8        3118     348698 ns/op
BenchmarkTestMsgpackDecodeErrors-8        2929     352175 ns/op
BenchmarkTestMsgpackDecodeErrors-8        3298     351561 ns/op

BenchmarkTestMsgpackDecodeErrors-8        2941     345167 ns/op
BenchmarkTestMsgpackDecodeErrors-8        3339     344878 ns/op

разница в декодинге

Вообще надо превратить декодинг в единый блок и в один тип ошибки

И эта ошибка может декодиться либо в vshard error, либо в assert error в зависимости от ситуации входящего сообщения и не вызывать несколько раз get Typed и Get()

Короче можно прямо хороший boost up выжать если сделать в 1ин тип ошибки возвращаемые

Ну то есть процентов на 10 ускорить общую обработку ответов за счет того что мы не несколько раз в интерфейсы и еще куда-то гоняем, а сразу правильно обрабатываем этот специфичный ответ

Ну то есть ответ должен содержать rawResp в виде слайса пустых интерфейсов, и 2 ошибки которые могут быть Нил это асерт и вшард ошибки, а так же «стейт» ответа
И сразу считывать туда 1им присестом, и там же обрабатывать мисматчи если формат ответа неправильный

А в функции getTyped принимать новый тип который мы определим как дженерик, а в метод ему напишем декод мсгпака где первое поле скипаем потому что там бул который юзеру не интересен

Или если можно сохранять на стейте декодинга отдельно выделенные поля на которые натравлен декодер то делать так

@KaymeKaydex
Copy link
Owner Author

#99

@nurzhan-saktaganov
Copy link
Collaborator

Custom decoder for 'vshard.storage.call' in #99 (partially resolves this issue)

nurzhan-saktaganov added a commit that referenced this issue Dec 12, 2024
- custom decoder for 'vshard.storage.call' response
KaymeKaydex added a commit that referenced this issue Dec 12, 2024
- custom decoder for 'vshard.storage.call' response

Co-authored-by: Nurzhan Saktaganov <nurzhan.saktaganov@gmail.com>
@nurzhan-saktaganov nurzhan-saktaganov linked a pull request Dec 12, 2024 that will close this issue
1 task
nurzhan-saktaganov added a commit that referenced this issue Dec 13, 2024
* custom msgpackv5 decoders
* use StorageCallVShardError instead of bucketStatError
nurzhan-saktaganov added a commit that referenced this issue Dec 13, 2024
* custom msgpackv5 decoders
* use StorageCallVShardError instead of bucketStatError
nurzhan-saktaganov added a commit that referenced this issue Dec 14, 2024
- TODO: add informative commit message
- TODO: add CHANGELOG
- TODO: add comments for public/exported things
nurzhan-saktaganov added a commit that referenced this issue Dec 14, 2024
- TODO: add informative commit message
- TODO: add CHANGELOG
- TODO: add comments for public/exported things
nurzhan-saktaganov added a commit that referenced this issue Dec 14, 2024
- TODO: add informative commit message
- TODO: add CHANGELOG
- TODO: add comments for public/exported things
nurzhan-saktaganov added a commit that referenced this issue Dec 17, 2024
* custom msgpackv5 decoders
* use StorageCallVShardError instead of bucketStatError
nurzhan-saktaganov added a commit that referenced this issue Dec 17, 2024
* custom msgpackv5 decoders
* use StorageCallVShardError instead of bucketStatError
nurzhan-saktaganov added a commit that referenced this issue Dec 17, 2024
* custom msgpackv5 decoders
* use StorageCallVShardError instead of bucketStatError
nurzhan-saktaganov added a commit that referenced this issue Dec 17, 2024
* custom msgpackv5 decoders for router_map_callrw
* new method 'RouterMapCallRW[T]'
nurzhan-saktaganov added a commit that referenced this issue Dec 17, 2024
* custom msgpackv5 decoders for router_map_callrw
* new method 'RouterMapCallRW[T]'
KaymeKaydex pushed a commit that referenced this issue Dec 18, 2024
* custom msgpackv5 decoders for router_map_callrw
* new method 'RouterMapCallRW[T]'
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
2 participants