-
Enhancement
-
Resolution: Unresolved
-
Major
-
None
-
None
-
False
-
None
-
False
Feature request or enhancement
See this conversation: Link
In https://github.com/debezium/debezium/pull/3693 we added the username column to the source info block. Recently, I discovered that the username returns null in some cases. On investigation and using information from oracle support link, I found that the username and other user session info will return unknown based on the logs that are gathered.
In particular, when transactions are mined in two steps, the username will be shown as unknown. As a workaround, lob.enabled can be used but ideally it would be nice to have the username populated without needing to set this as the above has side-effects like e.g. no longer being able to use hybrid.
Implementation ideas (optional)
Some things I've been considering...
- Perhaps the username can be cached similar to how previously searched objectids are handled in Hybrid mode? Issue here may be in cases where log.mining.query.filter.mode=in and the transaction contains multiple tables though
- A new mode that never splits transactions similar to lob.enabled and then a slight revamp to allow e.g. hybrid to work in this mode. Perhaps log.mining.batch.size.increment should have a more aggressive value by default also when this mode is activated? There are a few other corner cases as well where Oracle will generate "UNSUPPORTED" transactions when the whole transaction isn't mined in one step.