Skip to content
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

TraceId changed in TransactionSynchronizationFactory #9743

Closed
syedyusufh opened this issue Jan 6, 2025 · 1 comment
Closed

TraceId changed in TransactionSynchronizationFactory #9743

syedyusufh opened this issue Jan 6, 2025 · 1 comment

Comments

@syedyusufh
Copy link

TraceId is getting changed when the Poller of an IntegrationFlow is bound transactional.

Sample to debug available at https://github.com/syedyusufh/transaction-sync-traceid

2025-01-05T21:33:21.726+04:00[ INFO 1396 --- [transaction-sync-traceid] [   scheduling-1] [677ac2610ebc3f65f920ea37a7aa2cb8-f920ea37a7aa2cb8] [0;39m[36mc.i.s.c.PollerWithTransactionFlowConfig  :Supplied Message is: Good Day
2025-01-05T21:33:21.733+04:00[ INFO 1396 --- [transaction-sync-traceid] [   scheduling-1] [677ac26181d6b7f5f53ebcee6f7e914a-f53ebcee6f7e914a] [0;39m[36mc.i.sample.config.TransactionConfig      :Transaction Committed, but traceId is different here !!

SO Reference - https://stackoverflow.com/questions/79331223/spring-integration-traceid-changed-in-transactionsynchronizationfactory

@syedyusufh syedyusufh added status: waiting-for-triage The issue need to be evaluated and its future decided type: bug labels Jan 6, 2025
@artembilan artembilan added this to the 6.5.0-M1 milestone Jan 6, 2025
@artembilan artembilan added type: enhancement in: core and removed type: bug status: waiting-for-triage The issue need to be evaluated and its future decided labels Jan 6, 2025
@artembilan
Copy link
Member

Essentially a SourcePollingChannelAdapter must start an observation when it polls a message.
For a consistency with tracing chain, I believe this SourcePollingChannelAdapter is Kind.CONSUMER.
The point is that it is "handling" message to the channel which is Kind.PRODUCER.
The PollingConsumer is covered by the connection between channel as a producer Kind.PRODUCER and MessageHandler as a Kind.CONSUMER.
So, we don't need any extra observation specific for this endpoint implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants