google.protobuf.message.DecodeError when passed objects with nested levels above 30
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
Direção de pesquisa
Comece reproduzindo a falha com o manifesto composite aninhado mostrado na issue e, em seguida, rastreie a serialização e a decodificação de RunFunctionRequest que relata google.protobuf.message.DecodeError. Compare o tratamento de valores de entrada profundamente aninhados com o caso bem-sucedido de recurso de saída mencionado; considera-se concluído quando uma chamada de função aceita o aninhamento demonstrado sem esse erro de decodificação.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
What happened?
We have composition that generates or consumes values with a high level of nested sub-values. (Those are CRDs that we are using with the Kubernetes Provider)
When going over 30 levels of imbrication the error below is raised
crossplane: error: cannot render composite resource: cannot run pipeline step "blueprint": rpc error: code = Unknown desc = Unexpected <class 'google.protobuf.message.DecodeError'>: Error parsing message with type 'apiextensions.fn.proto.v1.RunFunctionRequest'
How can we reproduce it?
`
apiVersion: <APIVERSION>
kind: XCOMPO
metadata:
name: <NAME>
spec:
debug:
level0:
level1:
level2:
level3:
level4:
level5:
level6:
level7:
level8:
level9:
level10:
level11:
level12:
level13:
level14:
level15:
level16:
level17:
level18:
level19:
level20:
level21:
level22:
level23:
level24:
level25:
level26:
level27:
level28:
level29:
Running ☝ this composite would faild if there is a level30 as child of level29.
Could this be linked to the limits set in Protobuf (https://github.com/protocolbuffers/protobuf/issues/6537) ?
Note: there is no issue when outputing resources with more than 30 levels. (ie: running something like
rsp.desired.resources["toto"].resource.update(resources)
Where resources has more than 30 levels.
It is only when the function is called with too many depth inputs that the exception is raised.
What environment did it happen in?
Function version:
0.6.0
- Linguagem predominante
- Python
- Estrelas
- 12
- Forks
- 15
- Merge médio
- 1d 12h
- PRs com merge (30d)
- 7
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de crossplane/function-sdk-python
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
-
enhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 42/100
-
enhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
crossplane/function-sdk-python#199 · 4 comentários · 3 reações ·
-
Dependency Dashboard Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 10/100
-
enhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
crossplane/function-sdk-python#5 · 1 comentário ·
Todas as issues de crossplane/function-sdk-python
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
anthropics/skills#1811 · 1 comentário ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
speaches-ai/speaches#678 ·
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
datalayer/mcp-compose#42 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
conda-forge/spacy-feedstock#177 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
UKGovernmentBEIS/inspect_evals#2523 ·