Cursory look during migration to MD-SAL APIs reveals this component is not properly closing read-only transactions.
Audit all callers and make sure transactions are used in a proper try-with-resources block. While we are in the area, it seems the results of the call could use Optional.map() handling rather than the explicit isPresent()/get() combo.