-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
added reply to initiator functionality to sagas #157
Conversation
type SagaInvocation interface { | ||
ReplyToInitiator(ctx context.Context, message *BusMessage) error | ||
//HostingSvc returns the svc name that is executing the service | ||
HostingSvc() string |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
shouldn't this match InvokingSvc
?
defer span.Finish() | ||
sginv := &sagaInvocation{ | ||
decoratedBus: invocation.Bus(), | ||
decoratedInvocation: invocation, | ||
inboundMsg: message, | ||
sagaID: instance.ID, | ||
ctx: sctx, | ||
invokingService: imsm.svcName, | ||
hostingSvc: imsm.svcName, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
shouldn't this be invokingSvc
?
@@ -17,7 +18,15 @@ type sagaInvocation struct { | |||
inboundMsg *gbus.BusMessage | |||
sagaID string | |||
ctx context.Context | |||
invokingService string | |||
//the service that is executing the saga instance | |||
hostingSvc string |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
shouldn't this be: invokingSvc
?
* inceased outbox VARCHAR column length to 2048 (#155) * added reply to initiator functionality to sagas (#157) * added generic handler metrics with message type as the label (#144) * added generic handler metrics with message type as the label * add handler name label to the metrics * adding new metrics to the read me * Fix handle empty body (#156) * set the correct Type and Content-Type headers on out going messages (#160) * set the correct Type and Content-Type headers on out going messages * refactoring * fixing ReplyToInitiator not working when initiator sends a message via the RPC interface (#163) * fixing ReplyToInitiator not working when initiator sends a message via the RPC interface * Improved wording of saga documentation article (#164) * better wording for documentation * added golangcli lint configuration and fixed linting failures (#165) * fixed logging issues (#167) * allow getting the saga id of the current invoked saga (#168) * setting the target saga id on the saga correlation id field (#171) * support emperror (#174) * setting the target saga id on the saga correlation id field * added emperror support * Fix logging and added logging documentation (#176) * fixed logging issues and added documentation logging via the invocation interface was broken and did not add contextual data related to the invocation due to a bug in the way the Glogged structure is currently implemented. Also added documentation on how logging should be done within a handler including adding context to returned errors so that data gets logged * added missing documentation file * added documentation on serialization support (#177) * fixed emperror url format * added serialization documentation
* inceased outbox VARCHAR column length to 2048 (#155) * added reply to initiator functionality to sagas (#157) * added generic handler metrics with message type as the label (#144) * added generic handler metrics with message type as the label * add handler name label to the metrics * adding new metrics to the read me * Fix handle empty body (#156) * set the correct Type and Content-Type headers on out going messages (#160) * set the correct Type and Content-Type headers on out going messages * refactoring * fixing ReplyToInitiator not working when initiator sends a message via the RPC interface (#163) * fixing ReplyToInitiator not working when initiator sends a message via the RPC interface * Improved wording of saga documentation article (#164) * better wording for documentation * added golangcli lint configuration and fixed linting failures (#165) * fixed logging issues (#167) * allow getting the saga id of the current invoked saga (#168) * setting the target saga id on the saga correlation id field (#171) * support emperror (#174) * setting the target saga id on the saga correlation id field * added emperror support * Fix logging and added logging documentation (#176) * fixed logging issues and added documentation logging via the invocation interface was broken and did not add contextual data related to the invocation due to a bug in the way the Glogged structure is currently implemented. Also added documentation on how logging should be done within a handler including adding context to returned errors so that data gets logged * added missing documentation file * added documentation on serialization support (#177) * fixed emperror url format * added serialization documentation * added documentation for messaging patterns, retries and transactional processing (#181) * fixed emperror url format * added serialization documentation * added documentation for message semantics, retries and transactions * Fix docmentation (#182) * fixed emperror url format * added serialization documentation * added documentation for message semantics, retries and transactions * fixing tx documentation page * Added sample application (#184) * Update README.md * added ability to configure outbox (#186) * fixing issues with invoking the GlobalrawMessageHandler (#189) Fixing the following issues: #187 #188 * Saga bug fixes (#198) * fixing the way that the target service was resolved closes #195 #195 * Fixing the value of the StartedBy field when creating a new saga instance closes #194 #194 * rolling back checking if replying to an event to maintain backward compatibility * logging a Warn instead of rejecting the message when saga not found in store closes #196 #196 * fixing minor tech debt issues (#199) * v1.1.5 rollup to master (#185) * fix(bug:200) logs are now being reported correctly Fixes issue #200 Also updated go.mod for newer versions of dependancies * added metrics for transactional outbox (#193) * added metrics for transactional outbox The follwoing metrics were added outbox_total_records: reports the total amount of records currently in the outbox outbox_pending_delivery: reports the total amount of records pending delivery currently in the outbox outbox_pending_removal: reports the total amount of records that were sent and pending removal currently in the outbox * reading status and count fields in the correct order from rows * service name now gets added to log entries when a custom logger is set or in saga store (#204) * service name now gets added to log entries when a custom logger is set #200 * fixing issue that the saga store was not adding the service to its log entires #206 * Fix logging (#207) * service name now gets added to log entries when a custom logger is set #200 * fixing issue that the saga store was not adding the service to its log entires #206 * fixing minor issue with logging saga store initialization * Add support for setting the idempotency key on a BusMessage (#208) * Added x-idempotency-key header and the ability for client code to set it #106 * Set the value of BusMessage.ID as the default value of BusMessage.IdempotencyKey * fixing issue with txoutbox failing to deliver a message after 50 (#205) failed attempts #203 * Allow correctly replaying Events (#190) * refactored returnDeadToQueue to allow correctly returning Events as well as Messages(commands) * fixed lint issues * code review fixes * more review comments * minor change to force coveralls to rebuild * returnDeadToQueue - changed routing-key to always be that routing-key of the first death, not the latest death, also refactored naming and added comment for clarity * moved getRoutingParamsFromDelivery to worker.go * fixed type in migration name attribute (#213) * adding all logging context data to worker and saga log entries (#215) * adding all logging context data to worker and saga log entries * added logging with context when command or reply received for saga def but no saga correlation id found * removing minor discrepancies and updating documentation
* added reply to initiator functionality to sagas (#157) * added generic handler metrics with message type as the label (#144) * added generic handler metrics with message type as the label * add handler name label to the metrics * adding new metrics to the read me * Fix handle empty body (#156) * fixing ReplyToInitiator not working when initiator sends a message via the RPC interface (#163) * fixing ReplyToInitiator not working when initiator sends a message via the RPC interface * Improved wording of saga documentation article (#164) * better wording for documentation * added golangcli lint configuration and fixed linting failures (#165) * Fix logging and added logging documentation (#176) * fixed logging issues and added documentation logging via the invocation interface was broken and did not add contextual data related to the invocation due to a bug in the way the Glogged structure is currently implemented. Also added documentation on how logging should be done within a handler including adding context to returned errors so that data gets logged * added missing documentation file * added documentation on serialization support (#177) * fixed emperror url format * added serialization documentation * added documentation for messaging patterns, retries and transactional processing (#181) * fixed emperror url format * added serialization documentation * added documentation for message semantics, retries and transactions * Added sample application (#184) * fixing minor tech debt issues (#199) * fix(bug:200) logs are now being reported correctly Fixes issue #200 Also updated go.mod for newer versions of dependancies * fix wrongly set correlation ids when sending a command (#220) * adding the SagaCorrelationID header only for replies Fixing a bug where grabbit would set the message.CorrelationID and the message.SagaCorrelationID header even if the message was a command and not a reply. * fixing minor documentation issue * only sending headers over the wire if they contain a value (#222) * only sending headers over the wire if they contain a value fixing #221 * deleting file that was added by mistake * goodbye (#223) * goodbye * Fixing my last bug :) * Add saga latency metric (#224) records the execution time of the entire saga, from it's creation until deletion (in ms). having the "Service", "SagaType", "Initiator" as labels|
#63