You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In case a client get request is immediately followed by another client get or subscribe request, while the first request is still collecting resources, the response for the second request may not contain the resources that was included in the response to the first request.
Since any resource sent in a response to a client get request should not be considered subscribed, any successive get or subscribe request should resend those resources if needed.
How to recreate
Assume we have a resource, test.a, which has a resource reference to another resource, test.b.
Client sends request: get.test.a
Resgate sends NATS request: get.test.a
Client sends request: get.test.b
Resgate gets result from request 3)
Resgate sends NATS request: get.test.b
Resgate gets result from request 4)
Resgate responds to request 1), including both test.a and test.b
Resgate responds to request 3) with no resource data, wrongly assuming client already has test.a
Impact
The bug has no security impact, and low impact on usage as it only affects a get request corner case. In addition, get requests are currently not used by any known client. ResClient only uses subscribe requests to fetch data, and is therefor unaffected.
The text was updated successfully, but these errors were encountered:
Issue
In case a client get request is immediately followed by another client get or subscribe request, while the first request is still collecting resources, the response for the second request may not contain the resources that was included in the response to the first request.
Since any resource sent in a response to a client get request should not be considered subscribed, any successive get or subscribe request should resend those resources if needed.
How to recreate
Assume we have a resource,
test.a
, which has a resource reference to another resource,test.b
.get.test.a
get.test.a
get.test.b
get.test.b
test.a
andtest.b
test.a
Impact
The bug has no security impact, and low impact on usage as it only affects a get request corner case. In addition, get requests are currently not used by any known client. ResClient only uses subscribe requests to fetch data, and is therefor unaffected.
The text was updated successfully, but these errors were encountered: