cloudstateio / cloudstate

Distributed State Management for Serverless
https://cloudstate.io
Apache License 2.0
763 stars 97 forks source link

Fix empty streamed responses (for CRDT entities) #494

Closed pvlugter closed 3 years ago

pvlugter commented 3 years ago

Resolves #493. Fix for this was simple: don't filter out empty client actions in UserFunctionRouter. We need a first empty response to always be sent downstream, otherwise an HttpResponse is never created due to waiting for the first response to extract metadata. Empty client actions will be filtered out in CommandHandler.processReplies instead.

Added tests to the TCK for this, including a proxy intercept test that has same behaviour as the presence example but using the CRDT TCK model entity.

@marcellanz, some updates to the CRDT TCK to include for Go support.

marcellanz commented 3 years ago

@marcellanz, some updates to the CRDT TCK to include for Go support.

Thanks @pvlugter. I'll add them with https://github.com/cloudstateio/go-support/pull/56 when this PR is merged I think.